[webkit-changes] [WebKit/WebKit] 9be0cc: Address additional Web Extension API feedback for ...

Timothy Hatcher noreply at github.com
Fri Sep 13 16:25:30 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 9be0cc1962b926bda0d487fbdf23996dd0564aa9
      https://github.com/WebKit/WebKit/commit/9be0cc1962b926bda0d487fbdf23996dd0564aa9
  Author: Timothy Hatcher <timothy at apple.com>
  Date:   2024-09-13 (Fri, 13 Sep 2024)

  Changed paths:
    M Source/WebKit/UIProcess/API/Cocoa/WKWebExtensionContext.h
    M Source/WebKit/UIProcess/API/Cocoa/WKWebExtensionContext.mm
    M Source/WebKit/UIProcess/API/Cocoa/WKWebExtensionController.h
    M Source/WebKit/UIProcess/API/Cocoa/WKWebExtensionController.mm
    M Source/WebKit/UIProcess/API/Cocoa/WKWebExtensionMatchPattern.h
    M Source/WebKit/UIProcess/API/Cocoa/WKWebExtensionMessagePort.h
    M Source/WebKit/UIProcess/API/Cocoa/WebKitSwiftOverlay.swift
    M Source/WebKit/UIProcess/API/Cocoa/_WKWebExtensionContext.h
    M Tools/TestWebKitAPI/cocoa/WebExtensionUtilities.mm

  Log Message:
  -----------
  Address additional Web Extension API feedback for Swift.
https://webkit.org/b/279638
rdar://problem/135959192

Reviewed by Jeff Miller.

Fixed the name for `WKWebExtensionContext.PermissionStatus`, which was missed in previous a rename.

Changed `didSelectTabs:` and `didDeselectTabs:` to take arrays instead of sets for better API ergonomics.

Removed all `NS_SWIFT_UNAVAILABLE` uses, so the optional parameter version is available to Swift without
the need to overlay many more methods.

Added some Swift overlays for `NS_REFINED_FOR_SWIFT` methods to give default values to optional parameters.

Dropped the remaining `conformsToProtocol:` checks in place of simple `nil` checks, as it is bad for
performance and not required as all our protocol methods are optional.

* Source/WebKit/UIProcess/API/Cocoa/WKWebExtensionContext.h:
* Source/WebKit/UIProcess/API/Cocoa/WKWebExtensionContext.mm:
(-[WKWebExtensionContext hasPermission:inTab:]):
(-[WKWebExtensionContext hasAccessToURL:inTab:]):
(-[WKWebExtensionContext permissionStatusForPermission:inTab:]):
(-[WKWebExtensionContext permissionStatusForURL:inTab:]):
(-[WKWebExtensionContext permissionStatusForMatchPattern:inTab:]):
(-[WKWebExtensionContext actionForTab:]):
(-[WKWebExtensionContext performActionForTab:]):
(-[WKWebExtensionContext menuItemsForTab:]):
(-[WKWebExtensionContext userGesturePerformedInTab:]):
(-[WKWebExtensionContext hasActiveUserGestureInTab:]):
(-[WKWebExtensionContext clearUserGestureInTab:]):
(-[WKWebExtensionContext didOpenWindow:]):
(-[WKWebExtensionContext didCloseWindow:]):
(-[WKWebExtensionContext didFocusWindow:]):
(-[WKWebExtensionContext didOpenTab:]):
(-[WKWebExtensionContext didCloseTab:windowIsClosing:]):
(-[WKWebExtensionContext didActivateTab:previousActiveTab:]):
(-[WKWebExtensionContext didSelectTabs:]):
(-[WKWebExtensionContext didDeselectTabs:]):
(-[WKWebExtensionContext didMoveTab:fromIndex:inWindow:]):
(-[WKWebExtensionContext didReplaceTab:withTab:]):
(-[WKWebExtensionContext didChangeTabProperties:forTab:]):
(-[WKWebExtensionContext sidebarForTab:]):
* Source/WebKit/UIProcess/API/Cocoa/WKWebExtensionController.h:
* Source/WebKit/UIProcess/API/Cocoa/WKWebExtensionController.mm:
(-[WKWebExtensionController didOpenWindow:]):
(-[WKWebExtensionController didCloseWindow:]):
(-[WKWebExtensionController didFocusWindow:]):
(-[WKWebExtensionController didOpenTab:]):
(-[WKWebExtensionController didCloseTab:windowIsClosing:]):
(-[WKWebExtensionController didActivateTab:previousActiveTab:]):
(-[WKWebExtensionController didSelectTabs:]):
(-[WKWebExtensionController didDeselectTabs:]):
(-[WKWebExtensionController didMoveTab:fromIndex:inWindow:]):
(-[WKWebExtensionController didReplaceTab:withTab:]):
(-[WKWebExtensionController didChangeTabProperties:forTab:]):
* Source/WebKit/UIProcess/API/Cocoa/WKWebExtensionMatchPattern.h:
* Source/WebKit/UIProcess/API/Cocoa/WKWebExtensionMessagePort.h:
* Source/WebKit/UIProcess/API/Cocoa/WebKitSwiftOverlay.swift:
(WKWebExtensionController.didCloseTab(_:windowIsClosing:)):
(WKWebExtensionController.didActivateTab(_:previousActiveTab:)):
(WKWebExtensionController.didMoveTab(_:from:in:)):
(WKWebExtensionContext.didCloseTab(_:windowIsClosing:)):
(WKWebExtensionContext.didActivateTab(_:previousActiveTab:)):
(WKWebExtensionContext.didMoveTab(_:from:in:)):
* Source/WebKit/UIProcess/API/Cocoa/_WKWebExtensionContext.h:
* Tools/TestWebKitAPI/cocoa/WebExtensionUtilities.mm:
(-[TestWebExtensionTab setSelected:forWebExtensionContext:completionHandler:]):

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



To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications


More information about the webkit-changes mailing list