Title: [282543] releases/WebKitGTK/webkit-2.32/Source/WebKit
Revision
282543
Author
[email protected]
Date
2021-09-16 03:43:34 -0700 (Thu, 16 Sep 2021)

Log Message

Merge r279254 - Crash in WebFrameLoaderClient::dispatchDidStartProvisionalLoad after provisionalLoader is gone.
https://bugs.webkit.org/show_bug.cgi?id=226979

Patch by Venky Dass <[email protected]> on 2021-06-24
Reviewed by Ryosuke Niwa.

* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad):

Modified Paths

Diff

Modified: releases/WebKitGTK/webkit-2.32/Source/WebKit/ChangeLog (282542 => 282543)


--- releases/WebKitGTK/webkit-2.32/Source/WebKit/ChangeLog	2021-09-16 10:43:24 UTC (rev 282542)
+++ releases/WebKitGTK/webkit-2.32/Source/WebKit/ChangeLog	2021-09-16 10:43:34 UTC (rev 282543)
@@ -1,3 +1,13 @@
+2021-06-24  Venky Dass  <[email protected]>
+
+        Crash in WebFrameLoaderClient::dispatchDidStartProvisionalLoad after provisionalLoader is gone. 
+        https://bugs.webkit.org/show_bug.cgi?id=226979
+
+        Reviewed by Ryosuke Niwa.
+
+        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+        (WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
+
 2021-05-27  Wenson Hsieh  <[email protected]>
 
         [GPU Process] Add validation when reading DisplayListSharedMemoryHeader::waitingStatus in DisplayListReaderHandle

Modified: releases/WebKitGTK/webkit-2.32/Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp (282542 => 282543)


--- releases/WebKitGTK/webkit-2.32/Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp	2021-09-16 10:43:24 UTC (rev 282542)
+++ releases/WebKitGTK/webkit-2.32/Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp	2021-09-16 10:43:34 UTC (rev 282543)
@@ -519,17 +519,20 @@
     webPage->findController().hideFindUI();
     webPage->sandboxExtensionTracker().didStartProvisionalLoad(m_frame.ptr());
 
-    WebDocumentLoader& provisionalLoader = static_cast<WebDocumentLoader&>(*m_frame->coreFrame()->loader().provisionalDocumentLoader());
-    auto& url = ""
+
     RefPtr<API::Object> userData;
 
     // Notify the bundle client.
     webPage->injectedBundleLoaderClient().didStartProvisionalLoadForFrame(*webPage, m_frame, userData);
+    RefPtr provisionalLoader = static_cast<WebDocumentLoader*>(m_frame->coreFrame()->loader().provisionalDocumentLoader());
 
-    auto& unreachableURL = provisionalLoader.unreachableURL();
-
+    if (!provisionalLoader)
+        return;
+    
+    auto& url = ""
+    auto& unreachableURL = provisionalLoader->unreachableURL();
     // Notify the UIProcess.
-    webPage->send(Messages::WebPageProxy::DidStartProvisionalLoadForFrame(m_frame->frameID(), m_frame->info(), provisionalLoader.request(), provisionalLoader.navigationID(), url, unreachableURL, UserData(WebProcess::singleton().transformObjectsToHandles(userData.get()).get())));
+    webPage->send(Messages::WebPageProxy::DidStartProvisionalLoadForFrame(m_frame->frameID(), m_frame->info(), provisionalLoader->request(), provisionalLoader->navigationID(), url, unreachableURL, UserData(WebProcess::singleton().transformObjectsToHandles(userData.get()).get())));
 }
 
 static constexpr unsigned maxTitleLength = 1000; // Closest power of 10 above the W3C recommendation for Title length.
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to