Title: [239196] trunk/Source/WebKit
Revision
239196
Author
[email protected]
Date
2018-12-13 20:09:59 -0800 (Thu, 13 Dec 2018)

Log Message

[iOS] Web Inspector: Occasional UIProcess crashes under WebPageProxy::showInspectorIndication
https://bugs.webkit.org/show_bug.cgi?id=192689
<rdar://problem/46323610>

Patch by Joseph Pecoraro <[email protected]> on 2018-12-13
Reviewed by Simon Fraser.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::close):
* UIProcess/WebPageProxy.h:
Don't wait until ~WebPageProxy to destroy the WebPageProxyDebuggable
which broadcasts it as a remote inspector target. Terminate this
as soon as the WebPageProxy closes and becomes invalid.

Modified Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (239195 => 239196)


--- trunk/Source/WebKit/ChangeLog	2018-12-14 04:05:41 UTC (rev 239195)
+++ trunk/Source/WebKit/ChangeLog	2018-12-14 04:09:59 UTC (rev 239196)
@@ -1,3 +1,18 @@
+2018-12-13  Joseph Pecoraro  <[email protected]>
+
+        [iOS] Web Inspector: Occasional UIProcess crashes under WebPageProxy::showInspectorIndication
+        https://bugs.webkit.org/show_bug.cgi?id=192689
+        <rdar://problem/46323610>
+
+        Reviewed by Simon Fraser.
+
+        * UIProcess/WebPageProxy.cpp:
+        (WebKit::WebPageProxy::close):
+        * UIProcess/WebPageProxy.h:
+        Don't wait until ~WebPageProxy to destroy the WebPageProxyDebuggable
+        which broadcasts it as a remote inspector target. Terminate this
+        as soon as the WebPageProxy closes and becomes invalid.
+
 2018-12-13  Chris Dumez  <[email protected]>
 
         Unreviewed build fix for tvOS.

Modified: trunk/Source/WebKit/UIProcess/WebPageProxy.cpp (239195 => 239196)


--- trunk/Source/WebKit/UIProcess/WebPageProxy.cpp	2018-12-14 04:05:41 UTC (rev 239195)
+++ trunk/Source/WebKit/UIProcess/WebPageProxy.cpp	2018-12-14 04:09:59 UTC (rev 239196)
@@ -958,6 +958,9 @@
 
     m_backForwardList->pageClosed();
     m_inspectorController->pageClosed();
+#if ENABLE(REMOTE_INSPECTOR)
+    m_inspectorDebuggable = nullptr;
+#endif
     pageClient().pageClosed();
 
     m_process->disconnectFramesFromPage(this);

Modified: trunk/Source/WebKit/UIProcess/WebPageProxy.h (239195 => 239196)


--- trunk/Source/WebKit/UIProcess/WebPageProxy.h	2018-12-14 04:05:41 UTC (rev 239195)
+++ trunk/Source/WebKit/UIProcess/WebPageProxy.h	2018-12-14 04:09:59 UTC (rev 239196)
@@ -2295,7 +2295,7 @@
 
     const std::unique_ptr<WebPageInspectorController> m_inspectorController;
 #if ENABLE(REMOTE_INSPECTOR)
-    const std::unique_ptr<WebPageDebuggable> m_inspectorDebuggable;
+    std::unique_ptr<WebPageDebuggable> m_inspectorDebuggable;
 #endif
 
     std::optional<SpellDocumentTag> m_spellDocumentTag;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to