<!--
{
  "availability" : [
    "iOS: 17.4.0 -",
    "iPadOS: 17.4.0 -",
    "macOS: 14.3.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "BrowserEngineKit",
  "identifier" : "/documentation/BrowserEngineKit/ProcessCapability",
  "metadataVersion" : "0.1.0",
  "role" : "Enumeration",
  "symbol" : {
    "kind" : "Enumeration",
    "modules" : [
      "BrowserEngineKit"
    ],
    "preciseIdentifier" : "s:16BrowserEngineKit17ProcessCapabilityO"
  },
  "title" : "ProcessCapability"
}
-->

# ProcessCapability

Capabilities of a helper extension process.

```
enum ProcessCapability
```

## Overview

To grant a capability to an extension, call the `grantCapability(_:)` method for the relevant process:

- Web content extension: [`grantCapability(_:)`](/documentation/BrowserEngineKit/WebContentProcess/grantCapability(_:))
- Networking extension: [`grantCapability(_:)`](/documentation/BrowserEngineKit/NetworkingProcess/grantCapability(_:))
- Rendering extension: [`grantCapability(_:)`](/documentation/BrowserEngineKit/RenderingProcess/grantCapability(_:))

These methods return a [`ProcessCapability.Grant`](/documentation/BrowserEngineKit/ProcessCapability/Grant) object.

When your extension no longer needs the capability, call [`invalidate()`](/documentation/BrowserEngineKit/ProcessCapability/Grant/invalidate()).

## Topics

### Granting capabilities

[`case background`](/documentation/BrowserEngineKit/ProcessCapability/background)

A process capability for work in the background.

[`case foreground`](/documentation/BrowserEngineKit/ProcessCapability/foreground)

A process capability for work in the foreground.

[`case suspended`](/documentation/BrowserEngineKit/ProcessCapability/suspended)

A process capability that grants residency in a suspended state.

[`case mediaPlaybackAndCapture(environment: MediaEnvironment)`](/documentation/BrowserEngineKit/ProcessCapability/mediaPlaybackAndCapture(environment:))

The helper extension process may access media hardware required for media capture and playback.

[`struct Grant`](/documentation/BrowserEngineKit/ProcessCapability/Grant)

An object that represents the provision of a capability.

### Enumeration Cases

[`case screenCapture(environment: MediaEnvironment)`](/documentation/BrowserEngineKit/ProcessCapability/screenCapture(environment:))

The helper extension process may access AV hardware required for media capture and playback.

### Instance Methods

[`func activate() throws`](/documentation/BrowserEngineKit/ProcessCapability/activate())

Activates the capability.

[`func request() throws -> ProcessCapability.Grant`](/documentation/BrowserEngineKit/ProcessCapability/request())

Requests the capability to be granted to the current process.

[`func suspend() throws`](/documentation/BrowserEngineKit/ProcessCapability/suspend())

Suspends the capability.

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)