Changeset 271424 in webkit
- Timestamp:
- Jan 12, 2021, 4:19:38 PM (6 years ago)
- Location:
- trunk
- Files:
-
- 20 edited
-
Source/WebKit/ChangeLog (modified) (1 diff)
-
Source/WebKit/UIProcess/API/APIInspectorClient.h (modified) (1 diff)
-
Source/WebKit/UIProcess/API/APIUIClient.h (modified) (1 diff)
-
Source/WebKit/UIProcess/API/Cocoa/WKUIDelegatePrivate.h (modified) (1 diff)
-
Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm (modified) (2 diffs)
-
Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivate.h (modified) (1 diff)
-
Source/WebKit/UIProcess/API/Cocoa/_WKInspector.mm (modified) (1 diff)
-
Source/WebKit/UIProcess/API/Cocoa/_WKInspectorDelegate.h (modified) (1 diff)
-
Source/WebKit/UIProcess/API/Cocoa/_WKInspectorPrivate.h (modified) (1 diff)
-
Source/WebKit/UIProcess/Cocoa/UIDelegate.h (modified) (2 diffs)
-
Source/WebKit/UIProcess/Cocoa/UIDelegate.mm (modified) (2 diffs)
-
Source/WebKit/UIProcess/Inspector/Agents/InspectorBrowserAgent.cpp (modified) (3 diffs)
-
Source/WebKit/UIProcess/Inspector/Cocoa/InspectorDelegate.h (modified) (3 diffs)
-
Source/WebKit/UIProcess/Inspector/Cocoa/InspectorDelegate.mm (modified) (3 diffs)
-
Source/WebKit/UIProcess/Inspector/WebInspectorProxy.cpp (modified) (1 diff)
-
Source/WebKit/UIProcess/Inspector/WebInspectorProxy.h (modified) (1 diff)
-
Source/WebKit/UIProcess/Inspector/WebPageInspectorController.cpp (modified) (11 diffs)
-
Source/WebKit/UIProcess/Inspector/WebPageInspectorController.h (modified) (2 diffs)
-
Tools/ChangeLog (modified) (1 diff)
-
Tools/TestWebKitAPI/Tests/WebKitCocoa/WKInspectorDelegate.mm (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit/ChangeLog
r271421 r271424 1 2021-01-12 BJ Burg <bburg@apple.com> 2 3 [Cocoa] Web Inspector: move browser domain activation methods back to WKWebView and UIDelegate 4 https://bugs.webkit.org/show_bug.cgi?id=220480 5 6 Reviewed by Devin Rousso. 7 8 Having browser domain activation methods on WKInspectorDelegate means that 9 the browser domain will not work with remote inspection of WKWebViews on 10 macOS. Move these methods back to UIDelegate/WKWebView so that it is possible 11 to remote inspect Safari Technology Preview with another Safari while still 12 benefiting from the browser domain being turned on. 13 14 Covered by existing API tests. 15 16 * UIProcess/API/APIInspectorClient.h: 17 (API::InspectorClient::browserDomainEnabled): Deleted. 18 (API::InspectorClient::browserDomainDisabled): Deleted. 19 * UIProcess/API/APIUIClient.h: 20 (API::UIClient::didEnableInspectorBrowserDomain): Moved. 21 (API::UIClient::didDisableInspectorBrowserDomain): Moved. 22 23 * UIProcess/API/Cocoa/WKUIDelegatePrivate.h: 24 * UIProcess/API/Cocoa/WKWebViewPrivate.h: 25 * UIProcess/API/Cocoa/WKWebView.mm: 26 (-[WKWebView _didEnableBrowserExtensions:]): Moved. 27 (-[WKWebView _didDisableBrowserExtensions:]): Moved. 28 Moved from WKInspector.mm. Rather than accessing the browser agent 29 directly from ObjC code, use the page's WebPageInspectorController. 30 31 * UIProcess/API/Cocoa/_WKInspectorDelegate.h: 32 * UIProcess/API/Cocoa/_WKInspectorPrivate.h: 33 * UIProcess/API/Cocoa/_WKInspector.mm: 34 (-[_WKInspector _browserExtensionsEnabled:]): Deleted. 35 (-[_WKInspector _browserExtensionsDisabled:]): Deleted. 36 37 * UIProcess/Cocoa/UIDelegate.h: 38 * UIProcess/Cocoa/UIDelegate.mm: 39 (WebKit::UIDelegate::setDelegate): 40 (WebKit::UIDelegate::UIClient::didEnableInspectorBrowserDomain): 41 (WebKit::UIDelegate::UIClient::didDisableInspectorBrowserDomain): 42 * UIProcess/Inspector/Agents/InspectorBrowserAgent.cpp: 43 (WebKit::InspectorBrowserAgent::enable): 44 (WebKit::InspectorBrowserAgent::disable): 45 * UIProcess/Inspector/Cocoa/InspectorDelegate.h: 46 * UIProcess/Inspector/Cocoa/InspectorDelegate.mm: 47 (WebKit::InspectorDelegate::setDelegate): 48 (WebKit::InspectorDelegate::InspectorClient::~InspectorClient): 49 (WebKit::InspectorDelegate::InspectorClient::browserDomainEnabled): Deleted. 50 (WebKit::InspectorDelegate::InspectorClient::browserDomainDisabled): Deleted. 51 * UIProcess/Inspector/WebInspectorProxy.cpp: 52 (WebKit::WebInspectorProxy::browserExtensionsEnabled): Deleted. 53 (WebKit::WebInspectorProxy::browserExtensionsDisabled): Deleted. 54 * UIProcess/Inspector/WebInspectorProxy.h: 55 56 * UIProcess/Inspector/WebPageInspectorController.h: 57 * UIProcess/Inspector/WebPageInspectorController.cpp: 58 (WebKit::WebPageInspectorController::WebPageInspectorController): 59 (WebKit::WebPageInspectorController::init): 60 (WebKit::WebPageInspectorController::connectFrontend): 61 (WebKit::WebPageInspectorController::disconnectFrontend): 62 (WebKit::WebPageInspectorController::disconnectAllFrontends): 63 (WebKit::WebPageInspectorController::setIndicating): 64 (WebKit::WebPageInspectorController::createInspectorTarget): 65 (WebKit::WebPageInspectorController::webPageAgentContext): 66 (WebKit::WebPageInspectorController::setEnabledBrowserAgent): Added. 67 (WebKit::WebPageInspectorController::browserExtensionsEnabled): Added. 68 (WebKit::WebPageInspectorController::browserExtensionsDisabled): Added. 69 Drive-by: rename m_page to m_inspectedPage to emphasize that this 70 class exists as part of Web Inspector's backend, not its frontend. 71 1 72 2021-01-12 Brent Fulgham <bfulgham@apple.com> 2 73 -
trunk/Source/WebKit/UIProcess/API/APIInspectorClient.h
r267411 r271424 39 39 virtual ~InspectorClient() = default; 40 40 41 virtual void browserDomainEnabled(WebKit::WebInspectorProxy&) { }42 virtual void browserDomainDisabled(WebKit::WebInspectorProxy&) { }43 41 virtual void openURLExternally(WebKit::WebInspectorProxy&, const WTF::String& url) { } 44 42 }; -
trunk/Source/WebKit/UIProcess/API/APIUIClient.h
r269918 r271424 202 202 return API::InspectorConfiguration::create(); 203 203 } 204 virtual void didEnableInspectorBrowserDomain(WebKit::WebPageProxy&) { } 205 virtual void didDisableInspectorBrowserDomain(WebKit::WebPageProxy&) { } 204 206 205 207 virtual void decidePolicyForSpeechRecognitionPermissionRequest(WebKit::WebPageProxy& page, API::SecurityOrigin& origin, CompletionHandler<void(bool)>&& completionHandler) { page.requestSpeechRecognitionPermissionByDefaultAction(origin.securityOrigin(), WTFMove(completionHandler)); } -
trunk/Source/WebKit/UIProcess/API/Cocoa/WKUIDelegatePrivate.h
r269810 r271424 154 154 155 155 - (void)_webView:(WKWebView *)webView requestSpeechRecognitionPermissionForOrigin:(WKSecurityOrigin *)origin decisionHandler:(void (^)(BOOL authorized))decisionHandler WK_API_AVAILABLE(macos(WK_MAC_TBA), ios(WK_IOS_TBA)); 156 157 - (void)_webViewDidEnableInspectorBrowserDomain:(WKWebView *)webView WK_API_AVAILABLE(macos(WK_MAC_TBA), ios(WK_IOS_TBA)); 158 - (void)_webViewDidDisableInspectorBrowserDomain:(WKWebView *)webView WK_API_AVAILABLE(macos(WK_MAC_TBA), ios(WK_IOS_TBA)); 156 159 157 160 #if TARGET_OS_IPHONE -
trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm
r270638 r271424 91 91 #import "WebFullScreenManagerProxy.h" 92 92 #import "WebPageGroup.h" 93 #import "WebPageInspectorController.h" 93 94 #import "WebPageProxy.h" 94 95 #import "WebPreferences.h" … … 1650 1651 } 1651 1652 1653 - (void)_didEnableBrowserExtensions:(NSDictionary<NSString *, NSString *> *)extensionIDToNameMap 1654 { 1655 HashMap<String, String> transformed; 1656 transformed.reserveInitialCapacity(extensionIDToNameMap.count); 1657 [extensionIDToNameMap enumerateKeysAndObjectsUsingBlock:[&](NSString *extensionID, NSString *extensionName, BOOL *) { 1658 transformed.set(extensionID, extensionName); 1659 }]; 1660 _page->inspectorController().browserExtensionsEnabled(WTFMove(transformed)); 1661 } 1662 1663 - (void)_didDisableBrowserExtensions:(NSSet<NSString *> *)extensionIDs 1664 { 1665 HashSet<String> transformed; 1666 transformed.reserveInitialCapacity(extensionIDs.count); 1667 for (NSString *extensionID in extensionIDs) 1668 transformed.addVoid(extensionID); 1669 _page->inspectorController().browserExtensionsDisabled(WTFMove(transformed)); 1670 } 1671 1652 1672 - (_WKFrameHandle *)_mainFrame 1653 1673 { -
trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivate.h
r270669 r271424 360 360 @property (nonatomic, setter=_setCanUseCredentialStorage:) BOOL _canUseCredentialStorage WK_API_AVAILABLE(macos(WK_MAC_TBA), ios(WK_IOS_TBA)); 361 361 362 - (void)_didEnableBrowserExtensions:(NSDictionary<NSString *, NSString *> *)extensionIDToNameMap WK_API_AVAILABLE(macos(WK_MAC_TBA), ios(WK_IOS_TBA)); 363 - (void)_didDisableBrowserExtensions:(NSSet<NSString *> *)extensionIDs WK_API_AVAILABLE(macos(WK_MAC_TBA), ios(WK_IOS_TBA)); 364 362 365 @end 363 366 -
trunk/Source/WebKit/UIProcess/API/Cocoa/_WKInspector.mm
r270606 r271424 171 171 } 172 172 173 - (void)_browserExtensionsEnabled:(NSDictionary<NSString *, NSString *> *)extensionIDToNameMap174 {175 HashMap<String, String> transformed;176 transformed.reserveInitialCapacity(extensionIDToNameMap.count);177 [extensionIDToNameMap enumerateKeysAndObjectsUsingBlock:[&](NSString *extensionID, NSString *extensionName, BOOL *) {178 transformed.set(extensionID, extensionName);179 }];180 _inspector->browserExtensionsEnabled(WTFMove(transformed));181 }182 183 - (void)_browserExtensionsDisabled:(NSSet<NSString *> *)extensionIDs184 {185 HashSet<String> transformed;186 transformed.reserveInitialCapacity(extensionIDs.count);187 for (NSString *extensionID in extensionIDs)188 transformed.addVoid(extensionID);189 _inspector->browserExtensionsDisabled(WTFMove(transformed));190 }191 192 173 // MARK: _WKInspectorInternal methods 193 174 -
trunk/Source/WebKit/UIProcess/API/Cocoa/_WKInspectorDelegate.h
r267411 r271424 32 32 @optional 33 33 34 /*! @abstract Called when the Browser domain is enabled for the associated _WKInspector.35 @param inspector the associated _WKInspector for which the Browser domain has been enabled.36 */37 - (void)inspectorDidEnableBrowserDomain:(_WKInspector *)inspector;38 39 /*! @abstract Called when the Browser domain is disabled for the associated _WKInspector.40 @param inspector the associated _WKInspector for which the Browser domain has been disabled.41 */42 - (void)inspectorDidDisableBrowserDomain:(_WKInspector *)inspector;43 44 34 /*! @abstract Called when the _WKInspector requests to show a resource externally. This 45 35 is used to display documentation pages and to show external URLs that are linkified. -
trunk/Source/WebKit/UIProcess/API/Cocoa/_WKInspectorPrivate.h
r257410 r271424 32 32 @property (nonatomic, weak, setter=_setDiagnosticLoggingDelegate:) id<_WKDiagnosticLoggingDelegate> _diagnosticLoggingDelegate; 33 33 34 // Browser35 - (void)_browserExtensionsEnabled:(NSDictionary<NSString *, NSString *> *)extensionIDToName;36 - (void)_browserExtensionsDisabled:(NSSet<NSString *> *)extensionIDs;37 38 34 @end -
trunk/Source/WebKit/UIProcess/Cocoa/UIDelegate.h
r271264 r271424 164 164 #endif 165 165 void decidePolicyForSpeechRecognitionPermissionRequest(WebPageProxy&, API::SecurityOrigin&, CompletionHandler<void(bool)>&&) final; 166 void didEnableInspectorBrowserDomain(WebPageProxy&) final; 167 void didDisableInspectorBrowserDomain(WebPageProxy&) final; 166 168 167 169 WeakPtr<UIDelegate> m_uiDelegate; … … 251 253 bool webViewRunWebAuthenticationPanelInitiatedByFrameCompletionHandler : 1; 252 254 #endif 255 bool webViewDidEnableInspectorBrowserDomain : 1; 256 bool webViewDidDisableInspectorBrowserDomain : 1; 253 257 } m_delegateMethods; 254 258 }; -
trunk/Source/WebKit/UIProcess/Cocoa/UIDelegate.mm
r271264 r271424 184 184 m_delegateMethods.webViewRunWebAuthenticationPanelInitiatedByFrameCompletionHandler = [delegate respondsToSelector:@selector(_webView:runWebAuthenticationPanel:initiatedByFrame:completionHandler:)]; 185 185 #endif 186 187 m_delegateMethods.webViewDidEnableInspectorBrowserDomain = [delegate respondsToSelector:@selector(_webViewDidEnableInspectorBrowserDomain:)]; 188 m_delegateMethods.webViewDidDisableInspectorBrowserDomain = [delegate respondsToSelector:@selector(_webViewDidDisableInspectorBrowserDomain:)]; 186 189 } 187 190 … … 1551 1554 } 1552 1555 1556 void UIDelegate::UIClient::didEnableInspectorBrowserDomain(WebPageProxy&) 1557 { 1558 if (!m_uiDelegate) 1559 return; 1560 1561 if (!m_uiDelegate->m_delegateMethods.webViewDidEnableInspectorBrowserDomain) 1562 return; 1563 1564 auto delegate = (id <WKUIDelegatePrivate>)m_uiDelegate->m_delegate.get(); 1565 if (!delegate) 1566 return; 1567 1568 [delegate _webViewDidEnableInspectorBrowserDomain:m_uiDelegate->m_webView.get().get()]; 1569 } 1570 1571 void UIDelegate::UIClient::didDisableInspectorBrowserDomain(WebPageProxy&) 1572 { 1573 if (!m_uiDelegate) 1574 return; 1575 1576 if (!m_uiDelegate->m_delegateMethods.webViewDidDisableInspectorBrowserDomain) 1577 return; 1578 1579 auto delegate = (id <WKUIDelegatePrivate>)m_uiDelegate->m_delegate.get(); 1580 if (!delegate) 1581 return; 1582 1583 [delegate _webViewDidDisableInspectorBrowserDomain:m_uiDelegate->m_webView.get().get()]; 1584 } 1585 1553 1586 } // namespace WebKit -
trunk/Source/WebKit/UIProcess/Inspector/Agents/InspectorBrowserAgent.cpp
r266890 r271424 27 27 #include "InspectorBrowserAgent.h" 28 28 29 #include "API InspectorClient.h"29 #include "APIUIClient.h" 30 30 #include "WebInspectorProxy.h" 31 31 #include "WebPageInspectorController.h" … … 72 72 m_inspectedPage.inspectorController().setEnabledBrowserAgent(this); 73 73 74 if (auto* inspector = m_inspectedPage.inspector())75 inspector->inspectorClient().browserDomainEnabled(*inspector);76 77 74 return { }; 78 75 } … … 84 81 85 82 m_inspectedPage.inspectorController().setEnabledBrowserAgent(nullptr); 86 87 if (auto* inspector = m_inspectedPage.inspector())88 inspector->inspectorClient().browserDomainDisabled(*inspector);89 83 90 84 return { }; -
trunk/Source/WebKit/UIProcess/Inspector/Cocoa/InspectorDelegate.h
r267411 r271424 36 36 37 37 class WebInspectorProxy; 38 class WebPageProxy;39 38 40 39 class InspectorDelegate { … … 57 56 private: 58 57 // API::InspectorClient 59 void browserDomainEnabled(WebInspectorProxy&);60 void browserDomainDisabled(WebInspectorProxy&);61 58 void openURLExternally(WebInspectorProxy&, const String& url); 62 59 … … 68 65 69 66 struct { 70 bool inspectorDidEnableBrowserDomain : 1;71 bool inspectorDidDisableBrowserDomain : 1;72 67 bool inspectorOpenURLExternally : 1; 73 68 } m_delegateMethods; -
trunk/Source/WebKit/UIProcess/Inspector/Cocoa/InspectorDelegate.mm
r267411 r271424 28 28 29 29 #import "WebInspectorProxy.h" 30 #import "WebPageProxy.h"31 30 #import "_WKInspectorDelegate.h" 32 31 #import "_WKInspectorInternal.h" … … 53 52 m_delegate = delegate; 54 53 55 m_delegateMethods.inspectorDidEnableBrowserDomain = [delegate respondsToSelector:@selector(inspectorDidEnableBrowserDomain:)];56 m_delegateMethods.inspectorDidDisableBrowserDomain = [delegate respondsToSelector:@selector(inspectorDidDisableBrowserDomain:)];57 54 m_delegateMethods.inspectorOpenURLExternally = [delegate respondsToSelector:@selector(inspector:openURLExternally:)]; 58 55 } … … 63 60 } 64 61 65 InspectorDelegate::InspectorClient::~InspectorClient() = default; 66 67 void InspectorDelegate::InspectorClient::browserDomainEnabled(WebInspectorProxy&) 62 InspectorDelegate::InspectorClient::~InspectorClient() 68 63 { 69 if (!m_inspectorDelegate.m_delegateMethods.inspectorDidEnableBrowserDomain)70 return;71 72 auto& delegate = m_inspectorDelegate.m_delegate;73 if (!delegate)74 return;75 76 [delegate inspectorDidEnableBrowserDomain:m_inspectorDelegate.m_inspector.get().get()];77 }78 79 void InspectorDelegate::InspectorClient::browserDomainDisabled(WebInspectorProxy&)80 {81 if (!m_inspectorDelegate.m_delegateMethods.inspectorDidDisableBrowserDomain)82 return;83 84 auto& delegate = m_inspectorDelegate.m_delegate;85 if (!delegate)86 return;87 88 [delegate inspectorDidDisableBrowserDomain:m_inspectorDelegate.m_inspector.get().get()];89 64 } 90 65 -
trunk/Source/WebKit/UIProcess/Inspector/WebInspectorProxy.cpp
r271374 r271424 701 701 } 702 702 703 void WebInspectorProxy::browserExtensionsEnabled(HashMap<String, String>&& extensionIDToName)704 {705 if (auto* browserAgent = m_inspectedPage->inspectorController().enabledBrowserAgent())706 browserAgent->extensionsEnabled(WTFMove(extensionIDToName));707 }708 709 void WebInspectorProxy::browserExtensionsDisabled(HashSet<String>&& extensionIDs)710 {711 if (auto* browserAgent = m_inspectedPage->inspectorController().enabledBrowserAgent())712 browserAgent->extensionsDisabled(WTFMove(extensionIDs));713 }714 715 703 void WebInspectorProxy::save(const String& filename, const String& content, bool base64Encoded, bool forceSaveAs) 716 704 { -
trunk/Source/WebKit/UIProcess/Inspector/WebInspectorProxy.h
r269701 r271424 185 185 void setDiagnosticLoggingAvailable(bool); 186 186 187 // Browser188 void browserExtensionsEnabled(HashMap<String, String>&&);189 void browserExtensionsDisabled(HashSet<String>&&);190 191 187 // Provided by platform WebInspectorProxy implementations. 192 188 static String inspectorPageURL(); -
trunk/Source/WebKit/UIProcess/Inspector/WebPageInspectorController.cpp
r257410 r271424 1 /*2 * Copyright (C) 2018 Apple Inc. All rights reserved.1 /* 2 * Copyright (C) 2018-2020 Apple Inc. All rights reserved. 3 3 * 4 4 * Redistribution and use in source and binary forms, with or without … … 27 27 #include "WebPageInspectorController.h" 28 28 29 #include "APIUIClient.h" 29 30 #include "InspectorBrowserAgent.h" 30 31 #include "ProvisionalPageProxy.h" … … 49 50 } 50 51 51 WebPageInspectorController::WebPageInspectorController(WebPageProxy& page)52 WebPageInspectorController::WebPageInspectorController(WebPageProxy& inspectedPage) 52 53 : m_frontendRouter(FrontendRouter::create()) 53 54 , m_backendDispatcher(BackendDispatcher::create(m_frontendRouter.copyRef())) 54 , m_ page(page)55 , m_inspectedPage(inspectedPage) 55 56 { 56 57 auto targetAgent = makeUnique<InspectorTargetAgent>(m_frontendRouter.get(), m_backendDispatcher.get()); … … 61 62 void WebPageInspectorController::init() 62 63 { 63 String pageTargetId = WebPageInspectorTarget::toTargetID(m_ page.webPageID());64 String pageTargetId = WebPageInspectorTarget::toTargetID(m_inspectedPage.webPageID()); 64 65 createInspectorTarget(pageTargetId, Inspector::InspectorTargetType::Page); 65 66 } … … 88 89 m_agents.didCreateFrontendAndBackend(&m_frontendRouter.get(), &m_backendDispatcher.get()); 89 90 90 m_ page.didChangeInspectorFrontendCount(m_frontendRouter->frontendCount());91 m_inspectedPage.didChangeInspectorFrontendCount(m_frontendRouter->frontendCount()); 91 92 92 93 #if ENABLE(REMOTE_INSPECTOR) 93 94 if (hasLocalFrontend()) 94 m_ page.remoteInspectorInformationDidChange();95 m_inspectedPage.remoteInspectorInformationDidChange(); 95 96 #endif 96 97 } … … 104 105 m_agents.willDestroyFrontendAndBackend(DisconnectReason::InspectorDestroyed); 105 106 106 m_ page.didChangeInspectorFrontendCount(m_frontendRouter->frontendCount());107 m_inspectedPage.didChangeInspectorFrontendCount(m_frontendRouter->frontendCount()); 107 108 108 109 #if ENABLE(REMOTE_INSPECTOR) 109 110 if (disconnectingLastFrontend) 110 m_ page.remoteInspectorInformationDidChange();111 m_inspectedPage.remoteInspectorInformationDidChange(); 111 112 #endif 112 113 } … … 125 126 m_frontendRouter->disconnectAllFrontends(); 126 127 127 m_ page.didChangeInspectorFrontendCount(m_frontendRouter->frontendCount());128 129 #if ENABLE(REMOTE_INSPECTOR) 130 m_ page.remoteInspectorInformationDidChange();128 m_inspectedPage.didChangeInspectorFrontendCount(m_frontendRouter->frontendCount()); 129 130 #if ENABLE(REMOTE_INSPECTOR) 131 m_inspectedPage.remoteInspectorInformationDidChange(); 131 132 #endif 132 133 } … … 141 142 { 142 143 #if !PLATFORM(IOS_FAMILY) 143 m_ page.setIndicating(indicating);144 m_inspectedPage.setIndicating(indicating); 144 145 #else 145 146 if (indicating) 146 m_ page.showInspectorIndication();147 m_inspectedPage.showInspectorIndication(); 147 148 else 148 m_ page.hideInspectorIndication();149 m_inspectedPage.hideInspectorIndication(); 149 150 #endif 150 151 } … … 153 154 void WebPageInspectorController::createInspectorTarget(const String& targetId, Inspector::InspectorTargetType type) 154 155 { 155 addTarget(InspectorTargetProxy::create(m_ page, targetId, type));156 addTarget(InspectorTargetProxy::create(m_inspectedPage, targetId, type)); 156 157 } 157 158 … … 220 221 m_frontendRouter.get(), 221 222 m_backendDispatcher.get(), 222 m_ page,223 m_inspectedPage, 223 224 }; 224 225 } … … 242 243 } 243 244 245 void WebPageInspectorController::setEnabledBrowserAgent(InspectorBrowserAgent* agent) 246 { 247 if (m_enabledBrowserAgent == agent) 248 return; 249 250 m_enabledBrowserAgent = agent; 251 252 if (m_enabledBrowserAgent) 253 m_inspectedPage.uiClient().didEnableInspectorBrowserDomain(m_inspectedPage); 254 else 255 m_inspectedPage.uiClient().didDisableInspectorBrowserDomain(m_inspectedPage); 256 } 257 258 void WebPageInspectorController::browserExtensionsEnabled(HashMap<String, String>&& extensionIDToName) 259 { 260 if (m_enabledBrowserAgent) 261 m_enabledBrowserAgent->extensionsEnabled(WTFMove(extensionIDToName)); 262 } 263 264 void WebPageInspectorController::browserExtensionsDisabled(HashSet<String>&& extensionIDs) 265 { 266 if (m_enabledBrowserAgent) 267 m_enabledBrowserAgent->extensionsDisabled(WTFMove(extensionIDs)); 268 } 269 244 270 } // namespace WebKit -
trunk/Source/WebKit/UIProcess/Inspector/WebPageInspectorController.h
r264592 r271424 78 78 79 79 InspectorBrowserAgent* enabledBrowserAgent() const { return m_enabledBrowserAgent; } 80 void setEnabledBrowserAgent(InspectorBrowserAgent* agent) { m_enabledBrowserAgent = agent; } 80 void setEnabledBrowserAgent(InspectorBrowserAgent*); 81 82 void browserExtensionsEnabled(HashMap<String, String>&&); 83 void browserExtensionsDisabled(HashSet<String>&&); 81 84 82 85 private: … … 90 93 Inspector::AgentRegistry m_agents; 91 94 92 WebPageProxy& m_ page;95 WebPageProxy& m_inspectedPage; 93 96 94 97 Inspector::InspectorTargetAgent* m_targetAgent { nullptr }; -
trunk/Tools/ChangeLog
r271414 r271424 1 2021-01-12 BJ Burg <bburg@apple.com> 2 3 [Cocoa] Web Inspector: move browser domain activation methods back to WKWebView and UIDelegate 4 https://bugs.webkit.org/show_bug.cgi?id=220480 5 6 Reviewed by Devin Rousso. 7 8 * TestWebKitAPI/Tests/WebKitCocoa/WKInspectorDelegate.mm: 9 (-[UIDelegate _webViewDidEnableInspectorBrowserDomain:]): 10 (-[UIDelegate _webViewDidDisableInspectorBrowserDomain:]): 11 (-[InspectorDelegate inspectorDidEnableBrowserDomain:]): Deleted. 12 (-[InspectorDelegate inspectorDidDisableBrowserDomain:]): Deleted. 13 Adapt to new location for delegate methods. 14 1 15 2021-01-12 Wenson Hsieh <wenson_hsieh@apple.com> 2 16 -
trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/WKInspectorDelegate.mm
r269068 r271424 105 105 @implementation InspectorDelegate 106 106 107 - (void)inspectorDidEnableBrowserDomain:(_WKInspector *)inspector108 {109 browserDomainEnabledForInspectorCalled = true;110 }111 112 - (void)inspectorDidDisableBrowserDomain:(_WKInspector *)inspector113 {114 browserDomainDisabledForInspectorCalled = true;115 }116 117 107 - (void)inspector:(_WKInspector *)inspector openURLExternally:(NSURL *)url 118 108 { … … 155 145 if (shouldCallInspectorCloseReentrantly) 156 146 [inspector close]; 147 } 148 149 - (void)_webViewDidEnableInspectorBrowserDomain:(WKWebView *)webView 150 { 151 browserDomainEnabledForInspectorCalled = true; 152 } 153 154 - (void)_webViewDidDisableInspectorBrowserDomain:(WKWebView *)webView 155 { 156 browserDomainDisabledForInspectorCalled = true; 157 157 } 158 158
Note:
See TracChangeset
for help on using the changeset viewer.