---
title: WKWebExtensionController
framework: webkit
role: symbol
role_heading: Class
path: webkit/wkwebextensioncontroller
---

# WKWebExtensionController

An object that manages a set of loaded extension contexts.

## Declaration

```swift
@MainActor class WKWebExtensionController
```

## Overview

Overview You can have one or more extension controller instances, allowing different parts of the app to use different sets of extensions. You can associate a controller with WKWebView using the webExtensionController property on WKWebViewConfiguration.

## Topics

### Initializers

- [init()](webkit/wkwebextensioncontroller/init().md)
- [init(configuration:)](webkit/wkwebextensioncontroller/init(configuration:).md)

### Instance Properties

- [configuration](webkit/wkwebextensioncontroller/configuration-swift.property.md)
- [delegate](webkit/wkwebextensioncontroller/delegate.md)
- [extensionContexts](webkit/wkwebextensioncontroller/extensioncontexts.md)
- [extensions](webkit/wkwebextensioncontroller/extensions.md)

### Instance Methods

- [didActivateTab(_:previousActiveTab:)](webkit/wkwebextensioncontroller/didactivatetab(_:previousactivetab:).md)
- [didChangeTabProperties(_:for:)](webkit/wkwebextensioncontroller/didchangetabproperties(_:for:).md)
- [didCloseTab(_:windowIsClosing:)](webkit/wkwebextensioncontroller/didclosetab(_:windowisclosing:).md)
- [didCloseWindow(_:)](webkit/wkwebextensioncontroller/didclosewindow(_:).md)
- [didDeselectTabs(_:)](webkit/wkwebextensioncontroller/diddeselecttabs(_:).md)
- [didFocusWindow(_:)](webkit/wkwebextensioncontroller/didfocuswindow(_:).md)
- [didMoveTab(_:from:in:)](webkit/wkwebextensioncontroller/didmovetab(_:from:in:).md)
- [didOpenTab(_:)](webkit/wkwebextensioncontroller/didopentab(_:).md)
- [didOpenWindow(_:)](webkit/wkwebextensioncontroller/didopenwindow(_:).md)
- [didReplaceTab(_:with:)](webkit/wkwebextensioncontroller/didreplacetab(_:with:).md)
- [didSelectTabs(_:)](webkit/wkwebextensioncontroller/didselecttabs(_:).md)
- [extensionContext(for:)](webkit/wkwebextensioncontroller/extensioncontext(for:)-2kr4.md)
- [extensionContext(for:)](webkit/wkwebextensioncontroller/extensioncontext(for:)-6ecpm.md)
- [fetchDataRecord(ofTypes:for:completionHandler:)](webkit/wkwebextensioncontroller/fetchdatarecord(oftypes:for:completionhandler:).md)
- [fetchDataRecords(ofTypes:completionHandler:)](webkit/wkwebextensioncontroller/fetchdatarecords(oftypes:completionhandler:).md)
- [load(_:)](webkit/wkwebextensioncontroller/load(_:).md)
- [removeData(ofTypes:from:completionHandler:)](webkit/wkwebextensioncontroller/removedata(oftypes:from:completionhandler:).md)
- [unload(_:)](webkit/wkwebextensioncontroller/unload(_:).md)

### Type Properties

- [allExtensionDataTypes](webkit/wkwebextensioncontroller/allextensiondatatypes.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)
- [WKWebExtensionContext](webkit/wkwebextensioncontext.md)
- [WKWebExtensionControllerDelegate](webkit/wkwebextensioncontrollerdelegate.md)
