[webkit-changes] [WebKit/WebKit] bbc211: Add support for the devtools.inspectedWindow Web E...
Timothy Hatcher
noreply at github.com
Wed Feb 14 11:47:56 PST 2024
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: bbc211140430e58da5821a8e87d1f6736a984929
https://github.com/WebKit/WebKit/commit/bbc211140430e58da5821a8e87d1f6736a984929
Author: Timothy Hatcher <timothy at apple.com>
Date: 2024-02-14 (Wed, 14 Feb 2024)
Changed paths:
M Source/WebInspectorUI/UserInterface/Controllers/WebInspectorExtensionController.js
M Source/WebKit/Shared/InspectorExtensionTypes.h
M Source/WebKit/UIProcess/API/APIInspectorExtension.cpp
M Source/WebKit/UIProcess/API/APIInspectorExtension.h
M Source/WebKit/UIProcess/API/Cocoa/_WKInspectorExtension.mm
A Source/WebKit/UIProcess/Extensions/Cocoa/API/WebExtensionContextAPIDevToolsInspectedWindow.mm
M Source/WebKit/UIProcess/Extensions/Cocoa/API/WebExtensionContextAPIDevToolsPanels.mm
M Source/WebKit/UIProcess/Extensions/WebExtensionContext.h
M Source/WebKit/UIProcess/Extensions/WebExtensionContext.messages.in
M Source/WebKit/UIProcess/Inspector/WebInspectorUIExtensionControllerProxy.cpp
M Source/WebKit/UIProcess/Inspector/WebInspectorUIExtensionControllerProxy.h
M Source/WebKit/WebKit.xcodeproj/project.pbxproj
M Source/WebKit/WebProcess/Extensions/API/Cocoa/WebExtensionAPIDevToolsInspectedWindowCocoa.mm
M Source/WebKit/WebProcess/Extensions/API/WebExtensionAPIDevToolsInspectedWindow.h
M Source/WebKit/WebProcess/Extensions/Interfaces/WebExtensionAPIDevToolsInspectedWindow.idl
M Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebExtensionAPIDevTools.mm
Log Message:
-----------
Add support for the devtools.inspectedWindow Web Extension APIs.
https://webkit.org/bug/246485
rdar://problem/114823326
Reviewed by Jeff Miller and BJ Burg.
Adds support for the eval() and reload() functions on devtools.inspectedWindow.
This is primarily implemented by API::InspectorExtension and Inspector code.
This implementation of eval() properly returns the result as an array of two values,
the result and error, like Chrome and Firefox. The Safari implementation just returned
the result and never provided the exception details.
Also removed the plumbing for reload to return a evaluation result. This was never the
case, and the Web Extension spec does not provide a result.
* Source/WebInspectorUI/UserInterface/Controllers/WebInspectorExtensionController.js:
(WI.WebInspectorExtensionController.prototype.async evaluateScriptForExtension):
(WI.WebInspectorExtensionController.prototype.reloadForExtension): Don't use an eval result
since reload does not provide a result to Web Extensions.
* Source/WebKit/Shared/InspectorExtensionTypes.h: Use Ref instead of RefPtr.
* Source/WebKit/UIProcess/API/APIInspectorExtension.cpp:
(API::InspectorExtension::reloadIgnoringCache):
* Source/WebKit/UIProcess/API/APIInspectorExtension.h:
* Source/WebKit/UIProcess/API/Cocoa/_WKInspectorExtension.mm:
(-[_WKInspectorExtension reloadIgnoringCache:userAgent:injectedScript:completionHandler:]):
* Source/WebKit/UIProcess/Extensions/Cocoa/API/WebExtensionContextAPIDevToolsInspectedWindow.mm: Added.
(WebKit::WebExtensionContext::devToolsInspectedWindowEval):
(WebKit::WebExtensionContext::devToolsInspectedWindowReload):
* Source/WebKit/UIProcess/Extensions/Cocoa/API/WebExtensionContextAPIDevToolsPanels.mm:
(WebKit::WebExtensionContext::devToolsPanelsCreate):
* Source/WebKit/UIProcess/Extensions/WebExtensionContext.h:
* Source/WebKit/UIProcess/Extensions/WebExtensionContext.messages.in:
* Source/WebKit/UIProcess/Inspector/WebInspectorUIExtensionControllerProxy.cpp:
(WebKit::WebInspectorUIExtensionControllerProxy::evaluateScriptForExtension):
(WebKit::WebInspectorUIExtensionControllerProxy::reloadForExtension):
(WebKit::WebInspectorUIExtensionControllerProxy::evaluateScriptInExtensionTab):
* Source/WebKit/UIProcess/Inspector/WebInspectorUIExtensionControllerProxy.h:
* Source/WebKit/WebKit.xcodeproj/project.pbxproj:
* Source/WebKit/WebProcess/Extensions/API/Cocoa/WebExtensionAPIDevToolsInspectedWindowCocoa.mm:
(WebKit::WebExtensionAPIDevToolsInspectedWindow::eval):
(WebKit::WebExtensionAPIDevToolsInspectedWindow::reload):
* Source/WebKit/WebProcess/Extensions/API/WebExtensionAPIDevToolsInspectedWindow.h:
* Source/WebKit/WebProcess/Extensions/Interfaces/WebExtensionAPIDevToolsInspectedWindow.idl:
* Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebExtensionAPIDevTools.mm:
(TEST(WKWebExtensionAPIDevTools, InspectedWindowEval)): Added.
(TEST(WKWebExtensionAPIDevTools, InspectedWindowReload)): Added.
(TEST(WKWebExtensionAPIDevTools, InspectedWindowReloadIgnoringCache)): Added.
Canonical link: https://commits.webkit.org/274645@main
More information about the webkit-changes
mailing list