Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 442841bf92b4e7def4d5edbf6006afe26c5dd9ff
      
https://github.com/WebKit/WebKit/commit/442841bf92b4e7def4d5edbf6006afe26c5dd9ff
  Author: Timothy Hatcher <timo...@apple.com>
  Date:   2024-07-25 (Thu, 25 Jul 2024)

  Changed paths:
    M Source/WebKit/UIProcess/API/Cocoa/_WKWebExtensionCommand.h
    M Source/WebKit/UIProcess/API/Cocoa/_WKWebExtensionContext.mm
    M Source/WebKit/UIProcess/API/Cocoa/_WKWebExtensionTab.h
    M Source/WebKit/UIProcess/API/Cocoa/_WKWebExtensionWindow.h
    M 
Source/WebKit/UIProcess/Extensions/Cocoa/API/WebExtensionContextAPITabsCocoa.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/WebExtensionTab.h
    M Source/WebKit/UIProcess/Extensions/WebExtensionWindow.h
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebExtensionAPITabs.mm
    M Tools/TestWebKitAPI/cocoa/WebExtensionUtilities.h
    M Tools/TestWebKitAPI/cocoa/WebExtensionUtilities.mm

  Log Message:
  -----------
  Update Web Extension tabs API based on feedback.
https://webkit.org/b/277019
rdar://problem/132419218

Reviewed by Brian Weinstein.

Revise several `_WKWebExtensionTab` protocol methods to have a single setter 
instead of two.
This simplifies the client’s code and reduces the likelihood of forgetting to 
implement both
true and false states for features like pin, mute, reader mode, and select.

To ensure future-proofing, I changed the `captureVisibleWebpage` method to 
`takeSnapshot` and
pass along the `WKSnapshotConfiguration`. This allows Web Extensions to have 
different options
in the future without requiring additional changes.

Additionally, I reduced the reload methods to one with a parameter for 
fromOrigin, and I
removed the “detect” keyword from `detectWebpageLocale`.

Finally, `_WKWebExtensionTabChangedPropertiesAll` has been removed since it is 
not future proof
and dangerous if more properties are added later.

* Source/WebKit/UIProcess/API/Cocoa/_WKWebExtensionContext.mm:
(toImpl):
* Source/WebKit/UIProcess/API/Cocoa/_WKWebExtensionTab.h:
* Source/WebKit/UIProcess/API/Cocoa/_WKWebExtensionWindow.h:
* 
Source/WebKit/UIProcess/Extensions/Cocoa/API/WebExtensionContextAPITabsCocoa.mm:
(WebKit::WebExtensionContext::tabsReload):
* Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionTabCocoa.mm:
(WebKit::WebExtensionTab::WebExtensionTab):
(WebKit::WebExtensionTab::parameters const):
(WebKit::WebExtensionTab::changedParameters const):
(WebKit::WebExtensionTab::title const):
(WebKit::WebExtensionTab::setPinned):
(WebKit::WebExtensionTab::setReaderModeShowing):
(WebKit::WebExtensionTab::isReaderModeShowing const):
(WebKit::WebExtensionTab::setMuted):
(WebKit::WebExtensionTab::detectWebpageLocale):
(WebKit::WebExtensionTab::captureVisibleWebpage):
(WebKit::WebExtensionTab::reload):
(WebKit::WebExtensionTab::setSelected):
(WebKit::WebExtensionTab::pin): Deleted.
(WebKit::WebExtensionTab::unpin): Deleted.
(WebKit::WebExtensionTab::toggleReaderMode): Deleted.
(WebKit::WebExtensionTab::isShowingReaderMode const): Deleted.
(WebKit::WebExtensionTab::mute): Deleted.
(WebKit::WebExtensionTab::unmute): Deleted.
(WebKit::WebExtensionTab::reloadFromOrigin): Deleted.
(WebKit::WebExtensionTab::select): Deleted.
(WebKit::WebExtensionTab::deselect): Deleted.
* Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionWindowCocoa.mm:
(WebKit::WebExtensionWindow::WebExtensionWindow):
* Source/WebKit/UIProcess/Extensions/WebExtensionContext.h:
* Source/WebKit/UIProcess/Extensions/WebExtensionTab.h:
(WebKit::WebExtensionTab::pin):
(WebKit::WebExtensionTab::unpin):
(WebKit::WebExtensionTab::toggleReaderMode):
(WebKit::WebExtensionTab::mute):
(WebKit::WebExtensionTab::unmute):
(WebKit::WebExtensionTab::select):
(WebKit::WebExtensionTab::deselect):
* Source/WebKit/UIProcess/Extensions/WebExtensionWindow.h:
* Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebExtensionAPITabs.mm:
(TestWebKitAPI::TEST(WKWebExtensionAPITabs, ToggleReaderMode)):
(TestWebKitAPI::TEST(WKWebExtensionAPITabs, DetectLanguage)):
(TestWebKitAPI::TEST(WKWebExtensionAPITabs, Reload)):
* Tools/TestWebKitAPI/cocoa/WebExtensionUtilities.h:
* Tools/TestWebKitAPI/cocoa/WebExtensionUtilities.mm:
(-[TestWebExtensionTab isReaderModeShowingForWebExtensionContext:]):
(-[TestWebExtensionTab 
setReaderModeShowing:forWebExtensionContext:completionHandler:]):
(-[TestWebExtensionTab webpageLocaleForWebExtensionContext:completionHandler:]):
(-[TestWebExtensionTab 
reloadForWebExtensionContext:fromOrigin:completionHandler:]):
(-[TestWebExtensionTab setPinned:forWebExtensionContext:completionHandler:]):
(-[TestWebExtensionTab setMuted:forWebExtensionContext:completionHandler:]):
(-[TestWebExtensionTab setSelected:forWebExtensionContext:completionHandler:]):
(-[TestWebExtensionTab isShowingReaderModeForWebExtensionContext:]): Deleted.
(-[TestWebExtensionTab 
toggleReaderModeForWebExtensionContext:completionHandler:]): Deleted.
(-[TestWebExtensionTab 
detectWebpageLocaleForWebExtensionContext:completionHandler:]): Deleted.
(-[TestWebExtensionTab reloadForWebExtensionContext:completionHandler:]): 
Deleted.
(-[TestWebExtensionTab 
reloadFromOriginForWebExtensionContext:completionHandler:]): Deleted.
(-[TestWebExtensionTab pinForWebExtensionContext:completionHandler:]): Deleted.
(-[TestWebExtensionTab unpinForWebExtensionContext:completionHandler:]): 
Deleted.
(-[TestWebExtensionTab muteForWebExtensionContext:completionHandler:]): Deleted.
(-[TestWebExtensionTab unmuteForWebExtensionContext:completionHandler:]): 
Deleted.
(-[TestWebExtensionTab selectForWebExtensionContext:completionHandler:]): 
Deleted.
(-[TestWebExtensionTab deselectForWebExtensionContext:completionHandler:]): 
Deleted.

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to