Support in current browsers

Checked against the current browser versions recorded in MDN browser data 8.1.5.

BrowserMinimumOutcomeReason
Chrome155WorksEvery required mapped BCD feature is available without a recorded qualification.
Edge154WorksEvery required mapped BCD feature is available without a recorded qualification.
Firefox157WorksEvery required mapped BCD feature is available without a recorded qualification.
Safari27WorksEvery required mapped BCD feature is available without a recorded qualification.
Chrome for Android155WorksEvery required mapped BCD feature is available without a recorded qualification.
Firefox for Android157WorksEvery required mapped BCD feature is available without a recorded qualification.
Safari on iOS27WorksEvery required mapped BCD feature is available without a recorded qualification.
Android WebView155WorksEvery required mapped BCD feature is available without a recorded qualification.
Samsung Internet30.0WorksEvery required mapped BCD feature is available without a recorded qualification.
The release trace

How support changed

Each segment groups recorded releases with the same result. Gaps between recorded versions are not filled in. This is support at each release, rather than the planner’s check of every release above a minimum.

Chrome

http.headers.Cross-Origin-Embedder-Policy
  1. 1 – 8181 recorded releases
    Not supported
  2. 83 – 15573 recorded releases
    Works

Edge

http.headers.Cross-Origin-Embedder-Policy
  1. 12 – 8110 recorded releases
    Not supported
  2. 83 – 15472 recorded releases
    Works

Firefox

http.headers.Cross-Origin-Embedder-Policy
  1. 1 – 7881 recorded releases
    Not supported
  2. 79 – 15779 recorded releases
    Works

Safari

http.headers.Cross-Origin-Embedder-Policy
  1. 1 – 15.127 recorded releases
    Not supported
  2. 15.2 – 2734 recorded releases
    Works

Chrome for Android

http.headers.Cross-Origin-Embedder-Policy
  1. 18 – 8158 recorded releases
    Not supported
  2. 83 – 15573 recorded releases
    Works

Firefox for Android

http.headers.Cross-Origin-Embedder-Policy
  1. 4 – 6862 recorded releases
    Not supported
  2. 79 – 15779 recorded releases
    Works

Safari on iOS

http.headers.Cross-Origin-Embedder-Policy
  1. 1 – 15.124 recorded releases
    Not supported
  2. 15.2 – 2734 recorded releases
    Works

Android WebView

http.headers.Cross-Origin-Embedder-Policy
  1. 1 – 8556 recorded releases
    Not supported
  2. 86 – 15570 recorded releases
    Works

Samsung Internet

http.headers.Cross-Origin-Embedder-Policy
  1. 1.0 – 12.129 recorded releases
    Not supported
  2. 13.0 – 30.023 recorded releases
    Works

BCD 8.1.5 · catalogue 2.3.0. Source corrections can change this trace without a new browser release.

A fixed result snapshot

What those browser runs reported

Reviewed 11 October 2026

These are published results from specific stable-labelled browser builds. They are separate from the compatibility calculation and from evidence about your application. File outcomes and subtest counts stay separate. OK describes a completed harness, which can still contain failing subtests; Pass and Fail can also describe tests without a harness.

Exact browser builds, systems and source revision
  • firefox 157.0 · linux 22.04 · stable
    Run 4877098740350976 · 2026-10-06T10:36:34.451Z to 2026-10-06T11:50:28.028Z
    cc74d2669f5de548e808779877d1d33339ec5115
  • safari 27.0 (22625.1.29.11.27) · mac 27.0 · stable
    Run 5164107446878208 · 2026-10-06T06:14:03.64Z to 2026-10-06T09:13:55.471Z
    cc74d2669f5de548e808779877d1d33339ec5115
  • chrome 154.0.8037.92 · linux 22.04 · stable
    Run 6218298311311360 · 2026-10-06T07:44:01.102Z to 2026-10-06T11:57:16.569Z
    cc74d2669f5de548e808779877d1d33339ec5115

“Stable” is the upstream run label. Complete runtime flags were not supplied by the summary API. These results do not cover every browser version, mobile platform or operating system.

Cross-Origin-Embedder-Policy

html/cross-origin-embedder-policy

104 test files retained from 104 returned search matches. Only this exact directory prefix is included. This is the returned result inventory, not a claim that every possible suite test ran.

Browser buildSubtests passed / reportedFile outcomes
firefox
157.0
443 / 58093 OK · 11 Timeout
safari
27.0 (22625.1.29.11.27)
457 / 58097 OK · 7 Timeout
chrome
154.0.8037.92
543 / 580102 OK · 2 Timeout
Read all 104 retained file results
Test filefirefoxsafarichrome
about-blank-popup.https.htmlOK · 0/1 subtestsOK · 1/1 subtestsOK · 1/1 subtests
blob.https.htmlOK · 9/9 subtestsTimeout · 6/9 subtestsOK · 9/9 subtests
block-local-documents-inheriting-none.https.htmlOK · 0/1 subtestsOK · 0/1 subtestsOK · 1/1 subtests
cache-storage-reporting-dedicated-worker.https.htmlOK · 0/2 subtestsOK · 0/2 subtestsOK · 2/2 subtests
cache-storage-reporting-document.https.htmlTimeout · 0/2 subtestsTimeout · 0/2 subtestsOK · 2/2 subtests
cache-storage-reporting-service-worker.https.htmlOK · 0/2 subtestsOK · 0/2 subtestsOK · 2/2 subtests
cache-storage-reporting-shared-worker.https.htmlOK · 0/2 subtestsOK · 0/2 subtestsOK · 2/2 subtests
coep-frame-javascript.https.htmlOK · 1/1 subtestsOK · 1/1 subtestsOK · 1/1 subtests
coep-on-response-from-service-worker.https.htmlOK · 13/13 subtestsOK · 13/13 subtestsOK · 13/13 subtests
credentialless/cache-storage.https.window.html?dedicated_workerOK · 14/14 subtestsOK · 13/14 subtestsOK · 14/14 subtests
credentialless/cache-storage.https.window.html?documentOK · 14/14 subtestsOK · 13/14 subtestsOK · 14/14 subtests
credentialless/cache-storage.https.window.html?service_workerOK · 14/14 subtestsOK · 13/14 subtestsOK · 14/14 subtests
credentialless/cache-storage.https.window.html?shared_workerOK · 14/14 subtestsOK · 13/14 subtestsOK · 14/14 subtests
credentialless/cache.window.htmlOK · 1/1 subtestsOK · 0/1 subtestsOK · 1/1 subtests
credentialless/cross-origin-isolated.window.htmlOK · 5/5 subtestsOK · 3/5 subtestsOK · 5/5 subtests
credentialless/dedicated-worker.https.window.htmlOK · 7/7 subtestsOK · 4/7 subtestsTimeout · 6/7 subtests
credentialless/fetch.https.window.htmlOK · 13/13 subtestsOK · 12/13 subtestsOK · 13/13 subtests
credentialless/iframe-coep-credentialless.https.window.html?1-4OK · 4/4 subtestsOK · 1/4 subtestsOK · 4/4 subtests
credentialless/iframe-coep-credentialless.https.window.html?5-9OK · 5/5 subtestsOK · 2/5 subtestsOK · 5/5 subtests
credentialless/iframe-coep-credentialless.https.window.html?9-lastOK · 4/4 subtestsOK · 4/4 subtestsOK · 4/4 subtests
credentialless/iframe-coep-none.https.window.html?1-4OK · 4/4 subtestsOK · 4/4 subtestsOK · 4/4 subtests
credentialless/iframe-coep-none.https.window.html?5-lastOK · 2/2 subtestsOK · 2/2 subtestsOK · 2/2 subtests
credentialless/iframe-coep-redirect.https.window.html?1-4OK · 1/1 subtestsOK · 1/1 subtestsOK · 1/1 subtests
credentialless/iframe-coep-redirect.https.window.html?5-lastOK · 1/1 subtestsOK · 1/1 subtestsOK · 1/1 subtests
credentialless/iframe-coep-require-corp.https.window.html?1-4OK · 4/4 subtestsOK · 3/4 subtestsOK · 4/4 subtests
credentialless/iframe-coep-require-corp.https.window.html?5-9OK · 5/5 subtestsOK · 4/5 subtestsOK · 5/5 subtests
credentialless/iframe-coep-require-corp.https.window.html?9-lastOK · 4/4 subtestsOK · 2/4 subtestsOK · 4/4 subtests
credentialless/iframe.window.htmlOK · 3/3 subtestsOK · 3/3 subtestsOK · 3/3 subtests
credentialless/image.https.window.htmlOK · 7/7 subtestsOK · 5/7 subtestsOK · 7/7 subtests
credentialless/link.https.window.htmlOK · 7/7 subtestsOK · 6/7 subtestsOK · 7/7 subtests
credentialless/redirect.window.htmlOK · 5/5 subtestsOK · 2/5 subtestsOK · 5/5 subtests
credentialless/reporting-navigation.https.window.htmlTimeout · 6/13 subtestsTimeout · 6/13 subtestsOK · 13/13 subtests
credentialless/reporting-subresource-corp.https.window.htmlTimeout · 0/1 subtestsTimeout · 0/1 subtestsOK · 1/1 subtests
credentialless/script.https.window.htmlOK · 7/7 subtestsOK · 6/7 subtestsOK · 7/7 subtests
credentialless/service-worker-coep-credentialless-proxy.https.window.htmlTimeout · 0/1 subtestsOK · 1/1 subtestsOK · 1/1 subtests
credentialless/service-worker-coep-none-proxy.https.window.htmlTimeout · 0/1 subtestsOK · 0/1 subtestsOK · 1/1 subtests
credentialless/service-worker.https.window.htmlOK · 5/5 subtestsOK · 4/5 subtestsOK · 5/5 subtests
credentialless/shared-worker.https.window.html?request_origin=cross_origin&worker_coep=credentialless&window_coep=credentiallessOK · 1/1 subtestsOK · 0/1 subtestsOK · 1/1 subtests
credentialless/shared-worker.https.window.html?request_origin=cross_origin&worker_coep=credentialless&window_coep=noneOK · 1/1 subtestsOK · 0/1 subtestsOK · 1/1 subtests
credentialless/shared-worker.https.window.html?request_origin=cross_origin&worker_coep=none&window_coep=credentiallessOK · 1/1 subtestsOK · 1/1 subtestsOK · 1/1 subtests
credentialless/shared-worker.https.window.html?request_origin=cross_origin&worker_coep=none&window_coep=noneOK · 1/1 subtestsOK · 1/1 subtestsOK · 1/1 subtests
credentialless/shared-worker.https.window.html?request_origin=same_origin&worker_coep=credentialless&window_coep=credentiallessOK · 1/1 subtestsOK · 0/1 subtestsOK · 1/1 subtests
credentialless/shared-worker.https.window.html?request_origin=same_origin&worker_coep=credentialless&window_coep=noneOK · 1/1 subtestsOK · 0/1 subtestsOK · 1/1 subtests
credentialless/shared-worker.https.window.html?request_origin=same_origin&worker_coep=none&window_coep=credentiallessOK · 1/1 subtestsOK · 1/1 subtestsOK · 1/1 subtests
credentialless/shared-worker.https.window.html?request_origin=same_origin&worker_coep=none&window_coep=noneOK · 1/1 subtestsOK · 1/1 subtestsOK · 1/1 subtests
credentialless/video.https.window.htmlOK · 6/6 subtestsOK · 5/6 subtestsOK · 6/6 subtests
credentialless/websocket.https.window.htmlOK · 3/3 subtestsOK · 3/3 subtestsOK · 3/3 subtests
cross-origin-isolated-permission-iframe.https.window.htmlOK · 3/8 subtestsOK · 3/8 subtestsOK · 8/8 subtests
cross-origin-isolated-permission-worker.https.window.htmlOK · 8/15 subtestsOK · 13/15 subtestsOK · 14/15 subtests
data.https.htmlOK · 1/1 subtestsOK · 1/1 subtestsOK · 1/1 subtests
dedicated-worker-cache-storage.https.htmlOK · 8/8 subtestsOK · 8/8 subtestsOK · 8/8 subtests
dedicated-worker.https.htmlOK · 11/14 subtestsOK · 11/14 subtestsOK · 12/14 subtests
header-parsing.https.htmlTimeout · 15/25 subtestsOK · 25/25 subtestsOK · 25/25 subtests
iframe-history-none-require-corp.https.htmlOK · 1/1 subtestsOK · 1/1 subtestsOK · 1/1 subtests
javascript.https.htmlOK · 1/1 subtestsOK · 1/1 subtestsOK · 1/1 subtests
meta-http-equiv.https.htmlOK · 1/1 subtestsOK · 1/1 subtestsOK · 1/1 subtests
multi-globals/workers-coep-report.https.htmlOK · 0/1 subtestsOK · 1/1 subtestsOK · 1/1 subtests
no-secure-context.htmlOK · 1/1 subtestsOK · 1/1 subtestsOK · 1/1 subtests
non-initial-about-blank.https.htmlOK · 1/1 subtestsOK · 1/1 subtestsOK · 1/1 subtests
none-load-from-cache-storage.https.htmlOK · 29/29 subtestsOK · 29/29 subtestsOK · 29/29 subtests
none-sw-from-none.https.htmlOK · 13/13 subtestsOK · 13/13 subtestsOK · 13/13 subtests
none-sw-from-require-corp.https.htmlOK · 13/13 subtestsOK · 13/13 subtestsOK · 13/13 subtests
none.https.htmlOK · 4/4 subtestsOK · 4/4 subtestsOK · 4/4 subtests
reflection-credentialless.tentative.https.any.htmlOK · 0/1 subtestsOK · 0/1 subtestsOK · 0/1 subtests
reflection-credentialless.tentative.https.any.serviceworker-module.htmlOK · 0/1 subtestsOK · 0/1 subtestsOK · 0/1 subtests
reflection-credentialless.tentative.https.any.serviceworker.htmlOK · 0/1 subtestsOK · 0/1 subtestsOK · 0/1 subtests
reflection-credentialless.tentative.https.any.sharedworker-module.htmlOK · 0/1 subtestsOK · 0/1 subtestsOK · 0/1 subtests
reflection-credentialless.tentative.https.any.sharedworker.htmlOK · 0/1 subtestsOK · 0/1 subtestsOK · 0/1 subtests
reflection-credentialless.tentative.https.any.worker.htmlOK · 0/1 subtestsOK · 0/1 subtestsOK · 0/1 subtests
reflection-require-corp.tentative.https.any.htmlOK · 0/1 subtestsOK · 0/1 subtestsOK · 0/1 subtests
reflection-require-corp.tentative.https.any.serviceworker-module.htmlOK · 0/1 subtestsOK · 0/1 subtestsOK · 0/1 subtests
reflection-require-corp.tentative.https.any.serviceworker.htmlOK · 0/1 subtestsOK · 0/1 subtestsOK · 0/1 subtests
reflection-require-corp.tentative.https.any.sharedworker-module.htmlOK · 0/1 subtestsOK · 0/1 subtestsOK · 0/1 subtests
reflection-require-corp.tentative.https.any.sharedworker.htmlOK · 0/1 subtestsOK · 0/1 subtestsOK · 0/1 subtests
reflection-require-corp.tentative.https.any.worker.htmlOK · 0/1 subtestsOK · 0/1 subtestsOK · 0/1 subtests
reflection-unsafe-none.tentative.https.any.htmlOK · 0/1 subtestsOK · 0/1 subtestsOK · 0/1 subtests
reflection-unsafe-none.tentative.https.any.serviceworker-module.htmlOK · 0/1 subtestsOK · 0/1 subtestsOK · 0/1 subtests
reflection-unsafe-none.tentative.https.any.serviceworker.htmlOK · 0/1 subtestsOK · 0/1 subtestsOK · 0/1 subtests
reflection-unsafe-none.tentative.https.any.sharedworker-module.htmlOK · 0/1 subtestsOK · 0/1 subtestsOK · 0/1 subtests
reflection-unsafe-none.tentative.https.any.sharedworker.htmlOK · 0/1 subtestsOK · 0/1 subtestsOK · 0/1 subtests
reflection-unsafe-none.tentative.https.any.worker.htmlOK · 0/1 subtestsOK · 0/1 subtestsOK · 0/1 subtests
report-only-require-corp.https.htmlOK · 4/4 subtestsOK · 4/4 subtestsOK · 4/4 subtests
reporting-navigation.https.htmlTimeout · 14/30 subtestsOK · 30/30 subtestsOK · 28/30 subtests
reporting-report-to-must-be-string.https.window.htmlTimeout · 0/4 subtestsOK · 4/4 subtestsOK · 4/4 subtests
reporting-subresource-corp.https.htmlTimeout · 2/26 subtestsTimeout · 12/26 subtestsTimeout · 24/26 subtests
reporting-to-document-reporting-endpoint.https.window.htmlOK · 0/3 subtestsOK · 3/3 subtestsOK · 3/3 subtests
reporting-to-endpoint.https.htmlOK · 0/5 subtestsOK · 0/5 subtestsOK · 0/5 subtests
reporting-to-frame-owner.https.htmlTimeout · 3/9 subtestsTimeout · 3/9 subtestsOK · 9/9 subtests
reporting-to-worker-owner.https.htmlTimeout · 3/9 subtestsTimeout · 3/9 subtestsOK · 9/9 subtests
require-corp-about-blank.https.htmlOK · 3/3 subtestsOK · 3/3 subtestsOK · 3/3 subtests
require-corp-about-srcdoc.https.htmlOK · 3/3 subtestsOK · 3/3 subtestsOK · 3/3 subtests
require-corp-cached-images.https.htmlOK · 5/5 subtestsOK · 5/5 subtestsOK · 5/5 subtests
require-corp-load-from-cache-storage.https.htmlOK · 27/29 subtestsOK · 29/29 subtestsOK · 29/29 subtests
require-corp-revalidated-images.https.htmlOK · 5/5 subtestsOK · 5/5 subtestsOK · 5/5 subtests
require-corp-sw-from-none.https.htmlOK · 13/13 subtestsOK · 13/13 subtestsOK · 13/13 subtests
require-corp-sw-from-require-corp.https.htmlOK · 13/13 subtestsOK · 13/13 subtestsOK · 13/13 subtests
require-corp-sw.https.htmlOK · 6/6 subtestsOK · 6/6 subtestsOK · 6/6 subtests
require-corp-worker-script-revalidation.htmlOK · 1/1 subtestsOK · 1/1 subtestsOK · 1/1 subtests
require-corp.https.htmlOK · 16/16 subtestsOK · 16/16 subtestsOK · 16/16 subtests
sandbox.https.htmlOK · 1/1 subtestsOK · 1/1 subtestsOK · 1/1 subtests
service-worker-cache-storage.https.htmlOK · 4/4 subtestsOK · 4/4 subtestsOK · 4/4 subtests
shared-workers.https.htmlOK · 5/11 subtestsOK · 6/11 subtestsOK · 5/11 subtests
srcdoc.https.htmlOK · 1/1 subtestsOK · 1/1 subtestsOK · 1/1 subtests
worker-inheritance.sub.https.htmlOK · 8/9 subtestsOK · 5/9 subtestsOK · 9/9 subtests

Pinned API queryTest source at the run revision

Source-response fingerprintSHA-256 a569846ac4ba84e7b564f50d81df83f90330ff32c3020bf04fc6b558a931ff2d

The digest identifies the complete downloaded directory response used for this projection, before file selection. It does not authenticate the runner or prove that the results are truthful.

What this feature can and cannot do

Helps protect against

  • Uncontrolled cross-origin embedding
  • Cross-origin isolation gaps

Does not guarantee

  • Application authorisation
  • All data leakage
  • Resources that are already same-origin

What you need before using it

  • Compatible embedded resources
  • Usually COOP for cross-origin isolation

Fallback to keep in place

Keep sensitive operations independent of cross-origin isolation and review embedded resource origins.