demo · v140
Capability Probe
Six gates a runtime has to pass before Controlled Frame becomes available: secure context, isolated origin, IWA install, the constructor, the element registration, and the policy permission. This probe checks each one against your current context — useful for IWA dev tooling and bug triage.
probing…
// What "IWA-only" actually means in browser code.
const ok =
window.isSecureContext &&
window.crossOriginIsolated &&
'ControlledFrame' in window; // installed via .swbn
why this gate exists
Controlled Frame is essentially a tab-in-a-tag. It exposes intercept hooks for navigation, downloads, requests, and dialogs — primitives a regular web page must never have over an arbitrary URL because they break the same-origin assumptions of the embedded site. Isolated Web Apps are signed, side-loaded bundles installed by an enterprise admin or end user; the install ceremony is how the platform earns the right to ship those primitives.
If you're building for IWA: install the app via chrome://web-app-internals/ with an .swbn bundle and an isolated-app:// scope, then re-run this probe inside that scope.
see also
- Controlled Frame API — feature index
- ChromeStatus entry
- IWA explainer
scenario focus
Select a scenario to focus its rendered example and summary.