Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: bbc211140430e58da5821a8e87d1f6736a984929
      
https://github.com/WebKit/WebKit/commit/bbc211140430e58da5821a8e87d1f6736a984929
  Author: Timothy Hatcher <timo...@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


_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to