---
title: WKWebExtensionContext
framework: webkit
role: symbol
role_heading: Class
path: webkit/wkwebextensioncontext
---

# WKWebExtensionContext

An object that represents the runtime environment for a web extension.

## Declaration

```swift
@MainActor class WKWebExtensionContext
```

## Overview

Overview This class provides methods for managing the extension’s permissions, allowing it to inject content, run background logic, show popovers, and display other web-based UI to the user.

## Topics

### Enumerations

- [WKWebExtensionContext.PermissionStatus](webkit/wkwebextensioncontext/permissionstatus.md)

### Structures

- [WKWebExtensionContext.Error](webkit/wkwebextensioncontext/error.md)
- [WKWebExtensionContext.NotificationUserInfoKey](webkit/wkwebextensioncontext/notificationuserinfokey.md)

### Initializers

- [init(for:)](webkit/wkwebextensioncontext/init(for:).md)
- [init(forExtension:)](webkit/wkwebextensioncontext/init(forextension:)-5v7j1.md)
- [init(forExtension:)](webkit/wkwebextensioncontext/init(forextension:)-6gjca.md)

### Instance Properties

- [baseURL](webkit/wkwebextensioncontext/baseurl.md)
- [commands](webkit/wkwebextensioncontext/commands.md)
- [currentPermissionMatchPatterns](webkit/wkwebextensioncontext/currentpermissionmatchpatterns.md)
- [currentPermissions](webkit/wkwebextensioncontext/currentpermissions.md)
- [deniedPermissionMatchPatterns](webkit/wkwebextensioncontext/deniedpermissionmatchpatterns.md)
- [deniedPermissions](webkit/wkwebextensioncontext/deniedpermissions.md)
- [errors](webkit/wkwebextensioncontext/errors.md)
- [focusedWindow](webkit/wkwebextensioncontext/focusedwindow.md)
- [grantedPermissionMatchPatterns](webkit/wkwebextensioncontext/grantedpermissionmatchpatterns.md)
- [grantedPermissions](webkit/wkwebextensioncontext/grantedpermissions.md)
- [hasAccessToAllHosts](webkit/wkwebextensioncontext/hasaccesstoallhosts.md)
- [hasAccessToAllURLs](webkit/wkwebextensioncontext/hasaccesstoallurls.md)
- [hasAccessToPrivateData](webkit/wkwebextensioncontext/hasaccesstoprivatedata.md)
- [hasContentModificationRules](webkit/wkwebextensioncontext/hascontentmodificationrules.md)
- [hasInjectedContent](webkit/wkwebextensioncontext/hasinjectedcontent.md)
- [hasRequestedOptionalAccessToAllHosts](webkit/wkwebextensioncontext/hasrequestedoptionalaccesstoallhosts.md)
- [inspectionName](webkit/wkwebextensioncontext/inspectionname.md)
- [isInspectable](webkit/wkwebextensioncontext/isinspectable.md)
- [isLoaded](webkit/wkwebextensioncontext/isloaded.md)
- [openTabs](webkit/wkwebextensioncontext/opentabs.md)
- [openWindows](webkit/wkwebextensioncontext/openwindows.md)
- [optionsPageURL](webkit/wkwebextensioncontext/optionspageurl.md)
- [overrideNewTabPageURL](webkit/wkwebextensioncontext/overridenewtabpageurl.md)
- [uniqueIdentifier](webkit/wkwebextensioncontext/uniqueidentifier.md)
- [unsupportedAPIs](webkit/wkwebextensioncontext/unsupportedapis.md)
- [webExtension](webkit/wkwebextensioncontext/webextension.md)
- [webExtensionController](webkit/wkwebextensioncontext/webextensioncontroller.md)
- [webViewConfiguration](webkit/wkwebextensioncontext/webviewconfiguration.md)

### Instance Methods

- [action(for:)](webkit/wkwebextensioncontext/action(for:).md)
- [clearUserGesture(in:)](webkit/wkwebextensioncontext/clearusergesture(in:).md)
- [command(for:)](webkit/wkwebextensioncontext/command(for:).md)
- [didActivateTab(_:previousActiveTab:)](webkit/wkwebextensioncontext/didactivatetab(_:previousactivetab:).md)
- [didChangeTabProperties(_:for:)](webkit/wkwebextensioncontext/didchangetabproperties(_:for:).md)
- [didCloseTab(_:windowIsClosing:)](webkit/wkwebextensioncontext/didclosetab(_:windowisclosing:).md)
- [didCloseWindow(_:)](webkit/wkwebextensioncontext/didclosewindow(_:).md)
- [didDeselectTabs(_:)](webkit/wkwebextensioncontext/diddeselecttabs(_:).md)
- [didFocusWindow(_:)](webkit/wkwebextensioncontext/didfocuswindow(_:).md)
- [didMoveTab(_:from:in:)](webkit/wkwebextensioncontext/didmovetab(_:from:in:).md)
- [didOpenTab(_:)](webkit/wkwebextensioncontext/didopentab(_:).md)
- [didOpenWindow(_:)](webkit/wkwebextensioncontext/didopenwindow(_:).md)
- [didReplaceTab(_:with:)](webkit/wkwebextensioncontext/didreplacetab(_:with:).md)
- [didSelectTabs(_:)](webkit/wkwebextensioncontext/didselecttabs(_:).md)
- [hasAccess(to:)](webkit/wkwebextensioncontext/hasaccess(to:).md)
- [hasAccess(to:in:)](webkit/wkwebextensioncontext/hasaccess(to:in:).md)
- [hasActiveUserGesture(in:)](webkit/wkwebextensioncontext/hasactiveusergesture(in:).md)
- [hasInjectedContent(for:)](webkit/wkwebextensioncontext/hasinjectedcontent(for:).md)
- [hasPermission(_:)](webkit/wkwebextensioncontext/haspermission(_:).md)
- [hasPermission(_:in:)](webkit/wkwebextensioncontext/haspermission(_:in:).md)
- [loadBackgroundContent(completionHandler:)](webkit/wkwebextensioncontext/loadbackgroundcontent(completionhandler:).md)
- [menuItems(for:)](webkit/wkwebextensioncontext/menuitems(for:).md)
- [performAction(for:)](webkit/wkwebextensioncontext/performaction(for:).md)
- [performCommand(_:)](webkit/wkwebextensioncontext/performcommand(_:).md)
- [performCommand(for:)](webkit/wkwebextensioncontext/performcommand(for:)-25rd1.md)
- [performCommand(for:)](webkit/wkwebextensioncontext/performcommand(for:)-8btj0.md)
- [permissionStatus(for:)](webkit/wkwebextensioncontext/permissionstatus(for:)-3qq2w.md)
- [permissionStatus(for:)](webkit/wkwebextensioncontext/permissionstatus(for:)-7mu8.md)
- [permissionStatus(for:)](webkit/wkwebextensioncontext/permissionstatus(for:)-7ojrb.md)
- [permissionStatus(for:in:)](webkit/wkwebextensioncontext/permissionstatus(for:in:)-4h82n.md)
- [permissionStatus(for:in:)](webkit/wkwebextensioncontext/permissionstatus(for:in:)-96xaf.md)
- [permissionStatus(for:in:)](webkit/wkwebextensioncontext/permissionstatus(for:in:)-nqhm.md)
- [setPermissionStatus(_:for:)](webkit/wkwebextensioncontext/setpermissionstatus(_:for:)-4u95f.md)
- [setPermissionStatus(_:for:)](webkit/wkwebextensioncontext/setpermissionstatus(_:for:)-5xahd.md)
- [setPermissionStatus(_:for:)](webkit/wkwebextensioncontext/setpermissionstatus(_:for:)-6auqv.md)
- [setPermissionStatus(_:for:expirationDate:)](webkit/wkwebextensioncontext/setpermissionstatus(_:for:expirationdate:)-5q9id.md)
- [setPermissionStatus(_:for:expirationDate:)](webkit/wkwebextensioncontext/setpermissionstatus(_:for:expirationdate:)-692ui.md)
- [setPermissionStatus(_:for:expirationDate:)](webkit/wkwebextensioncontext/setpermissionstatus(_:for:expirationdate:)-7038f.md)
- [userGesturePerformed(in:)](webkit/wkwebextensioncontext/usergestureperformed(in:).md)

## Relationships

### Inherits From

- [NSObject](objectivec/nsobject-swift.class.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)
- [Sendable](swift/sendable.md)

## See Also

### Web extensions

- [WKWebExtension](webkit/wkwebextension.md)
- [WKWebExtensionTab](webkit/wkwebextensiontab.md)
- [WKWebExtensionWindow](webkit/wkwebextensionwindow.md)
- [WKWebExtensionController](webkit/wkwebextensioncontroller.md)
- [WKWebExtensionControllerDelegate](webkit/wkwebextensioncontrollerdelegate.md)
