Title: [188287] trunk/Source/WebKit2
Revision
188287
Author
[email protected]
Date
2015-08-11 13:41:22 -0700 (Tue, 11 Aug 2015)

Log Message

WebFrameLoaderClient::dispatchDecidePolicyForResponse() calls an std::function after it's been moved from
https://bugs.webkit.org/show_bug.cgi?id=147873

Reviewed by Alexey Proskuryakov.

I noticed during code inspection that we were calling an std::function after WTF::move() has been called on it.
Calling an empty std::function results in a C++ exception being thrown. I don't know how to make a sync IPC
message fail, so I'm not sure how to test this.

* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse): Called didReceivePolicyDecision instead.

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (188286 => 188287)


--- trunk/Source/WebKit2/ChangeLog	2015-08-11 20:38:17 UTC (rev 188286)
+++ trunk/Source/WebKit2/ChangeLog	2015-08-11 20:41:22 UTC (rev 188287)
@@ -1,3 +1,17 @@
+2015-08-11  Andy Estes  <[email protected]>
+
+        WebFrameLoaderClient::dispatchDecidePolicyForResponse() calls an std::function after it's been moved from
+        https://bugs.webkit.org/show_bug.cgi?id=147873
+
+        Reviewed by Alexey Proskuryakov.
+        
+        I noticed during code inspection that we were calling an std::function after WTF::move() has been called on it.
+        Calling an empty std::function results in a C++ exception being thrown. I don't know how to make a sync IPC
+        message fail, so I'm not sure how to test this.
+
+        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+        (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse): Called didReceivePolicyDecision instead.
+
 2015-08-11  Beth Dakin  <[email protected]>
 
         REGRESSION (r188053): Sometimes unable to save an image from Google Search/

Modified: trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp (188286 => 188287)


--- trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp	2015-08-11 20:38:17 UTC (rev 188286)
+++ trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp	2015-08-11 20:41:22 UTC (rev 188287)
@@ -701,7 +701,7 @@
     if (WebPage::synchronousMessagesShouldSpinRunLoop())
         syncSendFlags |= IPC::SpinRunLoopWhileWaitingForReply;
     if (!webPage->sendSync(Messages::WebPageProxy::DecidePolicyForResponseSync(m_frame->frameID(), SecurityOriginData::fromFrame(m_frame), response, request, canShowMIMEType, listenerID, UserData(WebProcess::singleton().transformObjectsToHandles(userData.get()).get())), Messages::WebPageProxy::DecidePolicyForResponseSync::Reply(receivedPolicyAction, policyAction, downloadID), std::chrono::milliseconds::max(), syncSendFlags)) {
-        function(PolicyIgnore);
+        m_frame->didReceivePolicyDecision(listenerID, PolicyIgnore, 0, 0);
         return;
     }
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to