> [!WARNING]
> **Warning:** You're viewing the deprecated Manifest V2 version of this article. See [Manifest V3 - Manifest Cross-origin opener policy](https://developer.chrome.com/docs/extensions/reference/manifest/cross-origin-opener-policy.md.txt) for the MV3 equivalent. The Chrome Web Store no longer accepts Manifest V2 extensions. Follow the [Manifest V3 Migration guide](https://developer.chrome.com/docs/extensions/develop/migrate.md.txt) to convert your extension to Manifest V3.

The `cross_origin_opener_policy` manifest key lets extensions specify a value for the
[Cross-Origin-Opener-Policy](https://developer.mozilla.org/docs/Web/HTTP/Headers/Cross-Origin-Opener-Policy) (COOP) response header for requests to the extension's
origin. This includes the extension's background context (service worker or background page), popup,
options page, tabs that are open to an extension resource, etc.

Together with [cross_origin_embedder_policy](https://developer.chrome.com/docs/extensions/mv2/manifest/cross_origin_embedder_policy), this key allows extensions to opt into
[cross-origin isolation](https://developer.chrome.com/docs/extensions/mv2/cross-origin-isolation.md.txt).

## Manifest declaration

> [!NOTE]
> **Note:** This key was introduced in Chrome 93.

The `cross_origin_opener_policy` manifest key takes an object. This object should only contain one
property named `value` with a string value. Chrome uses this string as the value of the
`Cross-Origin-Opener-Policy` header when serving resources from the extension's origin. For example:

```javascript
{
    ...
    "cross_origin_opener_policy": {
      "value": "same-origin"
    },
    ...
}
```

See [Cross-origin isolation overview](https://developer.chrome.com/docs/extensions/mv2/cross-origin-isolation.md.txt) for more information about this feature.