-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. Weβll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support for creating panels in the Web Extension devtools background page. #24365
Conversation
EWS run on previous version of this PR (hash 38db921) |
EWS run on previous version of this PR (hash 5523c68) |
EWS run on previous version of this PR (hash 2540949) |
EWS run on current version of this PR (hash 2a3fa44) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As mentioned offline, it would be nice to move every #import after #import "config.h"
at the top of the source files you're touching to be inside the #if
for source files that are fully conditional on feature flags. You said the style bot complains if you don't immediately import the corresponding header file after config.h
, but some of these source files have slight different names (e.g. WebExtensionAPIDevToolsPanelsCocoa.m
imports WebExtensionAPIDevToolsPanels.h
).
The style bot complained about this:
|
β¦und page. https://webkit.org/b/246485 rdar://problem/114823326 Reviewed by Jeff Miller. This adds support for browser.devtools.panels.create() and firing the onShown and onHidden events on those panels when they are shown / hidden in Web Inspector. This requires loading the devtools background page in the same process as Web Inspector, since we need to pass the window object of the new panel's frame to the onShown listeners. Added a new test that exercise this end-to-end. We also have WKInspectorExtension API tests that test this separate from the Web Extensions tests. * Source/WebKit/Scripts/webkit/messages.py: (types_that_cannot_be_forward_declared): (headers_for_type): * Source/WebKit/UIProcess/Extensions/Cocoa/API/WebExtensionContextAPIDevToolsPanels.mm: Added. (WebKit::WebExtensionContext::devToolsPanelsCreate): * Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionContextCocoa.mm: (WebKit::WebExtensionContext::webViewConfiguration): (WebKit::WebExtensionContext::openInspectors const): (WebKit::WebExtensionContext::inspectorExtension const): (WebKit::WebExtensionContext::inspector const): (WebKit::WebExtensionContext::processes const): (WebKit::WebExtensionContext::loadInspectorBackgroundPage): (WebKit::WebExtensionContext::unloadInspectorBackgroundPage): (WebKit::WebExtensionContext::didShowInspectorExtensionPanel const): (WebKit::WebExtensionContext::didHideInspectorExtensionPanel const): * Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionURLSchemeHandlerCocoa.mm: (WebKit::WebExtensionURLSchemeHandler::platformStartTask): * Source/WebKit/UIProcess/Extensions/WebExtensionContext.h: (WebKit::WebExtensionContext::sendToProcesses const): (WebKit::WebExtensionContext::sendToProcessesForEvent const): (WebKit::WebExtensionContext::sendToProcessesForEvents const): (WebKit::WebExtensionContext::sendToContentScriptProcessesForEvent const): (WebKit::WebExtensionContext::sendToProcesses): Deleted. (WebKit::WebExtensionContext::sendToProcessesForEvent): Deleted. (WebKit::WebExtensionContext::sendToProcessesForEvents): Deleted. (WebKit::WebExtensionContext::sendToContentScriptProcessesForEvent): Deleted. * Source/WebKit/UIProcess/Extensions/WebExtensionContext.messages.in: * Source/WebKit/UIProcess/Extensions/WebExtensionController.h: * Source/WebKit/UIProcess/Inspector/mac/WKInspectorViewController.mm: (-[WKInspectorViewController webViewConfiguration]): * Source/WebKit/UIProcess/WebPageProxy.h: * Source/WebKit/UIProcess/WebProcessPool.cpp: (WebKit::WebProcessPool::processForNavigationInternal): * Source/WebKit/WebKit.xcodeproj/project.pbxproj: * Source/WebKit/WebProcess/Extensions/API/Cocoa/WebExtensionAPIDevToolsCocoa.mm: * Source/WebKit/WebProcess/Extensions/API/Cocoa/WebExtensionAPIDevToolsExtensionPanelCocoa.mm: (WebKit::WebExtensionAPIDevToolsExtensionPanel::onHidden): (WebKit::WebExtensionContextProxy::dispatchDevToolsExtensionPanelShownEvent): (WebKit::WebExtensionContextProxy::dispatchDevToolsExtensionPanelHiddenEvent): * Source/WebKit/WebProcess/Extensions/API/Cocoa/WebExtensionAPIDevToolsInspectedWindowCocoa.mm: * Source/WebKit/WebProcess/Extensions/API/Cocoa/WebExtensionAPIDevToolsNetworkCocoa.mm: * Source/WebKit/WebProcess/Extensions/API/Cocoa/WebExtensionAPIDevToolsPanelsCocoa.mm: (WebKit::WebExtensionAPIDevToolsPanels::extensionPanel const): (WebKit::WebExtensionAPIDevToolsPanels::createPanel): (WebKit::WebExtensionAPIDevToolsPanels::createTab): Deleted. * Source/WebKit/WebProcess/Extensions/API/WebExtensionAPIDevToolsPanels.h: * Source/WebKit/WebProcess/Extensions/Interfaces/WebExtensionAPIDevToolsPanels.idl: * Source/WebKit/WebProcess/Extensions/WebExtensionContextProxy.h: * Source/WebKit/WebProcess/Extensions/WebExtensionContextProxy.messages.in: * Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebExtensionAPIDevTools.mm: (TestWebKitAPI::TEST): Canonical link: https://commits.webkit.org/274589@main
Committed 274589@main (553a55c): https://commits.webkit.org/274589@main Reviewed commits have been landed. Closing PR #24365 and removing active labels. |
2a3fa44
to
553a55c
Compare
553a55c
2a3fa44
π§ͺ wpe-wk2π§ͺ api-wpeπ§ͺ ios-wk2-wptπ§ͺ gtk-wk2π tvπ§ͺ api-gtkπ watchπ watch-sim