Frame blocked by COEP: NotSameOriginAfterDefaultedToSameOriginByCoep
Your own page sends Cross-Origin-Embedder-Policy: require-corp. A frame from another origin must then opt in with Cross-Origin-Resource-Policy and its own COEP header. This one does not, so the browser blocks it.
- Chrome
- Edge
- Safari
Updated
net::ERR_BLOCKED_BY_RESPONSE.NotSameOriginAfterDefaultedToSameOriginByCoep
The frame shows a gray page: “example.com refused to connect.” The Network panel of DevTools gives the reason below.
(blocked:CORP not "same-origin" after defaulted to "same-origin" by COEP)
The frame stays blank. There is no message in the page.
Refused to display 'https://example.com/' in a frame because of Cross-Origin-Embedder-Policy.
On this page
What it means
Why it happens
Check the page
See the headers the page sends now
Fix it if you own the site
Cross-Origin-Resource-Policy: cross-origin Cross-Origin-Embedder-Policy: require-corp
Remove require-corp from the parent page if it does not need cross-origin isolation. That is the smallest change.
If you do not own the site
- Add credentialless to the iframe
The frame loads without its cookies, and the COEP rule does not apply to it.
- Drop require-corp
Remove the COEP header if no feature of your page needs cross-origin isolation.
- Ask the owner
Ask them to send Cross-Origin-Resource-Policy: cross-origin and a COEP header.
Sources
- Chromium source: blocked_by_response_reason.mojom
- Chromium source: resource_error.cc
- Chromium source: cross_origin_resource_policy.cc
- Chrome DevTools source: NetworkDataGridNode.ts
- WebKit source: NetworkResourceLoader.cpp
- MDN: Cross-Origin-Embedder-Policy header
- MDN: Cross-Origin-Resource-Policy header
- MDN: IFrame credentialless
- WHATWG HTML: Cross-origin embedder policy