Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: f1eb252bd8272bd6c8aec0a89c37295ad8ede9af
      
https://github.com/WebKit/WebKit/commit/f1eb252bd8272bd6c8aec0a89c37295ad8ede9af
  Author: Timothy Hatcher <[email protected]>
  Date:   2023-10-03 (Tue, 03 Oct 2023)

  Changed paths:
    M Source/WebKit/DerivedSources-input.xcfilelist
    M Source/WebKit/DerivedSources-output.xcfilelist
    M Source/WebKit/DerivedSources.make
    M Source/WebKit/UIProcess/API/Cocoa/_WKWebExtensionContext.mm
    A 
Source/WebKit/UIProcess/Extensions/Cocoa/API/WebExtensionContextAPIActionCocoa.mm
    M Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionActionCocoa.mm
    M Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionContextCocoa.mm
    M Source/WebKit/UIProcess/Extensions/WebExtensionAction.h
    M Source/WebKit/UIProcess/Extensions/WebExtensionContext.h
    M Source/WebKit/UIProcess/Extensions/WebExtensionContext.messages.in
    M Source/WebKit/UIProcess/Extensions/WebExtensionWindow.h
    M Source/WebKit/WebKit.xcodeproj/project.pbxproj
    A 
Source/WebKit/WebProcess/Extensions/API/Cocoa/WebExtensionAPIActionCocoa.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
    A Source/WebKit/WebProcess/Extensions/API/WebExtensionAPIAction.h
    M Source/WebKit/WebProcess/Extensions/API/WebExtensionAPINamespace.h
    M Source/WebKit/WebProcess/Extensions/API/WebExtensionAPITabs.h
    A Source/WebKit/WebProcess/Extensions/Interfaces/WebExtensionAPIAction.idl
    M 
Source/WebKit/WebProcess/Extensions/Interfaces/WebExtensionAPINamespace.idl
    M Source/WebKit/WebProcess/Extensions/WebExtensionContextProxy.h
    M Source/WebKit/WebProcess/Extensions/WebExtensionContextProxy.messages.in
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebExtensionAPIAction.mm
    M Tools/TestWebKitAPI/cocoa/WebExtensionUtilities.h
    M Tools/TestWebKitAPI/cocoa/WebExtensionUtilities.mm

  Log Message:
  -----------
  Add support for action, browserAction, and pageAction APIs.
https://webkit.org/b/260154
rdar://problem/114823241

Reviewed by Brian Weinstein.

Added support for the manifest v3 action API (and browserAction and pageAction 
APIs in v2).
Also added support for the windowId key, which is supported in Firefox by not 
Chrome.

* Source/WebKit/DerivedSources-input.xcfilelist:
* Source/WebKit/DerivedSources-output.xcfilelist:
* Source/WebKit/DerivedSources.make:
* Source/WebKit/UIProcess/API/Cocoa/_WKWebExtensionContext.mm:
(-[_WKWebExtensionContext performActionForTab:]):
* 
Source/WebKit/UIProcess/Extensions/Cocoa/API/WebExtensionContextAPIActionCocoa.mm:
 Added.
(WebKit::getActionWithIdentifiers):
(WebKit::getOrCreateActionWithIdentifiers):
(WebKit::WebExtensionContext::actionGetTitle):
(WebKit::WebExtensionContext::actionSetTitle):
(WebKit::WebExtensionContext::actionSetIcon):
(WebKit::WebExtensionContext::actionGetPopup):
(WebKit::WebExtensionContext::actionSetPopup):
(WebKit::WebExtensionContext::actionOpenPopup):
(WebKit::WebExtensionContext::actionGetBadgeText):
(WebKit::WebExtensionContext::actionSetBadgeText):
(WebKit::WebExtensionContext::actionGetEnabled):
(WebKit::WebExtensionContext::actionSetEnabled):
(WebKit::WebExtensionContext::fireActionClickedEventIfNeeded):
* Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionActionCocoa.mm:
(-[_WKWebExtensionActionWebView invalidateIntrinsicContentSize]):
(WebKit::WebExtensionAction::WebExtensionAction):
(WebKit::WebExtensionAction::operator== const):
(WebKit::WebExtensionAction::icon):
(WebKit::WebExtensionAction::setIconsDictionary):
(WebKit::WebExtensionAction::popupPath const):
(WebKit::WebExtensionAction::presentPopupWhenReady):
(WebKit::WebExtensionAction::readyToPresentPopup):
(WebKit::WebExtensionAction::displayLabel const):
(WebKit::WebExtensionAction::badgeText const):
(WebKit::WebExtensionAction::isEnabled const):
* Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionContextCocoa.mm:
(WebKit::WebExtensionContext::setInspectable):
(WebKit::WebExtensionContext::defaultAction):
(WebKit::WebExtensionContext::getAction):
(WebKit::WebExtensionContext::getOrCreateAction):
(WebKit::WebExtensionContext::performAction):
(WebKit::WebExtensionContext::relatedWebView):
* Source/WebKit/UIProcess/Extensions/WebExtensionAction.h:
(WebKit::WebExtensionAction::window):
(WebKit::WebExtensionAction::canProgramaticlyPresentPopup const):
* Source/WebKit/UIProcess/Extensions/WebExtensionContext.h:
* Source/WebKit/UIProcess/Extensions/WebExtensionContext.messages.in:
* Source/WebKit/UIProcess/Extensions/WebExtensionWindow.h:
* Source/WebKit/WebKit.xcodeproj/project.pbxproj:
* Source/WebKit/WebProcess/Extensions/API/Cocoa/WebExtensionAPIActionCocoa.mm: 
Added.
(WebKit::WebExtensionAPIAction::parseActionDetails):
(WebKit::WebExtensionAPIAction::getTitle):
(WebKit::WebExtensionAPIAction::setTitle):
(WebKit::WebExtensionAPIAction::getBadgeText):
(WebKit::WebExtensionAPIAction::setBadgeText):
(WebKit::WebExtensionAPIAction::getBadgeBackgroundColor):
(WebKit::WebExtensionAPIAction::setBadgeBackgroundColor):
(WebKit::WebExtensionAPIAction::enable):
(WebKit::WebExtensionAPIAction::disable):
(WebKit::WebExtensionAPIAction::isEnabled):
(WebKit::dataURLFromImageData):
(WebKit::isValidDimensionKey):
(WebKit::WebExtensionAPIAction::setIcon):
(WebKit::WebExtensionAPIAction::getPopup):
(WebKit::WebExtensionAPIAction::setPopup):
(WebKit::WebExtensionAPIAction::openPopup):
(WebKit::WebExtensionAPIAction::onClicked):
(WebKit::WebExtensionContextProxy::dispatchActionClickedEvent):
* 
Source/WebKit/WebProcess/Extensions/API/Cocoa/WebExtensionAPINamespaceCocoa.mm:
(WebKit::WebExtensionAPINamespace::isPropertyAllowed):
(WebKit::WebExtensionAPINamespace::action):
(WebKit::WebExtensionAPINamespace::i18n):
* Source/WebKit/WebProcess/Extensions/API/Cocoa/WebExtensionAPITabsCocoa.mm:
(WebKit::isValid): Removed static so other files can use this.
* Source/WebKit/WebProcess/Extensions/API/Cocoa/WebExtensionAPIWindowsCocoa.mm:
(WebKit::WebExtensionContextProxy::dispatchWindowsEvent):
* Source/WebKit/WebProcess/Extensions/API/WebExtensionAPIAction.h: Added.
* Source/WebKit/WebProcess/Extensions/API/WebExtensionAPINamespace.h:
(WebKit::WebExtensionAPINamespace::browserAction):
(WebKit::WebExtensionAPINamespace::pageAction):
* Source/WebKit/WebProcess/Extensions/API/WebExtensionAPITabs.h:
* Source/WebKit/WebProcess/Extensions/Interfaces/WebExtensionAPIAction.idl: 
Added.
* Source/WebKit/WebProcess/Extensions/Interfaces/WebExtensionAPINamespace.idl:
* Source/WebKit/WebProcess/Extensions/WebExtensionContextProxy.h:
* Source/WebKit/WebProcess/Extensions/WebExtensionContextProxy.messages.in:
* Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebExtensionAPIAction.mm:
(TestWebKitAPI::TEST):
* Tools/TestWebKitAPI/cocoa/WebExtensionUtilities.h:
* Tools/TestWebKitAPI/cocoa/WebExtensionUtilities.mm:
(-[TestWebExtensionManager done]): Added.

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


_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to