[webkit-changes] [WebKit/WebKit] 4f73dc: Add support for simple Web Extension tabs APIs.
Timothy Hatcher
noreply at github.com
Mon Sep 11 14:38:03 PDT 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 4f73dc6538b368a37e5b18ed205910a28658c988
https://github.com/WebKit/WebKit/commit/4f73dc6538b368a37e5b18ed205910a28658c988
Author: Timothy Hatcher <timothy at apple.com>
Date: 2023-09-11 (Mon, 11 Sep 2023)
Changed paths:
M Source/WebKit/Platform/cocoa/CocoaHelpers.h
M Source/WebKit/Platform/cocoa/CocoaHelpers.mm
M Source/WebKit/Shared/Extensions/WebExtensionTab.serialization.in
M Source/WebKit/Shared/Extensions/WebExtensionTabIdentifier.h
M Source/WebKit/Shared/Extensions/WebExtensionUtilities.h
M Source/WebKit/Shared/Extensions/WebExtensionUtilities.mm
M Source/WebKit/Shared/Extensions/WebExtensionWindowIdentifier.h
M Source/WebKit/UIProcess/API/Cocoa/_WKWebExtensionContext.mm
M Source/WebKit/UIProcess/Extensions/Cocoa/API/WebExtensionContextAPITabsCocoa.mm
M Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionContextCocoa.mm
M Source/WebKit/UIProcess/Extensions/WebExtensionContext.h
M Source/WebKit/UIProcess/Extensions/WebExtensionContext.messages.in
M Source/WebKit/WebProcess/Extensions/API/Cocoa/WebExtensionAPILocalizationCocoa.mm
M Source/WebKit/WebProcess/Extensions/API/Cocoa/WebExtensionAPITabsCocoa.mm
M Source/WebKit/WebProcess/Extensions/API/WebExtensionAPITabs.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 simple Web Extension tabs APIs.
https://bugs.webkit.org/show_bug.cgi?id=261412
rdar://problem/115291352
Reviewed by Brian Weinstein.
Support for tabs.reload(), goBack(), goForward(), detectLanguage(), toggleReaderMode(),
setZoom(), getZoom(), and remove().
* Source/WebKit/Platform/cocoa/CocoaHelpers.h:
* Source/WebKit/Platform/cocoa/CocoaHelpers.mm:
(WebKit::localeStringInWebExtensionFormat): Deleted.
* Source/WebKit/Shared/Extensions/WebExtensionTab.serialization.in:
* Source/WebKit/Shared/Extensions/WebExtensionTabIdentifier.h:
* Source/WebKit/Shared/Extensions/WebExtensionUtilities.h:
* Source/WebKit/Shared/Extensions/WebExtensionUtilities.mm:
(WebKit::toWebAPI): Added. Moved localeStringInWebExtensionFormat from CocoaHelpers.
Since this is a Web Extension specific function it makes more since here.
* Source/WebKit/Shared/Extensions/WebExtensionWindowIdentifier.h:
* Source/WebKit/UIProcess/API/Cocoa/_WKWebExtensionContext.mm:
(toAPI): Use WindowVector and TabMapValueIterator from WebExtensionContext.
* Source/WebKit/UIProcess/Extensions/Cocoa/API/WebExtensionContextAPITabsCocoa.mm:
(WebKit::WebExtensionContext::tabsReload): Added.
(WebKit::WebExtensionContext::tabsGoBack): Added.
(WebKit::WebExtensionContext::tabsGoForward): Added.
(WebKit::WebExtensionContext::tabsDetectLanguage): Added.
(WebKit::WebExtensionContext::tabsToggleReaderMode): Added.
(WebKit::WebExtensionContext::tabsGetZoom): Added.
(WebKit::WebExtensionContext::tabsSetZoom): Added.
(WebKit::WebExtensionContext::tabsRemove): Added.
* Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionContextCocoa.mm:
(WebKit::WebExtensionContext::getWindow): Use page identifier to find the tab.
(WebKit::WebExtensionContext::getTab): Added. Use page identifier to lookup active tab in window
if a tab identifier isn't specified.
(WebKit::WebExtensionContext::openWindows const): Made const and fixed a typo.
(WebKit::WebExtensionContext::openWindows): Deleted.
(WebKit::WebExtensionContext::openTabs): Deleted. Made inline in the header.
* Source/WebKit/UIProcess/Extensions/WebExtensionContext.h:
(WebKit::WebExtensionContext::openTabs const):
* Source/WebKit/UIProcess/Extensions/WebExtensionContext.messages.in:
* Source/WebKit/WebProcess/Extensions/API/Cocoa/WebExtensionAPILocalizationCocoa.mm:
(WebKit::WebExtensionAPILocalization::getUILanguage):
* Source/WebKit/WebProcess/Extensions/API/Cocoa/WebExtensionAPITabsCocoa.mm:
(WebKit::WebExtensionAPITabs::remove): Implemented. Send message to the UIProcess.
(WebKit::WebExtensionAPITabs::reload): Implemented. Ditto.
(WebKit::WebExtensionAPITabs::goBack): Implemented. Ditto.
(WebKit::WebExtensionAPITabs::goForward): Implemented. Ditto.
(WebKit::WebExtensionAPITabs::getZoom): Implemented. Ditto.
(WebKit::WebExtensionAPITabs::setZoom): Implemented. Ditto.
(WebKit::WebExtensionAPITabs::detectLanguage): Implemented. Ditto.
(WebKit::WebExtensionAPITabs::toggleReaderMode): Implemented. Ditto.
* Source/WebKit/WebProcess/Extensions/API/WebExtensionAPITabs.h:
* Source/WebKit/WebProcess/Extensions/Interfaces/WebExtensionAPITabs.idl: Added NeedsPage for more functions.
* Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebExtensionAPITabs.mm:
(TestWebKitAPI::TEST): Added tests for all added APIs.
* Tools/TestWebKitAPI/cocoa/WebExtensionUtilities.h:
* Tools/TestWebKitAPI/cocoa/WebExtensionUtilities.mm:
(-[TestWebExtensionTab initWithWindow:extensionController:]): Store the extensions controller for later.
(-[TestWebExtensionTab isShowingReaderModeForWebExtensionContext:]): Added.
(-[TestWebExtensionTab toggleReaderModeForWebExtensionContext:completionHandler:]): Added.
(-[TestWebExtensionTab detectWebpageLocaleForWebExtensionContext:completionHandler:]): Added.
(-[TestWebExtensionTab reloadForWebExtensionContext:completionHandler:]): Added.
(-[TestWebExtensionTab reloadFromOriginForWebExtensionContext:completionHandler:]): Added.
(-[TestWebExtensionTab goBackForWebExtensionContext:completionHandler:]): Added.
(-[TestWebExtensionTab goForwardForWebExtensionContext:completionHandler:]): Added.
(-[TestWebExtensionTab closeForWebExtensionContext:completionHandler:]):
(-[TestWebExtensionWindow init]): Make _tabs mutable.
(-[TestWebExtensionWindow tabs]): Added.
(-[TestWebExtensionWindow setTabs:]): Mutable copy.
(-[TestWebExtensionWindow closeTab:]): Added.
Canonical link: https://commits.webkit.org/267880@main
More information about the webkit-changes
mailing list