http://bugs.webkit.org/show_bug.cgi?id=16701
<rdar://problem/
5666580> REGRESSION: URL-encoded space (%20) in livejournal url
causes page load error
Test: http/tests/misc/location-with-space.php
* platform/network/cf/ResourceRequestCFNet.cpp:
(WebCore::ResourceRequest::doUpdatePlatformRequest): Do update its URL, too.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29210
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
+2008-01-06 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Darin.
+
+ http://bugs.webkit.org/show_bug.cgi?id=16701
+ <rdar://problem/5666580> REGRESSION: URL-encoded space (%20) in livejournal url
+ causes page load error
+
+ * http/tests/misc/location-with-space-expected.txt: Added.
+ * http/tests/misc/location-with-space.php: Added.
+ * http/tests/misc/resources/a success.html: Added.
+
2008-01-06 Andrew Wellington <proton@wiretapped.net>
Reviewed by Darin.
--- /dev/null
+<?php
+ header('HTTP/1.0 302 Found');
+ header('Location: resources/a success.html');
+?>
--- /dev/null
+<div>SUCCESS</div>
+<script>
+if (window.layoutTestController)
+ layoutTestController.dumpAsText();
+</script>
+2008-01-06 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Darin.
+
+ http://bugs.webkit.org/show_bug.cgi?id=16701
+ <rdar://problem/5666580> REGRESSION: URL-encoded space (%20) in livejournal url
+ causes page load error
+
+ Test: http/tests/misc/location-with-space.php
+
+ * platform/network/cf/ResourceRequestCFNet.cpp:
+ (WebCore::ResourceRequest::doUpdatePlatformRequest): Do update its URL, too.
+
2008-01-06 Andrew Wellington <proton@wiretapped.net>
Reviewed by Darin.
{
CFMutableURLRequestRef cfRequest;
- if (m_cfRequest)
+ RetainPtr<CFURLRef> url(AdoptCF, ResourceRequest::url().createCFURL());
+ RetainPtr<CFURLRef> mainDocumentURL(AdoptCF, ResourceRequest::mainDocumentURL().createCFURL());
+ if (m_cfRequest) {
cfRequest = CFURLRequestCreateMutableCopy(0, m_cfRequest.get());
- else {
- RetainPtr<CFURLRef> url(AdoptCF, ResourceRequest::url().createCFURL());
- RetainPtr<CFURLRef> mainDocumentURL(AdoptCF, ResourceRequest::mainDocumentURL().createCFURL());
-
+ CFURLRequestSetURL(cfRequest, url.get());
+ CFURLRequestSetMainDocumentURL(cfRequest, mainDocumentURL.get());
+ } else {
cfRequest = CFURLRequestCreateMutable(0, url.get(), (CFURLRequestCachePolicy)cachePolicy(), timeoutInterval(), mainDocumentURL.get());
}