WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
[patch]
Make soup backend always send a "valid" Accept header, when one is not explicitly set
0001-Set-as-the-Accept-header-when-downloading-resources-.patch (text/plain), 6.56 KB, created by
Gustavo Noronha (kov)
on 2010-02-16 13:58:38 PST
(
hide
)
Description:
Make soup backend always send a "valid" Accept header, when one is not explicitly set
Filename:
MIME Type:
Creator:
Gustavo Noronha (kov)
Created:
2010-02-16 13:58:38 PST
Size:
6.56 KB
patch
obsolete
>From dacba67976a1e759015fa808123de7c3e0094f37 Mon Sep 17 00:00:00 2001 >From: Gustavo Noronha Silva <gns@gnome.org> >Date: Tue, 16 Feb 2010 11:49:36 -0200 >Subject: [PATCH] Set */* as the Accept header when downloading resources that did not > set an Accept header. This behaviour is similar to the one adopted by > Chromium. > >--- > LayoutTests/ChangeLog | 13 +++++++++ > .../misc/image-checks-for-accept-expected.txt | 3 ++ > .../http/tests/misc/image-checks-for-accept.html | 29 ++++++++++++++++++++ > .../misc/resources/image-checks-for-accept.php | 13 +++++++++ > LayoutTests/platform/mac/Skipped | 3 ++ > LayoutTests/platform/win/Skipped | 3 ++ > WebCore/ChangeLog | 16 +++++++++++ > .../platform/network/soup/ResourceHandleSoup.cpp | 5 +++ > 8 files changed, 85 insertions(+), 0 deletions(-) > create mode 100644 LayoutTests/http/tests/misc/image-checks-for-accept-expected.txt > create mode 100644 LayoutTests/http/tests/misc/image-checks-for-accept.html > create mode 100644 LayoutTests/http/tests/misc/resources/image-checks-for-accept.php > >diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog >index e13fedd..c8f713e 100644 >--- a/LayoutTests/ChangeLog >+++ b/LayoutTests/ChangeLog >@@ -1,3 +1,16 @@ >+2010-02-16 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk> >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Does not send an Accept header for subresources, causing some sites to break >+ https://bugs.webkit.org/show_bug.cgi?id=33242 >+ >+ * http/tests/misc/image-checks-for-accept-expected.txt: Added. >+ * http/tests/misc/image-checks-for-accept.html: Added. >+ * http/tests/misc/resources/image-checks-for-accept.php: Added. >+ * platform/mac/Skipped: >+ * platform/win/Skipped: >+ > 2010-02-16 Alexander Pavlov <apavlov@chromium.org> > > Reviewed by Pavel Feldman. >diff --git a/LayoutTests/http/tests/misc/image-checks-for-accept-expected.txt b/LayoutTests/http/tests/misc/image-checks-for-accept-expected.txt >new file mode 100644 >index 0000000..a8557d4 >--- /dev/null >+++ b/LayoutTests/http/tests/misc/image-checks-for-accept-expected.txt >@@ -0,0 +1,3 @@ >+Tests that a subresource is loaded if the server expects an Accept header to provide it. >+ >+PASS >diff --git a/LayoutTests/http/tests/misc/image-checks-for-accept.html b/LayoutTests/http/tests/misc/image-checks-for-accept.html >new file mode 100644 >index 0000000..d6f2706 >--- /dev/null >+++ b/LayoutTests/http/tests/misc/image-checks-for-accept.html >@@ -0,0 +1,29 @@ >+<html> >+<head> >+<script> >+ if (window.layoutTestController) { >+ layoutTestController.dumpAsText() >+ layoutTestController.waitUntilDone(); >+ } >+ >+ function test() { >+ var image = document.getElementById("testImage"); >+ var result = document.getElementById("result"); >+ >+ if (image.width == 128 && image.height == 128) >+ result.innerHTML = "PASS"; >+ else >+ result.innerHTML = "FAIL"; >+ >+ if (window.layoutTestController) >+ layoutTestController.notifyDone(); >+ } >+</script> >+</head> >+<body> >+Tests that a subresource is loaded if the server expects an Accept >+header to provide it.<br> >+<img id="testImage" src="resources/image-checks-for-accept.php" onload="test()" onerror="test()"/> >+<div id="result"/> >+</body> >+</html> >diff --git a/LayoutTests/http/tests/misc/resources/image-checks-for-accept.php b/LayoutTests/http/tests/misc/resources/image-checks-for-accept.php >new file mode 100644 >index 0000000..459c416 >--- /dev/null >+++ b/LayoutTests/http/tests/misc/resources/image-checks-for-accept.php >@@ -0,0 +1,13 @@ >+<?php >+ if($_SERVER["HTTP_ACCEPT"] == "*/*" || $_SERVER["HTTP_ACCEPT"] == "image/*" || $_SERVER["HTTP_ACCEPT"] == "image/jpg") >+ { >+ header("Content-Type: image/jpg"); >+ header("Cache-Control: no-store"); >+ header("Connection: close"); >+ >+ $fn = fopen("compass.jpg", "r"); >+ fpassthru($fn); >+ fclose($fn); >+ exit; >+ } >+?> >diff --git a/LayoutTests/platform/mac/Skipped b/LayoutTests/platform/mac/Skipped >index c4639f8..0572cdb 100644 >--- a/LayoutTests/platform/mac/Skipped >+++ b/LayoutTests/platform/mac/Skipped >@@ -115,3 +115,6 @@ http/tests/media/video-referer.html > # Fails intermittently on Leopard and Tiger. > # https://bugs.webkit.org/show_bug.cgi?id=29154 > storage/database-lock-after-reload.html >+ >+# Accept header is handled by the browser >+http/tests/misc/image-checks-for-accept.html >diff --git a/LayoutTests/platform/win/Skipped b/LayoutTests/platform/win/Skipped >index b7a08fb..762f42e 100644 >--- a/LayoutTests/platform/win/Skipped >+++ b/LayoutTests/platform/win/Skipped >@@ -758,3 +758,6 @@ media/video-display-aspect-ratio.html > > # https://bugs.webkit.org/show_bug.cgi?id=34865 > fast/text/glyph-reordering.html >+ >+# Accept header is handled by the browser >+http/tests/misc/image-checks-for-accept.html >diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog >index 31b20e5..032fd0c 100644 >--- a/WebCore/ChangeLog >+++ b/WebCore/ChangeLog >@@ -1,3 +1,19 @@ >+2010-02-16 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk> >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Does not send an Accept header for subresources, causing some sites to break >+ https://bugs.webkit.org/show_bug.cgi?id=33242 >+ >+ Set */* as the Accept header when downloading resources >+ that did not set an Accept header. This behaviour is similar to >+ the one adopted by Chromium. >+ >+ Test: http/tests/misc/image-checks-for-accept.html >+ >+ * platform/network/soup/ResourceHandleSoup.cpp: >+ (WebCore::startHttp): >+ > 2010-02-12 Peter Kasting <pkasting@google.com> > > Reviewed by Adam Barth. >diff --git a/WebCore/platform/network/soup/ResourceHandleSoup.cpp b/WebCore/platform/network/soup/ResourceHandleSoup.cpp >index 9a315cd..c3dc8ac 100644 >--- a/WebCore/platform/network/soup/ResourceHandleSoup.cpp >+++ b/WebCore/platform/network/soup/ResourceHandleSoup.cpp >@@ -566,6 +566,11 @@ static bool startHttp(ResourceHandle* handle) > // balanced by a deref() in finishedCallback, which should always run > handle->ref(); > >+ // Make sure we have an Accept header for subresources; some sites >+ // want this to serve some of their subresources >+ if (!soup_message_headers_get_one(d->m_msg->request_headers, "Accept")) >+ soup_message_headers_append(d->m_msg->request_headers, "Accept", "*/*"); >+ > // Balanced in ResourceHandleInternal's destructor; we need to > // keep our own ref, because after queueing the message, the > // session owns the initial reference. >-- >1.6.6.2 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Flags:
xan.lopez
:
review+
gustavo
:
commit-queue-
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 33242
:
48812
| 48827