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.
- StWebContentProcessAn object that represents a running web content extension process.
- StRenderingProcessAn object that represents a running GPU extension process.
- StNetworkingProcessAn object that represents a running network extension process.
- PrBEExtensionProcessiOS 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.
- PrWebContentExtensionAn interface for configuring a web content helper extension process that will carry web page decoding operations on behalf of the browser app.
- PrRenderingExtensionAn interface for configuring a rendering helper extension process that will carry out operations requiring rendering access on behalf of the browser app.
- PrNetworkingExtensionAn interface for configuring a networking helper extension process that will carry out networking operations on behalf of the browser app.
- EnRenderingExtensionFeatureAn 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.
- EnProcessCapabilityCapabilities that can be granted to a helper extension process.
- StMediaEnvironmentAn object that identifies a media playback environment.
- PrRestrictedSandboxAppliableExtensions conforming to this protocol can opt in to a more restrictive sandbox.
- EnRestrictedSandboxRevisionAn enum of all restrictive sandbox revisions.
Layer Hosting 2
Types for hosting and synchronizing remote layer hierarchies that present rendered web content.
- ClLayerHierarchyHandleiOS 17.4+A handle that references a remote layer hierarchy for hosting rendered web content.
- ClLayerHierarchyHostingTransactionCoordinatoriOS 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.
- ClBEKeyEntryiOS 17.4+An object that represents a single keyboard key event delivered to web content.
- ClBEKeyEntryContextiOS 17.4+An object that carries contextual state accompanying a key entry.
- EnBEKeyModifierFlagsiOS 17.4+Constants that specify the modifier keys active during a key event.
- EnBEGestureTypeiOS 17.4+Constants that specify the kind of gesture being routed to web content.
- EnBESelectionTouchPhaseiOS 17.4+Constants that specify the phase of a touch driving a text selection.
- StBESelectionFlagsiOS 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.
- PrBETextInputiOS 17.4+A protocol that web content adopts to receive and process text input.
- PrBETextInputDelegateiOS 17.4+A protocol that responds to changes in text input state from web content.
- PrBETextInteractionDelegateiOS 17.4+A protocol that responds to text interaction events such as selection and editing.
- PrBEExtendedTextInputTraitsiOS 17.4+A protocol that exposes extended traits configuring text input behavior.
- PrBEResponderEditActionsiOS 17.4+A protocol that declares the edit actions a responder can perform on text.
- PrBETextSelectionDirectionNavigationiOS 17.4+A protocol for navigating a text selection in a given direction.
- ClBETextDocumentContextiOS 17.4+An object that describes the surrounding context of text in a document.
- ClBETextDocumentRequestiOS 17.4+An object that requests context about the text in a document.
- StBEDirectionalTextRangeiOS 17.4+A structure that describes a range of text together with its direction.
- StBETextReplacementOptionsiOS 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.
- ClBETextSuggestioniOS 17.4+An object that represents a suggested text completion for the user.
- ClBEAutoFillTextSuggestioniOS 17.4+An object that represents an autofill candidate for a text field.
- ClBETextAlternativesiOS 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.
- ClBEWebContentFilteriOS 26.2+An object that represents a web content filter
- EnBEWebContentFilterPermissionDecision@enum BEWebContentFilterPermissionDecision
- ClBEWebAppManifestiOS 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.
- ClBEAccessibilityRemoteElementiOS 26.0+@abstract BEAccessibilityRemoteElement represents the destination of a BEAccessibilityRemoteHostElement in a different process. The elements it contains are defined by the `accessibilityElements` API.
- ClBEAccessibilityRemoteHostElementiOS 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.
- ClBEAccessibilityTextMarkeriOS 18.2+@abstract Subclass BEAccessibilityTextMarker to encode information about text-based positioning information in browser engines within document models.
- PrBEAccessibilityTextMarkerSupportiOS 18.2+@abstract Implement BEAccessibilityTextMarkerSupport to support assistive technology features that rely on granular text offsets.
- StBEAccessibilityA namespace structure for accessibility-related constants and helpers.
- StBEAccessibilityContainerTypeiOS 18.0+Constants that specify the container role of an accessibility element.
- EnBEAccessibilityPressedStateiOS 18.0+Constants that specify the pressed state of an accessibility element.
- EnBEAccessibilityOrientationiOS 27+Constants that specify the orientation of an accessibility element.
Classes 10
- ClBEContextMenuConfigurationiOS 17.4+A specialized `UIContextMenuConfiguration` object to defer a context menu presentation when the
- ClBEDragInteractioniOS 17.4+A `UIDragInteraction` subclass with features specific to browsers to enable asynchronous preparations and behaviours.
- ClLayerHierarchyiOS 17.4+
- ClLayerHierarchyHostingViewiOS 17.4+
- ClBEScrollViewiOS 17.4+
- ClBEScrollViewScrollUpdateiOS 17.4+
- ClBETextInteractioniOS 17.4+
- ClBEDownloadMonitor
- ClBEMediaEnvironment
- ClBEProcessCapability
Structures 3
- StNetworkingExtensionConfiguration
- StRenderingExtensionConfiguration
- StWebContentExtensionConfiguration
Protocols 2
- PrBEDragInteractionDelegateiOS 17.4+
- PrBEScrollViewDelegateiOS 17.4+