Web Inspector: consolidate code that hosts the Inspector page inside a WKWebView
authorbburg@apple.com <bburg@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 20 Oct 2017 17:28:58 +0000 (17:28 +0000)
committerbburg@apple.com <bburg@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 20 Oct 2017 17:28:58 +0000 (17:28 +0000)
https://bugs.webkit.org/show_bug.cgi?id=177661
<rdar://problem/34740286>

Reviewed by Joseph Pecoraro.

This patch refactors some Cocoa code pathas.
Rename the timer that closes the WebView so it's more obvious what it is for.
Extract the common code to close the frontend window so its not implemented by
the timer callback.

In later patches, this will be extracted further into platform methods to open/close
the frontend and window, like how it is for RemoteWebInspectorProxy.

* UIProcess/WebInspectorProxy.cpp:
(WebKit::WebInspectorProxy::WebInspectorProxy):
* UIProcess/WebInspectorProxy.h:
* UIProcess/mac/WebInspectorProxyMac.mm:
(WebKit::WebInspectorProxy::closeFrontendAfterInactivityTimerFired):
(WebKit::WebInspectorProxy::closeFrontend):
(WebKit::WebInspectorProxy::platformCreateInspectorPage):
(WebKit::WebInspectorProxy::platformDidClose):
(WebKit::WebInspectorProxy::platformDidCloseForCrash):
(WebKit::WebInspectorProxy::platformInvalidate):
(WebKit::WebInspectorProxy::closeTimerFired): Deleted.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@223772 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebKit/ChangeLog
Source/WebKit/UIProcess/WebInspectorProxy.cpp
Source/WebKit/UIProcess/WebInspectorProxy.h
Source/WebKit/UIProcess/mac/WebInspectorProxyMac.mm

index 478b060..86d03be 100644 (file)
@@ -1,3 +1,31 @@
+2017-10-02  Brian Burg  <bburg@apple.com>
+
+        Web Inspector: consolidate code that hosts the Inspector page inside a WKWebView
+        https://bugs.webkit.org/show_bug.cgi?id=177661
+        <rdar://problem/34740286>
+
+        Reviewed by Joseph Pecoraro.
+
+        This patch refactors some Cocoa code pathas.
+        Rename the timer that closes the WebView so it's more obvious what it is for.
+        Extract the common code to close the frontend window so its not implemented by
+        the timer callback.
+
+        In later patches, this will be extracted further into platform methods to open/close
+        the frontend and window, like how it is for RemoteWebInspectorProxy.
+
+        * UIProcess/WebInspectorProxy.cpp:
+        (WebKit::WebInspectorProxy::WebInspectorProxy):
+        * UIProcess/WebInspectorProxy.h:
+        * UIProcess/mac/WebInspectorProxyMac.mm:
+        (WebKit::WebInspectorProxy::closeFrontendAfterInactivityTimerFired):
+        (WebKit::WebInspectorProxy::closeFrontend):
+        (WebKit::WebInspectorProxy::platformCreateInspectorPage):
+        (WebKit::WebInspectorProxy::platformDidClose):
+        (WebKit::WebInspectorProxy::platformDidCloseForCrash):
+        (WebKit::WebInspectorProxy::platformInvalidate):
+        (WebKit::WebInspectorProxy::closeTimerFired): Deleted.
+
 2017-09-30  Brian Burg  <bburg@apple.com>
 
         Web Inspector: consolidate code that hosts the Inspector page inside a WKWebView
index 5f11d8d..61a409e 100644 (file)
@@ -63,7 +63,7 @@ const unsigned WebInspectorProxy::initialWindowHeight = 650;
 WebInspectorProxy::WebInspectorProxy(WebPageProxy* inspectedPage)
     : m_inspectedPage(inspectedPage)
 #if PLATFORM(MAC) && WK_API_ENABLED
-    , m_closeTimer(RunLoop::main(), this, &WebInspectorProxy::closeTimerFired)
+    , m_closeFrontendAfterInactivityTimer(RunLoop::main(), this, &WebInspectorProxy::closeFrontendAfterInactivityTimerFired)
 #endif
 {
     m_inspectedPage->process().addMessageReceiver(Messages::WebInspectorProxy::messageReceiverName(), m_inspectedPage->pageID(), *this);
index fe8fd07..63df356 100644 (file)
@@ -105,7 +105,8 @@ public:
     void setInspectorWindowFrame(WKRect&);
     WKRect inspectorWindowFrame();
 
-    void closeTimerFired();
+    void closeFrontend();
+    void closeFrontendAfterInactivityTimerFired();
 
     void attachmentViewDidChange(NSView *oldView, NSView *newView);
 #endif
@@ -236,7 +237,7 @@ private:
     RetainPtr<NSWindow> m_inspectorWindow;
     RetainPtr<WKWebInspectorProxyObjCAdapter> m_objCAdapter;
     HashMap<String, RetainPtr<NSURL>> m_suggestedToActualURLMap;
-    RunLoop::Timer<WebInspectorProxy> m_closeTimer;
+    RunLoop::Timer<WebInspectorProxy> m_closeFrontendAfterInactivityTimer;
     String m_urlString;
 #elif PLATFORM(GTK)
     std::unique_ptr<WebInspectorProxyClient> m_client;
index 53a0d6f..05576f4 100644 (file)
@@ -164,10 +164,14 @@ WKRect WebInspectorProxy::inspectorWindowFrame()
     return WKRectMake(frame.origin.x, frame.origin.y, frame.size.width, frame.size.height);
 }
 
-void WebInspectorProxy::closeTimerFired()
+void WebInspectorProxy::closeFrontendAfterInactivityTimerFired()
 {
-    ASSERT(!m_isAttached || !m_inspectorWindow);
+    closeFrontend();
+}
 
+void WebInspectorProxy::closeFrontend()
+{
+    ASSERT(!m_isAttached || !m_inspectorWindow);
     if (m_inspectorView) {
         m_inspectorView->_page->close();
         m_inspectorView = nil;
@@ -268,7 +272,7 @@ WebPageProxy* WebInspectorProxy::platformCreateInspectorPage()
 {
     ASSERT(inspectedPage());
 
-    m_closeTimer.stop();
+    m_closeFrontendAfterInactivityTimer.stop();
 
     if (m_inspectorView) {
         ASSERT(m_objCAdapter);
@@ -352,21 +356,21 @@ void WebInspectorProxy::platformDidClose()
         m_inspectorWindow = nil;
     }
 
-    m_closeTimer.startOneShot(webViewCloseTimeout);
+    m_closeFrontendAfterInactivityTimer.startOneShot(webViewCloseTimeout);
 }
 
 void WebInspectorProxy::platformDidCloseForCrash()
 {
-    m_closeTimer.stop();
+    m_closeFrontendAfterInactivityTimer.stop();
 
-    closeTimerFired();
+    closeFrontend();
 }
 
 void WebInspectorProxy::platformInvalidate()
 {
-    m_closeTimer.stop();
+    m_closeFrontendAfterInactivityTimer.stop();
 
-    closeTimerFired();
+    closeFrontend();
 }
 
 void WebInspectorProxy::platformHide()