[webkit-changes] [WebKit/WebKit] 553a55: Add support for creating panels in the Web Extensi...

Timothy Hatcher noreply at github.com
Tue Feb 13 15:45:04 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 553a55c37606ca6bce4630ca93b72e9354d1a25d
      https://github.com/WebKit/WebKit/commit/553a55c37606ca6bce4630ca93b72e9354d1a25d
  Author: Timothy Hatcher <timothy at apple.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M Source/WebKit/Scripts/webkit/messages.py
    A Source/WebKit/UIProcess/Extensions/Cocoa/API/WebExtensionContextAPIDevToolsPanels.mm
    M Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionContextCocoa.mm
    M Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionURLSchemeHandlerCocoa.mm
    M Source/WebKit/UIProcess/Extensions/WebExtensionContext.h
    M Source/WebKit/UIProcess/Extensions/WebExtensionContext.messages.in
    M Source/WebKit/UIProcess/Extensions/WebExtensionController.h
    M Source/WebKit/UIProcess/Inspector/mac/WKInspectorViewController.mm
    M Source/WebKit/UIProcess/WebPageProxy.h
    M Source/WebKit/UIProcess/WebProcessPool.cpp
    M Source/WebKit/WebKit.xcodeproj/project.pbxproj
    M Source/WebKit/WebProcess/Extensions/API/Cocoa/WebExtensionAPIDevToolsCocoa.mm
    M Source/WebKit/WebProcess/Extensions/API/Cocoa/WebExtensionAPIDevToolsExtensionPanelCocoa.mm
    M Source/WebKit/WebProcess/Extensions/API/Cocoa/WebExtensionAPIDevToolsInspectedWindowCocoa.mm
    M Source/WebKit/WebProcess/Extensions/API/Cocoa/WebExtensionAPIDevToolsNetworkCocoa.mm
    M Source/WebKit/WebProcess/Extensions/API/Cocoa/WebExtensionAPIDevToolsPanelsCocoa.mm
    M Source/WebKit/WebProcess/Extensions/API/WebExtensionAPIDevToolsPanels.h
    M Source/WebKit/WebProcess/Extensions/Interfaces/WebExtensionAPIDevToolsPanels.idl
    M Source/WebKit/WebProcess/Extensions/WebExtensionContextProxy.h
    M Source/WebKit/WebProcess/Extensions/WebExtensionContextProxy.messages.in
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebExtensionAPIDevTools.mm

  Log Message:
  -----------
  Add support for creating panels in the Web Extension devtools background 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




More information about the webkit-changes mailing list