[webkit-changes] [WebKit/WebKit] 012da6: Add support for tabs.get(), tabs.getCurrent(), tab...

Timothy Hatcher noreply at github.com
Mon Sep 11 09:26:16 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 012da625f11e5611b377597a0a9cc187e8638922
      https://github.com/WebKit/WebKit/commit/012da625f11e5611b377597a0a9cc187e8638922
  Author: Timothy Hatcher <timothy at apple.com>
  Date:   2023-09-11 (Mon, 11 Sep 2023)

  Changed paths:
    M Source/WebKit/Scripts/webkit/messages.py
    M Source/WebKit/UIProcess/API/Cocoa/_WKWebExtensionTab.h
    A Source/WebKit/UIProcess/Extensions/Cocoa/API/WebExtensionContextAPITabsCocoa.mm
    M Source/WebKit/UIProcess/Extensions/Cocoa/API/WebExtensionContextAPIWindowsCocoa.mm
    M Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionTabCocoa.mm
    M Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionWindowCocoa.mm
    M Source/WebKit/UIProcess/Extensions/WebExtensionContext.h
    M Source/WebKit/UIProcess/Extensions/WebExtensionContext.messages.in
    M Source/WebKit/UIProcess/Extensions/WebExtensionTab.h
    M Source/WebKit/UIProcess/Extensions/WebExtensionWindow.h
    M Source/WebKit/WebKit.xcodeproj/project.pbxproj
    M Source/WebKit/WebProcess/Extensions/API/Cocoa/WebExtensionAPIExtensionCocoa.mm
    M Source/WebKit/WebProcess/Extensions/API/Cocoa/WebExtensionAPINamespaceCocoa.mm
    M Source/WebKit/WebProcess/Extensions/API/Cocoa/WebExtensionAPITabsCocoa.mm
    M Source/WebKit/WebProcess/Extensions/API/Cocoa/WebExtensionAPIWindowsCocoa.mm
    M Source/WebKit/WebProcess/Extensions/API/WebExtensionAPIExtension.h
    M Source/WebKit/WebProcess/Extensions/API/WebExtensionAPINamespace.h
    M Source/WebKit/WebProcess/Extensions/API/WebExtensionAPITabs.h
    M Source/WebKit/WebProcess/Extensions/API/WebExtensionAPIWindows.h
    M Source/WebKit/WebProcess/Extensions/Interfaces/WebExtensionAPITabs.idl
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebExtensionAPITabs.mm
    M Tools/TestWebKitAPI/cocoa/WebExtensionUtilities.h
    M Tools/TestWebKitAPI/cocoa/WebExtensionUtilities.mm

  Log Message:
  -----------
  Add support for tabs.get(), tabs.getCurrent(), tabs.getSelected(), and tabs.query() APIs.
https://bugs.webkit.org/show_bug.cgi?id=261342
rdar://problem/115180170

Reviewed by Brian Weinstein.

* Source/WebKit/Scripts/webkit/messages.py:
(types_that_cannot_be_forward_declared): Added WebExtensionTabQueryParameters.
* Source/WebKit/UIProcess/API/Cocoa/_WKWebExtensionTab.h:
* Source/WebKit/UIProcess/Extensions/Cocoa/API/WebExtensionContextAPITabsCocoa.mm: Added.
(WebKit::WebExtensionContext::tabsGet):
(WebKit::WebExtensionContext::tabsGetCurrent):
(WebKit::WebExtensionContext::tabsQuery):
* Source/WebKit/UIProcess/Extensions/Cocoa/API/WebExtensionContextAPIWindowsCocoa.mm:
(WebKit::WebExtensionContext::windowsCreate): Use matches() on the window object.
(WebKit::WebExtensionContext::windowsGet): Ditto.
(WebKit::WebExtensionContext::windowsGetLastFocused): Ditto.
(WebKit::WebExtensionContext::windowsGetAll): Ditto.
(WebKit::matchesFilter): Deleted.
* Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionTabCocoa.mm:
(WebKit::WebExtensionTab::parameters const):
(WebKit::WebExtensionTab::minimalParameters const): Added.
(WebKit::WebExtensionTab::matches const): Added.
(WebKit::WebExtensionTab::extensionHasAccess const): Added.
(WebKit::WebExtensionTab::isActive const): Added.
(WebKit::WebExtensionTab::isSelected const): Default to isActive().
* Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionWindowCocoa.mm:
(WebKit::WebExtensionWindow::parameters const):
(WebKit::WebExtensionWindow::matches const): Added.
(WebKit::WebExtensionWindow::isFrontmost const): Added.
* Source/WebKit/UIProcess/Extensions/WebExtensionContext.h:
* Source/WebKit/UIProcess/Extensions/WebExtensionContext.messages.in:
* Source/WebKit/UIProcess/Extensions/WebExtensionTab.h:
* Source/WebKit/UIProcess/Extensions/WebExtensionWindow.h:
* Source/WebKit/WebKit.xcodeproj/project.pbxproj:
* Source/WebKit/WebProcess/Extensions/API/Cocoa/WebExtensionAPIExtensionCocoa.mm:
(WebKit::WebExtensionAPIExtension::isPropertyAllowed): Changed to use ASCIILiteral.
* Source/WebKit/WebProcess/Extensions/API/Cocoa/WebExtensionAPINamespaceCocoa.mm:
(WebKit::WebExtensionAPINamespace::isPropertyAllowed): Changed to use ASCIILiteral.
* Source/WebKit/WebProcess/Extensions/API/Cocoa/WebExtensionAPITabsCocoa.mm:
(WebKit::toWebAPI):
(WebKit::WebExtensionAPITabs::parseTabQueryOptions): Added.
(WebKit::WebExtensionAPITabs::isPropertyAllowed): Implemented.
(WebKit::WebExtensionAPITabs::query): Implemented.
(WebKit::WebExtensionAPITabs::get): Implemented.
(WebKit::WebExtensionAPITabs::getCurrent): Implemented.
(WebKit::WebExtensionAPITabs::getSelected): Implemented.
* Source/WebKit/WebProcess/Extensions/API/Cocoa/WebExtensionAPIWindowsCocoa.mm:
(WebKit::toWebAPI):
(WebKit::WebExtensionAPIWindows::isPropertyAllowed): Changed to use ASCIILiteral and HashSet.
* Source/WebKit/WebProcess/Extensions/API/WebExtensionAPIExtension.h:
* Source/WebKit/WebProcess/Extensions/API/WebExtensionAPINamespace.h:
* Source/WebKit/WebProcess/Extensions/API/WebExtensionAPITabs.h:
* Source/WebKit/WebProcess/Extensions/API/WebExtensionAPIWindows.h:
* Source/WebKit/WebProcess/Extensions/Interfaces/WebExtensionAPITabs.idl:
* Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebExtensionAPITabs.mm:
(TestWebKitAPI::TEST):
* Tools/TestWebKitAPI/cocoa/WebExtensionUtilities.h:
* Tools/TestWebKitAPI/cocoa/WebExtensionUtilities.mm:
(-[TestWebExtensionTab initWithWindow:extensionController:]): Added.
(-[TestWebExtensionTab windowForWebExtensionContext:]): Added.
(-[TestWebExtensionTab mainWebViewForWebExtensionContext:]): Added.
(-[TestWebExtensionWindow setTabs:]): Added. Set active tab too.

Canonical link: https://commits.webkit.org/267864@main




More information about the webkit-changes mailing list