diff --git a/source b/source index fb5fddc4ebf..6a616267161 100644 --- a/source +++ b/source @@ -91377,8 +91377,8 @@ interface BarProp {

To set up a window environment settings object, given a URL creationURL, a JavaScript execution context execution context, null or an environment reservedEnvironment, a URL - topLevelCreationURL, and an origin topLevelOrigin, run these - steps:

+ topLevelCreationURL, an origin topLevelOrigin, and a + boolean crossSiteAncestorFlag, run these steps:

  1. Let realm be the value of execution context's Realm @@ -91480,8 +91480,10 @@ interface BarProp {

  2. Set settings object's creation URL to creationURL, settings object's top-level creation - URL to topLevelCreationURL, and settings object's top-level - origin to topLevelOrigin.

  3. + URL to topLevelCreationURL, settings object's top-level + origin to topLevelOrigin, and settings object's cross-site ancestor flag to + crossSiteAncestorFlag.

  4. Set realm's [[HostDefined]] field to settings object.

@@ -98802,6 +98804,17 @@ interface NotRestoredReasons { otherwise embedder's relevant settings object's top-level origin.

+
  • Let crossSiteAncestorFlag be false.

  • + +
  • If embedder is not null, set crossSiteAncestorFlag to + embedder's cross-site + ancestor flag.

  • + +
  • If crossSiteAncestorFlag is false, embedder is not null, and + origin is not same site with embedder's origin, then set crossSiteAncestorFlag + to true.

  • +
  • Set up a window environment settings object with about:blank, realm execution context, null, topLevelCreationURL, and topLevelOrigin.

  • @@ -102780,6 +102793,8 @@ location.href = '#foo';
  • Let topLevelOrigin be null.

  • +
  • Let crossSiteAncestorFlag be false.

  • +
  • If navigable is not a top-level traversable, then:

    @@ -102793,6 +102808,15 @@ location.href = '#foo';
  • Set topLevelOrigin to parentEnvironment's top-level origin.

  • + +
  • If embedder is not null, set crossSiteAncestorFlag to + embedder's cross-site + ancestor flag.

  • + +
  • If crossSiteAncestorFlag is false, embedder is not null, and + origin is not same site with embedder's origin, then set crossSiteAncestorFlag + to true.

  • @@ -102803,8 +102827,10 @@ location.href = '#foo'; data-x="concept-environment-target-browsing-context">target browsing context is navigable's active browsing context, creation URL is currentURL, - top-level creation URL is topLevelCreationURL, and top-level - origin is topLevelOrigin.

    + top-level creation URL is topLevelCreationURL, top-level + origin is topLevelOrigin, and cross-site ancestor flag is + crossSiteAncestorFlag.

    The created environment's active service worker is set in @@ -105299,6 +105325,8 @@ location.href = '#foo';

  • Let topLevelOrigin be navigationParams's origin.

  • +
  • Let crossSiteAncestorFlag be false.

  • +
  • If navigable's container is not null, then:

    @@ -105312,13 +105340,22 @@ location.href = '#foo';
  • Set topLevelOrigin to parentEnvironment's top-level origin.

  • + +
  • Set crossSiteAncestorFlag to parentEnvironment's cross-site ancestor flag.

  • + +
  • If crossSiteAncestorFlag is false and navigationParams's origin is not same site with + parentEnvironment's origin, + then set crossSiteAncestorFlag to true.

  • Set up a window environment settings object with creationURL, realmExecutionContext, navigationParams's reserved environment, - topLevelCreationURL, and topLevelOrigin.

  • + topLevelCreationURL, topLevelOrigin, and + crossSiteAncestorFlag.

    This is the usual case, where the new Document we're about to @@ -107174,6 +107211,15 @@ new PaymentRequest(…); // Allowed to use involved.

    +
    A cross-site + ancestor flag
    +

    A boolean. For window environment settings objects this will be set to true + if an ancestor frame has an origin that is + not same site with the current window's origin and otherwise false. For workers and + worklets it is set to the cross-site + ancestor flag of its creator.

    +
    A target browsing context

    Null or a target browsing context for a SharedWorkerGlobalScope : WorkerGlobalScope unique opaque string, creation URL to worker global scope's url, top-level creation URL to null, target browsing context to - null, and active service worker - to null.

    + null, active service worker + to null, and cross-site ancestor flag + to outside settings's + cross-site ancestor flag.

  • If worker global scope is a DedicatedWorkerGlobalScope object, then set settings object's top-level origin to outside