TechnologiesUI & App Frameworks

BrowserEngineKit

iOSmacOStvOSwatchOSvisionOS

BrowserEngineKit gives third-party browsers the building blocks to run a web engine across sandboxed helper processes, separating content, networking, and GPU work. You launch and manage these helpers through types like RenderingProcess, NetworkingProcess, and the RenderingExtension and NetworkingExtension protocols, granting them capabilities with ProcessCapability and ProcessCapability-driven environments such as MediaEnvironment. To present and interact with rendered web content, you host remote layer hierarchies using LayerHierarchyHandle and LayerHierarchyHostingTransactionCoordinator, and route keyboard, gesture, and text input through APIs like BEKeyEntry, BETextInput, and BEGestureType. The framework also covers web-specific concerns including content filtering with BEWebContentFilter, app manifests via BEWebAppManifest, and accessibility for out-of-process elements through types like BEAccessibilityRemoteElement and BEAccessibilityTextMarker.

Helper Processes 4

The sandboxed content, networking, and GPU helper processes that run the web engine's work.

  • St
    WebContentProcess
    An object that represents a running web content extension process.
  • St
    RenderingProcess
    An object that represents a running GPU extension process.
  • St
    NetworkingProcess
    An object that represents a running network extension process.
  • Pr
    BEExtensionProcessiOS 26.0+
    A protocol describing a managed helper process backed by an app extension.

Process Extensions 4

Protocols that define the entry points for the app extensions backing each kind of helper process.

  • Pr
    WebContentExtension
    An interface for configuring a web content helper extension process that will carry web page decoding operations on behalf of the browser app.
  • Pr
    RenderingExtension
    An interface for configuring a rendering helper extension process that will carry out operations requiring rendering access on behalf of the browser app.
  • Pr
    NetworkingExtension
    An interface for configuring a networking helper extension process that will carry out networking operations on behalf of the browser app.
  • En
    RenderingExtensionFeature
    An enumeration of optional features a rendering extension can declare support for.

Capabilities and Sandboxing 4

Types for granting helper processes capabilities and applying restricted sandbox environments.

  • En
    ProcessCapability
    Capabilities that can be granted to a helper extension process.
  • St
    MediaEnvironment
    An object that identifies a media playback environment.
  • Pr
    RestrictedSandboxAppliable
    Extensions conforming to this protocol can opt in to a more restrictive sandbox.
  • En
    RestrictedSandboxRevision
    An enum of all restrictive sandbox revisions.

Layer Hosting 2

Types for hosting and synchronizing remote layer hierarchies that present rendered web content.

  • Cl
    LayerHierarchyHandleiOS 17.4+
    A handle that references a remote layer hierarchy for hosting rendered web content.
  • Cl
    LayerHierarchyHostingTransactionCoordinatoriOS 17.4+
    An object that coordinates synchronized transactions when hosting a remote layer hierarchy.

Keyboard and Gesture Input 6

Types that deliver key entries, modifier state, and gesture and selection events to web content.

  • Cl
    BEKeyEntryiOS 17.4+
    An object that represents a single keyboard key event delivered to web content.
  • Cl
    BEKeyEntryContextiOS 17.4+
    An object that carries contextual state accompanying a key entry.
  • En
    BEKeyModifierFlagsiOS 17.4+
    Constants that specify the modifier keys active during a key event.
  • En
    BEGestureTypeiOS 17.4+
    Constants that specify the kind of gesture being routed to web content.
  • En
    BESelectionTouchPhaseiOS 17.4+
    Constants that specify the phase of a touch driving a text selection.
  • St
    BESelectionFlagsiOS 17.4+
    Option flags that describe characteristics of a text selection.

Text Input 10

Protocols and types for routing text input, editing, selection, and traits through web content.

  • Pr
    BETextInputiOS 17.4+
    A protocol that web content adopts to receive and process text input.
  • Pr
    BETextInputDelegateiOS 17.4+
    A protocol that responds to changes in text input state from web content.
  • Pr
    BETextInteractionDelegateiOS 17.4+
    A protocol that responds to text interaction events such as selection and editing.
  • Pr
    BEExtendedTextInputTraitsiOS 17.4+
    A protocol that exposes extended traits configuring text input behavior.
  • Pr
    BEResponderEditActionsiOS 17.4+
    A protocol that declares the edit actions a responder can perform on text.
  • Pr
    BETextSelectionDirectionNavigationiOS 17.4+
    A protocol for navigating a text selection in a given direction.
  • Cl
    BETextDocumentContextiOS 17.4+
    An object that describes the surrounding context of text in a document.
  • Cl
    BETextDocumentRequestiOS 17.4+
    An object that requests context about the text in a document.
  • St
    BEDirectionalTextRangeiOS 17.4+
    A structure that describes a range of text together with its direction.
  • St
    BETextReplacementOptionsiOS 17.4+
    Options that configure how a text replacement is applied.

Text Suggestions and Alternatives 3

Types that represent typing suggestions, autofill candidates, and alternative text replacements.

  • Cl
    BETextSuggestioniOS 17.4+
    An object that represents a suggested text completion for the user.
  • Cl
    BEAutoFillTextSuggestioniOS 17.4+
    An object that represents an autofill candidate for a text field.
  • Cl
    BETextAlternativesiOS 17.4+
    An object that holds alternative replacements for a span of entered text.

Web Content Filtering and Manifests 3

Types for filtering web content and reading installed web app manifests.

  • Cl
    BEWebContentFilteriOS 26.2+
    An object that represents a web content filter
  • En
    BEWebContentFilterPermissionDecision
    @enum BEWebContentFilterPermissionDecision
  • Cl
    BEWebAppManifestiOS 17.5+
    An object that represents a web application manifest

Accessibility for Out-of-Process Content 8

Types that bridge accessibility for web elements rendered in separate helper processes.

  • Cl
    BEAccessibilityRemoteElementiOS 26.0+
    @abstract BEAccessibilityRemoteElement represents the destination of a BEAccessibilityRemoteHostElement in a different process. The elements it contains are defined by the `accessibilityElements` API.
  • Cl
    BEAccessibilityRemoteHostElementiOS 26.0+
    @abstract BEAccessibilityRemoteHostElement connects the accessibility hierarchy of two separate processes. The remote host and remote elements share the same identifier to facilitate this connection.
  • Cl
    BEAccessibilityTextMarkeriOS 18.2+
    @abstract Subclass BEAccessibilityTextMarker to encode information about text-based positioning information in browser engines within document models.
  • Pr
    BEAccessibilityTextMarkerSupportiOS 18.2+
    @abstract Implement BEAccessibilityTextMarkerSupport to support assistive technology features that rely on granular text offsets.
  • St
    BEAccessibility
    A namespace structure for accessibility-related constants and helpers.
  • St
    BEAccessibilityContainerTypeiOS 18.0+
    Constants that specify the container role of an accessibility element.
  • En
    BEAccessibilityPressedStateiOS 18.0+
    Constants that specify the pressed state of an accessibility element.
  • En
    BEAccessibilityOrientationiOS 27+
    Constants that specify the orientation of an accessibility element.

Classes 10

  • Cl
    BEContextMenuConfigurationiOS 17.4+
    A specialized `UIContextMenuConfiguration` object to defer a context menu presentation when the
  • Cl
    BEDragInteractioniOS 17.4+
    A `UIDragInteraction` subclass with features specific to browsers to enable asynchronous preparations and behaviours.
  • Cl
    LayerHierarchyiOS 17.4+
  • Cl
    LayerHierarchyHostingViewiOS 17.4+
  • Cl
    BEScrollViewiOS 17.4+
  • Cl
    BEScrollViewScrollUpdateiOS 17.4+
  • Cl
    BETextInteractioniOS 17.4+
  • Cl
    BEDownloadMonitor
  • Cl
    BEMediaEnvironment
  • Cl
    BEProcessCapability

Structures 3

  • St
    NetworkingExtensionConfiguration
  • St
    RenderingExtensionConfiguration
  • St
    WebContentExtensionConfiguration

Protocols 2

  • Pr
    BEDragInteractionDelegateiOS 17.4+
  • Pr
    BEScrollViewDelegateiOS 17.4+

Extends 1

NSObject
← UI & App Frameworks