One Logo Pool Ball
WebKit · IOS API REFERENCE

WKWebExtensionContext

class · iOS 18.4+ · SDK 27.1

@MainActor class WKWebExtensionContext

Members (87)

get · iOS 18.4+

deniedPermissionMatchPatternsWereRemovedNotification

TypeScript
static get deniedPermissionMatchPatternsWereRemovedNotification(): Promise<_Foundation_NSNotification_Name>
Swift declaration
nonisolated class let deniedPermissionMatchPatternsWereRemovedNotification: NSNotification.Name
get · iOS 18.4+

deniedPermissionsWereRemovedNotification

TypeScript
static get deniedPermissionsWereRemovedNotification(): Promise<_Foundation_NSNotification_Name>
Swift declaration
nonisolated class let deniedPermissionsWereRemovedNotification: NSNotification.Name
get · iOS 18.4+

errorDomain

TypeScript
static get errorDomain(): Promise<string>
Swift declaration
nonisolated class let errorDomain: String
get · iOS 18.4+

errorsDidUpdateNotification

TypeScript
static get errorsDidUpdateNotification(): Promise<_Foundation_NSNotification_Name>
Swift declaration
nonisolated class let errorsDidUpdateNotification: NSNotification.Name
get · iOS 18.4+

grantedPermissionMatchPatternsWereRemovedNotification

TypeScript
static get grantedPermissionMatchPatternsWereRemovedNotification(): Promise<_Foundation_NSNotification_Name>
Swift declaration
nonisolated class let grantedPermissionMatchPatternsWereRemovedNotification: NSNotification.Name
get · iOS 18.4+

grantedPermissionsWereRemovedNotification

TypeScript
static get grantedPermissionsWereRemovedNotification(): Promise<_Foundation_NSNotification_Name>
Swift declaration
nonisolated class let grantedPermissionsWereRemovedNotification: NSNotification.Name
get · iOS 18.4+

permissionMatchPatternsWereDeniedNotification

TypeScript
static get permissionMatchPatternsWereDeniedNotification(): Promise<_Foundation_NSNotification_Name>
Swift declaration
nonisolated class let permissionMatchPatternsWereDeniedNotification: NSNotification.Name
get · iOS 18.4+

permissionMatchPatternsWereGrantedNotification

TypeScript
static get permissionMatchPatternsWereGrantedNotification(): Promise<_Foundation_NSNotification_Name>
Swift declaration
nonisolated class let permissionMatchPatternsWereGrantedNotification: NSNotification.Name
get · iOS 18.4+

permissionsWereDeniedNotification

TypeScript
static get permissionsWereDeniedNotification(): Promise<_Foundation_NSNotification_Name>
Swift declaration
nonisolated class let permissionsWereDeniedNotification: NSNotification.Name
get · iOS 18.4+

permissionsWereGrantedNotification

TypeScript
static get permissionsWereGrantedNotification(): Promise<_Foundation_NSNotification_Name>
Swift declaration
nonisolated class let permissionsWereGrantedNotification: NSNotification.Name
method · iOS 18.4+

action

TypeScript
action(tab?: (Implements<WKWebExtensionTab> | SDKHandle) | null): Promise<(WKWebExtension_Action) | null>
Swift declaration
func action(for tab: (any WKWebExtensionTab)?) -> WKWebExtension.Action?
method · iOS 18.4+

clearUserGesture

TypeScript
clearUserGesture(tab: Implements<WKWebExtensionTab> | SDKHandle): Promise<void>
Swift declaration
func clearUserGesture(in tab: any WKWebExtensionTab)
method · iOS 18.4+

didChangeTabProperties

TypeScript
didChangeTabProperties(properties: WKWebExtension_TabChangedProperties, changedTab: Implements<WKWebExtensionTab> | SDKHandle): Promise<void>
Swift declaration
func didChangeTabProperties(_ properties: WKWebExtension.TabChangedProperties, for changedTab: any WKWebExtensionTab)
method · iOS 18.4+

didCloseWindow

TypeScript
didCloseWindow(closedWindow: Implements<WKWebExtensionWindow> | SDKHandle): Promise<void>
Swift declaration
func didCloseWindow(_ closedWindow: any WKWebExtensionWindow)
method · iOS 18.4+

didDeselectTabs

TypeScript
didDeselectTabs(deselectedTabs: Array<Implements<WKWebExtensionTab> | SDKHandle>): Promise<void>
Swift declaration
func didDeselectTabs(_ deselectedTabs: [any WKWebExtensionTab])
method · iOS 18.4+

didFocusWindow

TypeScript
didFocusWindow(focusedWindow?: (Implements<WKWebExtensionWindow> | SDKHandle) | null): Promise<void>
Swift declaration
func didFocusWindow(_ focusedWindow: (any WKWebExtensionWindow)?)
method · iOS 18.4+

didOpenTab

TypeScript
didOpenTab(newTab: Implements<WKWebExtensionTab> | SDKHandle): Promise<void>
Swift declaration
func didOpenTab(_ newTab: any WKWebExtensionTab)
method · iOS 18.4+

didOpenWindow

TypeScript
didOpenWindow(newWindow: Implements<WKWebExtensionWindow> | SDKHandle): Promise<void>
Swift declaration
func didOpenWindow(_ newWindow: any WKWebExtensionWindow)
method · iOS 18.4+

didReplaceTab

TypeScript
didReplaceTab(oldTab: Implements<WKWebExtensionTab> | SDKHandle, newTab: Implements<WKWebExtensionTab> | SDKHandle): Promise<void>
Swift declaration
func didReplaceTab(_ oldTab: any WKWebExtensionTab, with newTab: any WKWebExtensionTab)
method · iOS 18.4+

didSelectTabs

TypeScript
didSelectTabs(selectedTabs: Array<Implements<WKWebExtensionTab> | SDKHandle>): Promise<void>
Swift declaration
func didSelectTabs(_ selectedTabs: [any WKWebExtensionTab])
method · iOS 18.4+

hasAccess

TypeScript
hasAccessTo(url: string): Promise<boolean>
Swift declaration
func hasAccess(to url: URL) -> Bool
method · iOS 18.4+

hasAccess

TypeScript
hasAccessToIn(url: string, tab?: (Implements<WKWebExtensionTab> | SDKHandle) | null): Promise<boolean>
Swift declaration
func hasAccess(to url: URL, in tab: (any WKWebExtensionTab)?) -> Bool
method · iOS 18.4+

hasActiveUserGesture

TypeScript
hasActiveUserGesture(tab: Implements<WKWebExtensionTab> | SDKHandle): Promise<boolean>
Swift declaration
func hasActiveUserGesture(in tab: any WKWebExtensionTab) -> Bool
method · iOS 18.4+

hasInjectedContent

TypeScript
hasInjectedContentFor(url: string): Promise<boolean>
Swift declaration
func hasInjectedContent(for url: URL) -> Bool
method · iOS 18.4+

hasPermission

TypeScript
hasPermission(permission: WKWebExtension_Permission): Promise<boolean>
Swift declaration
func hasPermission(_ permission: WKWebExtension.Permission) -> Bool
method · iOS 18.4+

hasPermission

TypeScript
hasPermissionIn(permission: WKWebExtension_Permission, tab?: (Implements<WKWebExtensionTab> | SDKHandle) | null): Promise<boolean>
Swift declaration
func hasPermission(_ permission: WKWebExtension.Permission, in tab: (any WKWebExtensionTab)?) -> Bool
init · iOS 18.4+

init

TypeScript
static init(extension: WKWebExtension): Promise<WKWebExtensionContext>
Swift declaration
init(for extension: WKWebExtension)
method · iOS 18.4+

loadBackgroundContent

TypeScript
loadBackgroundContent(completionHandler: ((arg0: (NativeError) | null) => void)): Promise<void>
Swift declaration
func loadBackgroundContent() async throws
method · iOS 18.4+

menuItems

TypeScript
menuItems(tab: Implements<WKWebExtensionTab> | SDKHandle): Promise<Array<_UIKit_UIMenuElement>>
Swift declaration
func menuItems(for tab: any WKWebExtensionTab) -> [UIMenuElement]
method · iOS 18.4+

performAction

TypeScript
performAction(tab?: (Implements<WKWebExtensionTab> | SDKHandle) | null): Promise<void>
Swift declaration
func performAction(for tab: (any WKWebExtensionTab)?)
method · iOS 18.4+

performCommand

TypeScript
performCommand(command: WKWebExtension_Command): Promise<void>
Swift declaration
func performCommand(_ command: WKWebExtension.Command)
method · iOS 18.4+

performCommand

TypeScript
performCommandFor(keyCommand: _UIKit_UIKeyCommand): Promise<boolean>
Swift declaration
func performCommand(for keyCommand: UIKeyCommand) -> Bool
method · iOS 18.4+

permissionStatus

TypeScript
permissionStatusFor(pattern: WKWebExtension_MatchPattern): Promise<WKWebExtensionContext_PermissionStatus>
Swift declaration
func permissionStatus(for pattern: WKWebExtension.MatchPattern) -> WKWebExtensionContext.PermissionStatus
method · iOS 18.4+

permissionStatus

TypeScript
permissionStatusForIn(pattern: WKWebExtension_MatchPattern, tab?: (Implements<WKWebExtensionTab> | SDKHandle) | null): Promise<WKWebExtensionContext_PermissionStatus>
Swift declaration
func permissionStatus(for pattern: WKWebExtension.MatchPattern, in tab: (any WKWebExtensionTab)?) -> WKWebExtensionContext.PermissionStatus
method · iOS 18.4+

permissionStatus

TypeScript
permissionStatusFor51407(permission: WKWebExtension_Permission): Promise<WKWebExtensionContext_PermissionStatus>
Swift declaration
func permissionStatus(for permission: WKWebExtension.Permission) -> WKWebExtensionContext.PermissionStatus
method · iOS 18.4+

permissionStatus

TypeScript
permissionStatusForIn75963(permission: WKWebExtension_Permission, tab?: (Implements<WKWebExtensionTab> | SDKHandle) | null): Promise<WKWebExtensionContext_PermissionStatus>
Swift declaration
func permissionStatus(for permission: WKWebExtension.Permission, in tab: (any WKWebExtensionTab)?) -> WKWebExtensionContext.PermissionStatus
method · iOS 18.4+

permissionStatus

TypeScript
permissionStatusFor21065(url: string): Promise<WKWebExtensionContext_PermissionStatus>
Swift declaration
func permissionStatus(for url: URL) -> WKWebExtensionContext.PermissionStatus
method · iOS 18.4+

permissionStatus

TypeScript
permissionStatusForIn76857(url: string, tab?: (Implements<WKWebExtensionTab> | SDKHandle) | null): Promise<WKWebExtensionContext_PermissionStatus>
Swift declaration
func permissionStatus(for url: URL, in tab: (any WKWebExtensionTab)?) -> WKWebExtensionContext.PermissionStatus
method · iOS 18.4+

setPermissionStatus

TypeScript
setPermissionStatusFor(status: WKWebExtensionContext_PermissionStatus, pattern: WKWebExtension_MatchPattern): Promise<void>
Swift declaration
func setPermissionStatus(_ status: WKWebExtensionContext.PermissionStatus, for pattern: WKWebExtension.MatchPattern)
method · iOS 18.4+

setPermissionStatus

TypeScript
setPermissionStatusForExpirationDate(status: WKWebExtensionContext_PermissionStatus, pattern: WKWebExtension_MatchPattern, expirationDate?: (globalThis.Date) | null): Promise<void>
Swift declaration
func setPermissionStatus(_ status: WKWebExtensionContext.PermissionStatus, for pattern: WKWebExtension.MatchPattern, expirationDate: Date?)
method · iOS 18.4+

setPermissionStatus

TypeScript
setPermissionStatusFor3023(status: WKWebExtensionContext_PermissionStatus, permission: WKWebExtension_Permission): Promise<void>
Swift declaration
func setPermissionStatus(_ status: WKWebExtensionContext.PermissionStatus, for permission: WKWebExtension.Permission)
method · iOS 18.4+

setPermissionStatus

TypeScript
setPermissionStatusForExpirationDate9336(status: WKWebExtensionContext_PermissionStatus, permission: WKWebExtension_Permission, expirationDate?: (globalThis.Date) | null): Promise<void>
Swift declaration
func setPermissionStatus(_ status: WKWebExtensionContext.PermissionStatus, for permission: WKWebExtension.Permission, expirationDate: Date?)
method · iOS 18.4+

setPermissionStatus

TypeScript
setPermissionStatusFor98953(status: WKWebExtensionContext_PermissionStatus, url: string): Promise<void>
Swift declaration
func setPermissionStatus(_ status: WKWebExtensionContext.PermissionStatus, for url: URL)
method · iOS 18.4+

setPermissionStatus

TypeScript
setPermissionStatusForExpirationDate22950(status: WKWebExtensionContext_PermissionStatus, url: string, expirationDate?: (globalThis.Date) | null): Promise<void>
Swift declaration
func setPermissionStatus(_ status: WKWebExtensionContext.PermissionStatus, for url: URL, expirationDate: Date?)
method · iOS 18.4+

userGesturePerformed

TypeScript
userGesturePerformed(tab: Implements<WKWebExtensionTab> | SDKHandle): Promise<void>
Swift declaration
func userGesturePerformed(in tab: any WKWebExtensionTab)
get · iOS 18.4+

baseURL

TypeScript
get baseURL(): Promise<string>
Swift declaration
var baseURL: URL { get set }
set · iOS 18.4+

baseURL

TypeScript
setBaseURL(value: string): Promise<void>
Swift declaration
var baseURL: URL { get set }
get · iOS 18.4+

commands

TypeScript
get commands(): Promise<Array<WKWebExtension_Command>>
Swift declaration
var commands: [WKWebExtension.Command] { get }
get · iOS 18.4+

currentPermissionMatchPatterns

TypeScript
get currentPermissionMatchPatterns(): Promise<Array<WKWebExtension_MatchPattern>>
Swift declaration
var currentPermissionMatchPatterns: Set<WKWebExtension.MatchPattern> { get }
get · iOS 18.4+

currentPermissions

TypeScript
get currentPermissions(): Promise<Array<WKWebExtension_Permission>>
Swift declaration
var currentPermissions: Set<WKWebExtension.Permission> { get }
get · iOS 18.4+

deniedPermissionMatchPatterns

TypeScript
get deniedPermissionMatchPatterns(): Promise<NativeMap<WKWebExtension_MatchPattern, globalThis.Date>>
Swift declaration
var deniedPermissionMatchPatterns: [WKWebExtension.MatchPattern : Date] { get set }
set · iOS 18.4+

deniedPermissionMatchPatterns

TypeScript
setDeniedPermissionMatchPatterns(value: NativeMap<WKWebExtension_MatchPattern, globalThis.Date>): Promise<void>
Swift declaration
var deniedPermissionMatchPatterns: [WKWebExtension.MatchPattern : Date] { get set }
get · iOS 18.4+

deniedPermissions

TypeScript
get deniedPermissions(): Promise<NativeMap<WKWebExtension_Permission, globalThis.Date>>
Swift declaration
var deniedPermissions: [WKWebExtension.Permission : Date] { get set }
set · iOS 18.4+

deniedPermissions

TypeScript
setDeniedPermissions(value: NativeMap<WKWebExtension_Permission, globalThis.Date>): Promise<void>
Swift declaration
var deniedPermissions: [WKWebExtension.Permission : Date] { get set }
get · iOS 18.4+

errors

TypeScript
get errors(): Promise<Array<NativeError>>
Swift declaration
var errors: [any Error] { get }
get · iOS 18.4+

focusedWindow

TypeScript
get focusedWindow(): Promise<(SDKHandle) | null>
Swift declaration
weak var focusedWindow: (any WKWebExtensionWindow)? { get }
get · iOS 18.4+

grantedPermissionMatchPatterns

TypeScript
get grantedPermissionMatchPatterns(): Promise<NativeMap<WKWebExtension_MatchPattern, globalThis.Date>>
Swift declaration
var grantedPermissionMatchPatterns: [WKWebExtension.MatchPattern : Date] { get set }
set · iOS 18.4+

grantedPermissionMatchPatterns

TypeScript
setGrantedPermissionMatchPatterns(value: NativeMap<WKWebExtension_MatchPattern, globalThis.Date>): Promise<void>
Swift declaration
var grantedPermissionMatchPatterns: [WKWebExtension.MatchPattern : Date] { get set }
get · iOS 18.4+

grantedPermissions

TypeScript
get grantedPermissions(): Promise<NativeMap<WKWebExtension_Permission, globalThis.Date>>
Swift declaration
var grantedPermissions: [WKWebExtension.Permission : Date] { get set }
set · iOS 18.4+

grantedPermissions

TypeScript
setGrantedPermissions(value: NativeMap<WKWebExtension_Permission, globalThis.Date>): Promise<void>
Swift declaration
var grantedPermissions: [WKWebExtension.Permission : Date] { get set }
get · iOS 18.4+

hasAccessToAllHosts

TypeScript
get hasAccessToAllHosts(): Promise<boolean>
Swift declaration
var hasAccessToAllHosts: Bool { get }
get · iOS 18.4+

hasAccessToAllURLs

TypeScript
get hasAccessToAllURLs(): Promise<boolean>
Swift declaration
var hasAccessToAllURLs: Bool { get }
get · iOS 18.4+

hasAccessToPrivateData

TypeScript
get hasAccessToPrivateData(): Promise<boolean>
Swift declaration
var hasAccessToPrivateData: Bool { get set }
set · iOS 18.4+

hasAccessToPrivateData

TypeScript
setHasAccessToPrivateData(value: boolean): Promise<void>
Swift declaration
var hasAccessToPrivateData: Bool { get set }
get · iOS 18.4+

hasContentModificationRules

TypeScript
get hasContentModificationRules(): Promise<boolean>
Swift declaration
var hasContentModificationRules: Bool { get }
get · iOS 18.4+

hasInjectedContent

TypeScript
get hasInjectedContent(): Promise<boolean>
Swift declaration
var hasInjectedContent: Bool { get }
get · iOS 18.4+

hasRequestedOptionalAccessToAllHosts

TypeScript
get hasRequestedOptionalAccessToAllHosts(): Promise<boolean>
Swift declaration
var hasRequestedOptionalAccessToAllHosts: Bool { get set }
set · iOS 18.4+

hasRequestedOptionalAccessToAllHosts

TypeScript
setHasRequestedOptionalAccessToAllHosts(value: boolean): Promise<void>
Swift declaration
var hasRequestedOptionalAccessToAllHosts: Bool { get set }
get · iOS 18.4+

isInspectable

TypeScript
get isInspectable(): Promise<boolean>
Swift declaration
var isInspectable: Bool { get set }
set · iOS 18.4+

isInspectable

TypeScript
setIsInspectable(value: boolean): Promise<void>
Swift declaration
var isInspectable: Bool { get set }
get · iOS 18.4+

inspectionName

TypeScript
get inspectionName(): Promise<(string) | null>
Swift declaration
var inspectionName: String? { get set }
set · iOS 18.4+

inspectionName

TypeScript
setInspectionName(value?: (string) | null): Promise<void>
Swift declaration
var inspectionName: String? { get set }
get · iOS 18.4+

isLoaded

TypeScript
get isLoaded(): Promise<boolean>
Swift declaration
var isLoaded: Bool { get }
get · iOS 18.4+

openTabs

TypeScript
get openTabs(): Promise<Array<unknown>>
Swift declaration
var openTabs: Set<AnyHashable> { get }
get · iOS 18.4+

openWindows

TypeScript
get openWindows(): Promise<Array<SDKHandle>>
Swift declaration
var openWindows: [any WKWebExtensionWindow] { get }
get · iOS 18.4+

optionsPageURL

TypeScript
get optionsPageURL(): Promise<(string) | null>
Swift declaration
var optionsPageURL: URL? { get }
get · iOS 18.4+

overrideNewTabPageURL

TypeScript
get overrideNewTabPageURL(): Promise<(string) | null>
Swift declaration
var overrideNewTabPageURL: URL? { get }
get · iOS 18.4+

uniqueIdentifier

TypeScript
get uniqueIdentifier(): Promise<string>
Swift declaration
var uniqueIdentifier: String { get set }
set · iOS 18.4+

uniqueIdentifier

TypeScript
setUniqueIdentifier(value: string): Promise<void>
Swift declaration
var uniqueIdentifier: String { get set }
get · iOS 18.4+

unsupportedAPIs

TypeScript
get unsupportedAPIs(): Promise<(Array<string>) | null>
Swift declaration
var unsupportedAPIs: Set<String>! { get set }
set · iOS 18.4+

unsupportedAPIs

TypeScript
setUnsupportedAPIs(value?: (Array<string>) | null): Promise<void>
Swift declaration
var unsupportedAPIs: Set<String>! { get set }
get · iOS 18.4+

webExtension

TypeScript
get webExtension(): Promise<WKWebExtension>
Swift declaration
var webExtension: WKWebExtension { get }
get · iOS 18.4+

webExtensionController

TypeScript
get webExtensionController(): Promise<(WKWebExtensionController) | null>
Swift declaration
weak var webExtensionController: WKWebExtensionController? { get }
get · iOS 18.4+

webViewConfiguration

TypeScript
get webViewConfiguration(): Promise<(WKWebViewConfiguration) | null>
Swift declaration
@NSCopying var webViewConfiguration: WKWebViewConfiguration? { get }
method · iOS 18.4+

didMoveTab

TypeScript
didMoveTab(movedTab: Implements<WKWebExtensionTab> | SDKHandle, index: number, oldWindow?: (Implements<WKWebExtensionWindow> | SDKHandle) | null): Promise<void>
Swift declaration
@MainActor @preconcurrency func didMoveTab(_ movedTab: any WKWebExtensionTab, from index: Int, in oldWindow: (any WKWebExtensionWindow)? = nil)
method · iOS 18.4+

didCloseTab

TypeScript
didCloseTab(closedTab: Implements<WKWebExtensionTab> | SDKHandle, windowIsClosing?: boolean): Promise<void>
Swift declaration
@MainActor @preconcurrency func didCloseTab(_ closedTab: any WKWebExtensionTab, windowIsClosing: Bool = false)
method · iOS 18.4+

didActivateTab

TypeScript
didActivateTab(activatedTab: Implements<WKWebExtensionTab> | SDKHandle, previousTab?: (Implements<WKWebExtensionTab> | SDKHandle) | null): Promise<void>
Swift declaration
@MainActor @preconcurrency func didActivateTab(_ activatedTab: any WKWebExtensionTab, previousActiveTab previousTab: (any WKWebExtensionTab)? = nil)

Skipped declarations

1 declarations were excluded from these bindings. Each reason comes from the generator or the iOS SDK compiler.

WKWebExtensionContext.init()

inherited init: cannot prove legal (class declares 3 custom initializers)

All WebKit types →