<!--
{
  "availability" : [
    "iOS: 17.4.0 -",
    "iPadOS: 17.4.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "BrowserEngineKit",
  "identifier" : "/documentation/BrowserEngineKit/BEContextMenuConfiguration",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "BrowserEngineKit"
    ],
    "preciseIdentifier" : "c:objc(cs)BEContextMenuConfiguration"
  },
  "title" : "BEContextMenuConfiguration"
}
-->

# BEContextMenuConfiguration

An object that defers presentation of a contextual menu.

```
@MainActor class BEContextMenuConfiguration
```

## Overview

Return an instance of this class when you don’t yet know whether a contextual menu is presentable, or don’t have the menu items available when the system calls your interaction delegate’s <doc://com.apple.documentation/documentation/UIKit/UIContextMenuInteractionDelegate/contextMenuInteraction(_:configurationForMenuAtLocation:)> method. Once you have the real configuration, call [`fulfill(using:)`](/documentation/BrowserEngineKit/BEContextMenuConfiguration/fulfill(using:)) with it, or pass `nil` to indicate that no menu presentation is possible.

> Note:
> In most situations, use <doc://com.apple.documentation/documentation/UIKit/UIDeferredMenuElement> when you don’t have the content of a contextual menu element at the time the system asks your delegate and you need to calculate it asynchronously.
> Use this class instead when the calculation involves a short deferral, for example, an XPC call to a browser extension.

## Topics

### Creating a context menu configuration

[`-  init`](/documentation/BrowserEngineKit/BEContextMenuConfiguration/init())

Creates a context menu configuration.

### Fulfilling the configuration

[`-  fulfillUsingConfiguration:`](/documentation/BrowserEngineKit/BEContextMenuConfiguration/fulfill(using:))

Supplies a contextual menu configuration to the system.

## Relationships

### Conforms To

[`Equatable`](/documentation/Swift/Equatable)

[`CustomStringConvertible`](/documentation/Swift/CustomStringConvertible)

[`CustomDebugStringConvertible`](/documentation/Swift/CustomDebugStringConvertible)

[`CVarArg`](/documentation/Swift/CVarArg)

[`Hashable`](/documentation/Swift/Hashable)

[`NSObjectProtocol`](/documentation/ObjectiveC/NSObjectProtocol)

### Inherits From

[`UIContextMenuConfiguration`](/documentation/UIKit/UIContextMenuConfiguration)

---

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)