Diff
Modified: releases/WebKitGTK/webkit-1.4/LayoutTests/ChangeLog (88042 => 88043)
--- releases/WebKitGTK/webkit-1.4/LayoutTests/ChangeLog 2011-06-03 20:22:09 UTC (rev 88042)
+++ releases/WebKitGTK/webkit-1.4/LayoutTests/ChangeLog 2011-06-03 20:28:11 UTC (rev 88043)
@@ -1,3 +1,14 @@
+2011-04-28 Arno Renevier <[email protected]>
+
+ Reviewed by Gustavo Noronha Silva.
+
+ [Soup] does not load css stylesheets without content-type
+ https://bugs.webkit.org/show_bug.cgi?id=59697
+
+ * platform/gtk/Skipped: Enable now passing tests:
+ - http/tests/mime/standard-mode-loads-stylesheet-with-empty-content-type.html
+ - http/tests/mime/standard-mode-loads-stylesheet-with-text-css-and-invalid-type.html
+
2011-05-12 Adam Barth <[email protected]>
Reviewed by Darin Adler.
Modified: releases/WebKitGTK/webkit-1.4/LayoutTests/platform/gtk/Skipped (88042 => 88043)
--- releases/WebKitGTK/webkit-1.4/LayoutTests/platform/gtk/Skipped 2011-06-03 20:22:09 UTC (rev 88042)
+++ releases/WebKitGTK/webkit-1.4/LayoutTests/platform/gtk/Skipped 2011-06-03 20:28:11 UTC (rev 88043)
@@ -505,8 +505,6 @@
http/tests/media/video-play-stall-seek.html
http/tests/media/video-play-stall.html
http/tests/media/video-seekable-stall.html
-http/tests/mime/standard-mode-loads-stylesheet-with-empty-content-type.html
-http/tests/mime/standard-mode-loads-stylesheet-with-text-css-and-invalid-type.html
http/tests/misc/acid3.html
http/tests/misc/policy-delegate-called-twice.html
http/tests/misc/prefetch-purpose.html
@@ -1341,3 +1339,7 @@
# https://bugs.webkit.org/show_bug.cgi?id=56599
editing/deleting/5206311-1.html
+
+# Unskip when https://bugs.webkit.org/show_bug.cgi?id=59571 is fixed
+fast/dom/shadow/no-renderers-for-light-children.html+fast/dom/shadow/no-renderers-for-light-children.html
+
Modified: releases/WebKitGTK/webkit-1.4/Source/WebCore/ChangeLog (88042 => 88043)
--- releases/WebKitGTK/webkit-1.4/Source/WebCore/ChangeLog 2011-06-03 20:22:09 UTC (rev 88042)
+++ releases/WebKitGTK/webkit-1.4/Source/WebCore/ChangeLog 2011-06-03 20:28:11 UTC (rev 88043)
@@ -1,3 +1,22 @@
+2011-04-28 Arno Renevier <[email protected]>
+
+ Reviewed by Gustavo Noronha Silva.
+
+ [Soup] does not load css stylesheets without content-type
+ https://bugs.webkit.org/show_bug.cgi?id=59697
+
+ When sniffing content type, do not replace http Content-Type header in
+ soup message anymore, but keep sniffed content type in a separate
+ variable.
+
+ * platform/network/soup/ResourceHandleSoup.cpp:
+ (WebCore::contentSniffedCallback):
+ * platform/network/soup/ResourceResponse.h:
+ (WebCore::ResourceResponse::sniffedContentType):
+ (WebCore::ResourceResponse::setSniffedContentType):
+ * platform/network/soup/ResourceResponseSoup.cpp:
+ (WebCore::ResourceResponse::updateFromSoupMessage):
+
2011-05-26 Igor Oliveira <[email protected]>
Reviewed by Andreas Kling.
Modified: releases/WebKitGTK/webkit-1.4/Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp (88042 => 88043)
--- releases/WebKitGTK/webkit-1.4/Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp 2011-06-03 20:22:09 UTC (rev 88042)
+++ releases/WebKitGTK/webkit-1.4/Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp 2011-06-03 20:28:11 UTC (rev 88043)
@@ -321,13 +321,7 @@
// This callback will not be called if the content sniffer is disabled in startHTTPRequest.
static void contentSniffedCallback(SoupMessage* msg, const char* sniffedType, GHashTable *params, gpointer data)
{
- if (sniffedType) {
- const char* officialType = soup_message_headers_get_one(msg->response_headers, "Content-Type");
- if (!officialType || strcmp(officialType, sniffedType))
- soup_message_headers_set_content_type(msg->response_headers, sniffedType, params);
- }
-
if (statusWillBeHandledBySoup(msg->status_code))
return;
@@ -343,6 +337,24 @@
ASSERT(d->m_response.isNull());
+ if (sniffedType) {
+ const char* officialType = soup_message_headers_get_one(msg->response_headers, "Content-Type");
+ if (!officialType || strcmp(officialType, sniffedType)) {
+ GString* str = g_string_new(sniffedType);
+ if (params) {
+ GHashTableIter iter;
+ gpointer key, value;
+ g_hash_table_iter_init(&iter, params);
+ while (g_hash_table_iter_next(&iter, &key, &value)) {
+ g_string_append(str, "; ");
+ soup_header_g_string_append_param(str, static_cast<const char*>(key), static_cast<const char*>(value));
+ }
+ }
+ d->m_response.setSniffedContentType(str->str);
+ g_string_free(str, TRUE);
+ }
+ }
+
fillResponseFromMessage(msg, &d->m_response);
client->didReceiveResponse(handle.get(), d->m_response);
}
Modified: releases/WebKitGTK/webkit-1.4/Source/WebCore/platform/network/soup/ResourceResponse.h (88042 => 88043)
--- releases/WebKitGTK/webkit-1.4/Source/WebCore/platform/network/soup/ResourceResponse.h 2011-06-03 20:22:09 UTC (rev 88042)
+++ releases/WebKitGTK/webkit-1.4/Source/WebCore/platform/network/soup/ResourceResponse.h 2011-06-03 20:28:11 UTC (rev 88043)
@@ -58,10 +58,14 @@
SoupMessageFlags soupMessageFlags() const { return m_soupFlags; }
void setSoupMessageFlags(SoupMessageFlags soupFlags) { m_soupFlags = soupFlags; }
+ const String& sniffedContentType() const { return m_sniffedContentType; }
+ void setSniffedContentType(const String& value) { m_sniffedContentType = value; }
+
private:
friend class ResourceResponseBase;
SoupMessageFlags m_soupFlags;
+ String m_sniffedContentType;
void doUpdateResourceResponse() { }
Modified: releases/WebKitGTK/webkit-1.4/Source/WebCore/platform/network/soup/ResourceResponseSoup.cpp (88042 => 88043)
--- releases/WebKitGTK/webkit-1.4/Source/WebCore/platform/network/soup/ResourceResponseSoup.cpp 2011-06-03 20:22:09 UTC (rev 88042)
+++ releases/WebKitGTK/webkit-1.4/Source/WebCore/platform/network/soup/ResourceResponseSoup.cpp 2011-06-03 20:28:11 UTC (rev 88043)
@@ -71,7 +71,11 @@
m_soupFlags = soup_message_get_flags(soupMessage);
- String contentType = soup_message_headers_get_one(soupMessage->response_headers, "Content-Type");
+ String contentType;
+ if (sniffedContentType().isEmpty())
+ contentType = soup_message_headers_get_one(soupMessage->response_headers, "Content-Type");
+ else
+ contentType = this->sniffedContentType();
setMimeType(extractMIMETypeFromMediaType(contentType));
setTextEncodingName(extractCharsetFromMediaType(contentType));