Web Inspector: InspectorFrontendHost::inspectionLevel returns wrong value for inspector3
[WebKit-https.git] / Source / WebKit / UIProcess / RemoteWebInspectorProxy.cpp
index b5c461b..87b224e 100644 (file)
 #include "WebInspectorProxy.h"
 #include "WebPageGroup.h"
 #include "WebPageProxy.h"
+#include <WebCore/CertificateInfo.h>
 #include <WebCore/NotImplemented.h>
 
-using namespace WebCore;
-
 namespace WebKit {
+using namespace WebCore;
 
 RemoteWebInspectorProxy::RemoteWebInspectorProxy()
 {
@@ -56,6 +56,9 @@ void RemoteWebInspectorProxy::load(const String& debuggableType, const String& b
 {
     createFrontendPageAndWindow();
 
+    m_debuggableType = debuggableType;
+    m_backendCommandsURL = backendCommandsURL;
+
     m_inspectorPage->process().send(Messages::RemoteWebInspectorUI::Initialize(debuggableType, backendCommandsURL), m_inspectorPage->pageID());
     m_inspectorPage->loadRequest(URL(URL(), WebInspectorProxy::inspectorPageURL()));
 }
@@ -83,12 +86,22 @@ void RemoteWebInspectorProxy::sendMessageToFrontend(const String& message)
 
 void RemoteWebInspectorProxy::frontendDidClose()
 {
+    Ref<RemoteWebInspectorProxy> protect(*this);
+
     if (m_client)
         m_client->closeFromFrontend();
 
     closeFrontendPageAndWindow();
 }
 
+void RemoteWebInspectorProxy::reopen()
+{
+    ASSERT(!m_debuggableType.isEmpty());
+
+    closeFrontendPageAndWindow();
+    load(m_debuggableType, m_backendCommandsURL);
+}
+
 void RemoteWebInspectorProxy::bringToFront()
 {
     platformBringToFront();
@@ -104,6 +117,11 @@ void RemoteWebInspectorProxy::append(const String& suggestedURL, const String& c
     platformAppend(suggestedURL, content);
 }
 
+void RemoteWebInspectorProxy::setSheetRect(const FloatRect& rect)
+{
+    platformSetSheetRect(rect);
+}
+
 void RemoteWebInspectorProxy::startWindowDrag()
 {
     platformStartWindowDrag();
@@ -114,6 +132,11 @@ void RemoteWebInspectorProxy::openInNewTab(const String& url)
     platformOpenInNewTab(url);
 }
 
+void RemoteWebInspectorProxy::showCertificate(const CertificateInfo& certificateInfo)
+{
+    platformShowCertificate(certificateInfo);
+}
+
 void RemoteWebInspectorProxy::sendMessageToBackend(const String& message)
 {
     if (m_client)
@@ -127,10 +150,10 @@ void RemoteWebInspectorProxy::createFrontendPageAndWindow()
 
     m_inspectorPage = platformCreateFrontendPageAndWindow();
 
-    trackInspectorPage(m_inspectorPage);
+    trackInspectorPage(m_inspectorPage, nullptr);
 
     m_inspectorPage->process().addMessageReceiver(Messages::RemoteWebInspectorProxy::messageReceiverName(), m_inspectorPage->pageID(), *this);
-    m_inspectorPage->process().assumeReadAccessToBaseURL(WebInspectorProxy::inspectorBaseURL());
+    m_inspectorPage->process().assumeReadAccessToBaseURL(*m_inspectorPage, WebInspectorProxy::inspectorBaseURL());
 }
 
 void RemoteWebInspectorProxy::closeFrontendPageAndWindow()
@@ -147,7 +170,7 @@ void RemoteWebInspectorProxy::closeFrontendPageAndWindow()
     platformCloseFrontendPageAndWindow();
 }
 
-#if !PLATFORM(MAC) && !PLATFORM(GTK)
+#if !ENABLE(REMOTE_INSPECTOR) || (!PLATFORM(MAC) && !PLATFORM(GTK))
 WebPageProxy* RemoteWebInspectorProxy::platformCreateFrontendPageAndWindow()
 {
     notImplemented();
@@ -157,8 +180,10 @@ WebPageProxy* RemoteWebInspectorProxy::platformCreateFrontendPageAndWindow()
 void RemoteWebInspectorProxy::platformBringToFront() { }
 void RemoteWebInspectorProxy::platformSave(const String&, const String&, bool, bool) { }
 void RemoteWebInspectorProxy::platformAppend(const String&, const String&) { }
+void RemoteWebInspectorProxy::platformSetSheetRect(const FloatRect&) { }
 void RemoteWebInspectorProxy::platformStartWindowDrag() { }
 void RemoteWebInspectorProxy::platformOpenInNewTab(const String&) { }
+void RemoteWebInspectorProxy::platformShowCertificate(const CertificateInfo&) { }
 void RemoteWebInspectorProxy::platformCloseFrontendPageAndWindow() { }
 #endif