Changeset 85207 in webkit
- Timestamp:
- Apr 28, 2011 10:49:20 AM (13 years ago)
- Location:
- trunk
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r85205 r85207 1 2011-04-28 Arno Renevier <arno@renevier.net> 2 3 Reviewed by Gustavo Noronha Silva. 4 5 [Soup] does not load css stylesheets without content-type 6 https://bugs.webkit.org/show_bug.cgi?id=59697 7 8 * platform/gtk/Skipped: Enable now passing tests: 9 - http/tests/mime/standard-mode-loads-stylesheet-with-empty-content-type.html 10 - http/tests/mime/standard-mode-loads-stylesheet-with-text-css-and-invalid-type.html 11 1 12 2011-04-28 Adam Roben <aroben@apple.com> 2 13 -
trunk/LayoutTests/platform/gtk/Skipped
r85082 r85207 516 516 http/tests/media/video-play-stall.html 517 517 http/tests/media/video-seekable-stall.html 518 http/tests/mime/standard-mode-loads-stylesheet-with-empty-content-type.html519 http/tests/mime/standard-mode-loads-stylesheet-with-text-css-and-invalid-type.html520 518 http/tests/misc/acid3.html 521 519 http/tests/misc/link-rel-prefetch-and-subresource.html -
trunk/Source/WebCore/ChangeLog
r85206 r85207 1 2011-04-28 Arno Renevier <arno@renevier.net> 2 3 Reviewed by Gustavo Noronha Silva. 4 5 [Soup] does not load css stylesheets without content-type 6 https://bugs.webkit.org/show_bug.cgi?id=59697 7 8 When sniffing content type, do not replace http Content-Type header in 9 soup message anymore, but keep sniffed content type in a separate 10 variable. 11 12 * platform/network/soup/ResourceHandleSoup.cpp: 13 (WebCore::contentSniffedCallback): 14 * platform/network/soup/ResourceResponse.h: 15 (WebCore::ResourceResponse::sniffedContentType): 16 (WebCore::ResourceResponse::setSniffedContentType): 17 * platform/network/soup/ResourceResponseSoup.cpp: 18 (WebCore::ResourceResponse::updateFromSoupMessage): 19 1 20 2011-04-28 Yael Aharon <yael.aharon@nokia.com> 2 21 -
trunk/Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp
r84260 r85207 317 317 static void contentSniffedCallback(SoupMessage* msg, const char* sniffedType, GHashTable *params, gpointer data) 318 318 { 319 320 if (statusWillBeHandledBySoup(msg->status_code)) 321 return; 322 323 RefPtr<ResourceHandle> handle = static_cast<ResourceHandle*>(data); 324 if (!handle) 325 return; 326 ResourceHandleInternal* d = handle->getInternal(); 327 if (d->m_cancelled) 328 return; 329 ResourceHandleClient* client = handle->client(); 330 if (!client) 331 return; 332 333 ASSERT(d->m_response.isNull()); 334 319 335 if (sniffedType) { 320 336 const char* officialType = soup_message_headers_get_one(msg->response_headers, "Content-Type"); 321 322 if (!officialType || strcmp(officialType, sniffedType)) 323 soup_message_headers_set_content_type(msg->response_headers, sniffedType, params); 324 } 325 326 if (statusWillBeHandledBySoup(msg->status_code)) 327 return; 328 329 RefPtr<ResourceHandle> handle = static_cast<ResourceHandle*>(data); 330 if (!handle) 331 return; 332 ResourceHandleInternal* d = handle->getInternal(); 333 if (d->m_cancelled) 334 return; 335 ResourceHandleClient* client = handle->client(); 336 if (!client) 337 return; 338 339 ASSERT(d->m_response.isNull()); 337 if (!officialType || strcmp(officialType, sniffedType)) { 338 GString* str = g_string_new(sniffedType); 339 if (params) { 340 GHashTableIter iter; 341 gpointer key, value; 342 g_hash_table_iter_init(&iter, params); 343 while (g_hash_table_iter_next(&iter, &key, &value)) { 344 g_string_append(str, "; "); 345 soup_header_g_string_append_param(str, static_cast<const char*>(key), static_cast<const char*>(value)); 346 } 347 } 348 d->m_response.setSniffedContentType(str->str); 349 g_string_free(str, TRUE); 350 } 351 } 340 352 341 353 fillResponseFromMessage(msg, &d->m_response); -
trunk/Source/WebCore/platform/network/soup/ResourceResponse.h
r68762 r85207 59 59 void setSoupMessageFlags(SoupMessageFlags soupFlags) { m_soupFlags = soupFlags; } 60 60 61 const String& sniffedContentType() const { return m_sniffedContentType; } 62 void setSniffedContentType(const String& value) { m_sniffedContentType = value; } 63 61 64 private: 62 65 friend class ResourceResponseBase; 63 66 64 67 SoupMessageFlags m_soupFlags; 68 String m_sniffedContentType; 65 69 66 70 void doUpdateResourceResponse() { } -
trunk/Source/WebCore/platform/network/soup/ResourceResponseSoup.cpp
r70651 r85207 72 72 m_soupFlags = soup_message_get_flags(soupMessage); 73 73 74 String contentType = soup_message_headers_get_one(soupMessage->response_headers, "Content-Type"); 74 String contentType; 75 if (sniffedContentType().isEmpty()) 76 contentType = soup_message_headers_get_one(soupMessage->response_headers, "Content-Type"); 77 else 78 contentType = this->sniffedContentType(); 75 79 setMimeType(extractMIMETypeFromMediaType(contentType)); 76 80
Note: See TracChangeset
for help on using the changeset viewer.