Title: [183875] trunk/Source
- Revision
- 183875
- Author
- an...@apple.com
- Date
- 2015-05-06 10:31:12 -0700 (Wed, 06 May 2015)
Log Message
REGRESSION (r183467): Unable to start downloads in private browsing mode
https://bugs.webkit.org/show_bug.cgi?id=144533
Reviewed by Darin Adler.
Source/WebCore:
If willSendRequest delegate mutated the request we would lose the requester field value from the original.
No test runner support for mutating requests.
* platform/network/cf/ResourceRequestCFNet.cpp:
(WebCore::ResourceRequest::updateFromDelegatePreservingOldProperties):
This needs to keep the requester too.
* platform/network/cocoa/ResourceRequestCocoa.mm:
(WebCore::ResourceRequest::updateFromDelegatePreservingOldProperties): Deleted.
Share implementations.
Source/WebKit/mac:
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::dispatchWillSendRequest):
Use updateFromDelegatePreservingOldProperties (like WK2) instead of doing the same thing manually.
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (183874 => 183875)
--- trunk/Source/WebCore/ChangeLog 2015-05-06 17:10:38 UTC (rev 183874)
+++ trunk/Source/WebCore/ChangeLog 2015-05-06 17:31:12 UTC (rev 183875)
@@ -1,3 +1,24 @@
+2015-05-06 Antti Koivisto <an...@apple.com>
+
+ REGRESSION (r183467): Unable to start downloads in private browsing mode
+ https://bugs.webkit.org/show_bug.cgi?id=144533
+
+ Reviewed by Darin Adler.
+
+ If willSendRequest delegate mutated the request we would lose the requester field value from the original.
+
+ No test runner support for mutating requests.
+
+ * platform/network/cf/ResourceRequestCFNet.cpp:
+ (WebCore::ResourceRequest::updateFromDelegatePreservingOldProperties):
+
+ This needs to keep the requester too.
+
+ * platform/network/cocoa/ResourceRequestCocoa.mm:
+ (WebCore::ResourceRequest::updateFromDelegatePreservingOldProperties): Deleted.
+
+ Share implementations.
+
2015-05-06 Ryosuke Niwa <rn...@webkit.org>
Toggling underline on font panel removes strike through
Modified: trunk/Source/WebCore/platform/network/cf/ResourceRequestCFNet.cpp (183874 => 183875)
--- trunk/Source/WebCore/platform/network/cf/ResourceRequestCFNet.cpp 2015-05-06 17:10:38 UTC (rev 183874)
+++ trunk/Source/WebCore/platform/network/cf/ResourceRequestCFNet.cpp 2015-05-06 17:31:12 UTC (rev 183875)
@@ -227,19 +227,6 @@
#endif
}
-void ResourceRequest::updateFromDelegatePreservingOldProperties(const ResourceRequest& delegateProvidedRequest)
-{
- ResourceLoadPriority oldPriority = priority();
- RefPtr<FormData> oldHTTPBody = httpBody();
- bool isHiddenFromInspector = hiddenFromInspector();
-
- *this = delegateProvidedRequest;
-
- setPriority(oldPriority);
- setHTTPBody(oldHTTPBody.release());
- setHiddenFromInspector(isHiddenFromInspector);
-}
-
void ResourceRequest::doUpdateResourceRequest()
{
if (!m_cfRequest) {
@@ -339,6 +326,22 @@
#endif // USE(CFNETWORK)
+void ResourceRequest::updateFromDelegatePreservingOldProperties(const ResourceRequest& delegateProvidedRequest)
+{
+ // These are things we don't want willSendRequest delegate to mutate or reset.
+ ResourceLoadPriority oldPriority = priority();
+ RefPtr<FormData> oldHTTPBody = httpBody();
+ bool isHiddenFromInspector = hiddenFromInspector();
+ auto oldRequester = requester();
+
+ *this = delegateProvidedRequest;
+
+ setPriority(oldPriority);
+ setHTTPBody(oldHTTPBody.release());
+ setHiddenFromInspector(isHiddenFromInspector);
+ setRequester(oldRequester);
+}
+
bool ResourceRequest::httpPipeliningEnabled()
{
return s_httpPipeliningEnabled;
Modified: trunk/Source/WebCore/platform/network/cocoa/ResourceRequestCocoa.mm (183874 => 183875)
--- trunk/Source/WebCore/platform/network/cocoa/ResourceRequestCocoa.mm 2015-05-06 17:10:38 UTC (rev 183874)
+++ trunk/Source/WebCore/platform/network/cocoa/ResourceRequestCocoa.mm 2015-05-06 17:31:12 UTC (rev 183875)
@@ -205,19 +205,6 @@
}
}
-void ResourceRequest::updateFromDelegatePreservingOldProperties(const ResourceRequest& delegateProvidedRequest)
-{
- ResourceLoadPriority oldPriority = priority();
- RefPtr<FormData> oldHTTPBody = httpBody();
- bool isHiddenFromInspector = hiddenFromInspector();
-
- *this = delegateProvidedRequest;
-
- setPriority(oldPriority);
- setHTTPBody(oldHTTPBody.release());
- setHiddenFromInspector(isHiddenFromInspector);
-}
-
#if !PLATFORM(IOS)
void ResourceRequest::applyWebArchiveHackForMail()
{
Modified: trunk/Source/WebKit/mac/ChangeLog (183874 => 183875)
--- trunk/Source/WebKit/mac/ChangeLog 2015-05-06 17:10:38 UTC (rev 183874)
+++ trunk/Source/WebKit/mac/ChangeLog 2015-05-06 17:31:12 UTC (rev 183875)
@@ -1,3 +1,15 @@
+2015-05-06 Antti Koivisto <an...@apple.com>
+
+ REGRESSION (r183467): Unable to start downloads in private browsing mode
+ https://bugs.webkit.org/show_bug.cgi?id=144533
+
+ Reviewed by Darin Adler.
+
+ * WebCoreSupport/WebFrameLoaderClient.mm:
+ (WebFrameLoaderClient::dispatchWillSendRequest):
+
+ Use updateFromDelegatePreservingOldProperties (like WK2) instead of doing the same thing manually.
+
2015-05-06 Ryosuke Niwa <rn...@webkit.org>
Toggling underline on font panel removes strike through
Modified: trunk/Source/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.mm (183874 => 183875)
--- trunk/Source/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.mm 2015-05-06 17:10:38 UTC (rev 183874)
+++ trunk/Source/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.mm 2015-05-06 17:31:12 UTC (rev 183875)
@@ -361,9 +361,6 @@
NSURLRequest *currentURLRequest = request.nsURLRequest(UpdateHTTPBody);
NSURLRequest *newURLRequest = currentURLRequest;
- ResourceLoadPriority priority = request.priority();
- bool isHiddenFromInspector = request.hiddenFromInspector();
- auto requester = request.requester();
#if PLATFORM(IOS)
if (implementations->webThreadWillSendRequestFunc) {
newURLRequest = (NSURLRequest *)CallResourceLoadDelegateInWebThread(implementations->webThreadWillSendRequestFunc, webView, @selector(webThreadWebView:resource:willSendRequest:redirectResponse:fromDataSource:), [webView _objectForIdentifier:identifier], currentURLRequest, redirectResponse.nsURLResponse(), dataSource(loader));
@@ -373,10 +370,7 @@
newURLRequest = (NSURLRequest *)CallResourceLoadDelegate(implementations->willSendRequestFunc, webView, @selector(webView:resource:willSendRequest:redirectResponse:fromDataSource:), [webView _objectForIdentifier:identifier], currentURLRequest, redirectResponse.nsURLResponse(), dataSource(loader));
if (newURLRequest != currentURLRequest)
- request = newURLRequest;
- request.setHiddenFromInspector(isHiddenFromInspector);
- request.setPriority(priority);
- request.setRequester(requester);
+ request.updateFromDelegatePreservingOldProperties(ResourceRequest(newURLRequest));
}
bool WebFrameLoaderClient::shouldUseCredentialStorage(DocumentLoader* loader, unsigned long identifier)
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes