Skip to content

Commit c79e8f3

Browse files
Make COOP+COEP do not imply crossOriginIsolated.
The [specification] currently requires [COOP] + [COEP] to give access to crossOriginIsolated capabilities like SharedArrayBuffer. Some platforms can't easily support multiple processes (like Android Webview). Therefore, they can't really support crossOriginIsolated. However the are no strong reasons for them not to enforce COEP (and maybe COOP) when their associated headers are present. It would be great enforcing COEP (and maybe COOP) on all platforms, desptie the lack of crossOriginIsolated capabilities. This patch makes the specification to allow (instead of requiring) platform to set the crossOriginIsolated flag when both COOP and COEP are used. Setting crossOriginIsolated becomes platform dependent. In exchange, we can enforce COEP (and COOP) in a non platform dependent way, without conflicting with the specification about crossOriginIsolated. [Bug]: #6060 [specification]: https://html.spec.whatwg.org/#cross-origin-opener-policies [COOP]: https://html.spec.whatwg.org/#cross-origin-opener-policy [COEP]: https://html.spec.whatwg.org/#coep
1 parent 895fd80 commit c79e8f3

File tree

1 file changed

+35
-6
lines changed

1 file changed

+35
-6
lines changed

source

Lines changed: 35 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -79602,6 +79602,14 @@ interface <dfn>BarProp</dfn> {
7960279602
<var>window</var>'s <span data-x="concept-document-window">associated
7960379603
<code>Document</code></span>.</p></li>
7960479604

79605+
<li><p>Let <var>canBeCrossOriginIsolated</var> be true if the user agent is willing to give access
79606+
to <code data-x="cross-origin-isolated-feature">cross-origin-isolated</code> features, and false
79607+
otherwise.</p>
79608+
<p class="note">Not every platform can easily support the security properties associated with the
79609+
<code data-x="cross-origin-isolated-feature">cross-origin-isolated</code> feature. Once the
79610+
decision to support it has been made, it is guaranteed not to change over time.</p>
79611+
</li>
79612+
7960579613
<li>
7960679614
<p>Let <var>settings object</var> be a new <span>environment settings object</span> whose
7960779615
algorithms are defined as follows:</p>
@@ -79668,11 +79676,19 @@ interface <dfn>BarProp</dfn> {
7966879676

7966979677
<dt>The <span data-x="concept-settings-object-cross-origin-isolated-capability">cross-origin
7967079678
isolated capability</span></dt>
79671-
<dd><p>Return the logical conjunction of <var>realm</var>'s <span>agent cluster</span>'s
79672-
<span>cross-origin isolated</span> and whether <var>window</var>'s <span
79673-
data-x="concept-document-window">associated <code>Document</code></span> is <span>allowed to
79674-
use</span> the "<code data-x="cross-origin-isolated-feature">cross-origin-isolated</code>"
79675-
feature.</p></dd>
79679+
<dd><p>Return the logical conjunction of:</p>
79680+
<ol>
79681+
<li><p><var>canBeCrossOriginIsolated</var></p></li>
79682+
79683+
<li><p><var>realm</var>'s <span>agent cluster</span>'s <span>cross-origin
79684+
isolated</span></p></li>
79685+
79686+
<li><p><var>window</var>'s <span data-x="concept-document-window">associated
79687+
<code>Document</code></span> is <span>allowed to use</span> the "<code
79688+
data-x="cross-origin-isolated-feature">cross-origin-isolated</code>" feature.</p>
79689+
</ol>
79690+
</dd>
79691+
7967679692
</dl>
7967779693
</li>
7967879694

@@ -88664,7 +88680,20 @@ interface <dfn>ApplicationCache</dfn> : <span>EventTarget</span> {
8866488680
for="environment settings object">cross-origin isolated capability</dfn></dt>
8866588681

8866688682
<dd><p>A boolean representing whether scripts that use this <span>environment settings
88667-
object</span> are allowed to use APIs that require cross-origin isolation.</p></dd>
88683+
object</span> are allowed to use APIs that require cross-origin isolation.</p>
88684+
<div class="note">
88685+
<p>
88686+
This value is platform dependent, because on some platforms is not possible to provide the
88687+
security properties associated with this state. There are platform independent invariants
88688+
though, it "MUST" be false whenever:
88689+
</p>
88690+
<ul>
88691+
<li><p>The surrounding agent cluster's cross-origin isolated is false</p></li>
88692+
<li><p>The corresponding feature policy doesn't allow to use the feature</p></li>
88693+
</ul>
88694+
</div>
88695+
</dd>
88696+
8866888697
</dl>
8866988698

8867088699
<p>An <span>environment settings object</span> also has an <dfn>outstanding rejected promises

0 commit comments

Comments
 (0)