[Cocoa] _WKInspector uses wrong WKWebView in -setDiagnosticLoggingDelegate:
https://bugs.webkit.org/show_bug.cgi?id=204928
Reviewed by Timothy Hatcher.
I feel like I've made this mistake before. To make the right thing more obvious,
add a property named inspectorWebView that returns the Inspector WKWebView.
* UIProcess/API/Cocoa/_WKInspector.mm:
(-[_WKInspector inspectorWebView]):
(-[_WKInspector _setDiagnosticLoggingDelegate:]):
* UIProcess/WebInspectorProxy.h:
(WebKit::WebInspectorProxy::inspectorPage const):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@253189 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/Source/WebKit/ChangeLog b/Source/WebKit/ChangeLog
index b29157d..ae5e5a6 100644
--- a/Source/WebKit/ChangeLog
+++ b/Source/WebKit/ChangeLog
@@ -1,3 +1,19 @@
+2019-12-05 Brian Burg <bburg@apple.com>
+
+ [Cocoa] _WKInspector uses wrong WKWebView in -setDiagnosticLoggingDelegate:
+ https://bugs.webkit.org/show_bug.cgi?id=204928
+
+ Reviewed by Timothy Hatcher.
+
+ I feel like I've made this mistake before. To make the right thing more obvious,
+ add a property named inspectorWebView that returns the Inspector WKWebView.
+
+ * UIProcess/API/Cocoa/_WKInspector.mm:
+ (-[_WKInspector inspectorWebView]):
+ (-[_WKInspector _setDiagnosticLoggingDelegate:]):
+ * UIProcess/WebInspectorProxy.h:
+ (WebKit::WebInspectorProxy::inspectorPage const):
+
2019-12-05 Chris Dumez <cdumez@apple.com>
Use sendWithAsyncReply() for WebPage::TryClose IPC
diff --git a/Source/WebKit/UIProcess/API/Cocoa/_WKInspector.mm b/Source/WebKit/UIProcess/API/Cocoa/_WKInspector.mm
index dd1a4aa..974d08a 100644
--- a/Source/WebKit/UIProcess/API/Cocoa/_WKInspector.mm
+++ b/Source/WebKit/UIProcess/API/Cocoa/_WKInspector.mm
@@ -44,6 +44,13 @@
return nil;
}
+- (WKWebView *)inspectorWebView
+{
+ if (auto* page = _inspector->inspectorPage())
+ return fromWebPageProxy(*page);
+ return nil;
+}
+
- (BOOL)isConnected
{
return _inspector->isConnected();
@@ -135,7 +142,11 @@
- (void)_setDiagnosticLoggingDelegate:(id<_WKDiagnosticLoggingDelegate>)delegate
{
- self.webView._diagnosticLoggingDelegate = delegate;
+ auto inspectorWebView = self.inspectorWebView;
+ if (!inspectorWebView)
+ return;
+
+ inspectorWebView._diagnosticLoggingDelegate = delegate;
_inspector->setDiagnosticLoggingAvailable(!!delegate);
}
diff --git a/Source/WebKit/UIProcess/WebInspectorProxy.h b/Source/WebKit/UIProcess/WebInspectorProxy.h
index c3833a5..3fb25de 100644
--- a/Source/WebKit/UIProcess/WebInspectorProxy.h
+++ b/Source/WebKit/UIProcess/WebInspectorProxy.h
@@ -89,6 +89,7 @@
// Public APIs
WebPageProxy* inspectedPage() const { return m_inspectedPage; }
+ WebPageProxy* inspectorPage() const { return m_inspectorPage; }
bool isConnected() const { return !!m_inspectorPage; }
bool isVisible() const { return m_isVisible; }