diff --git a/storage.bs b/storage.bs index 9996a34..14cc990 100644 --- a/storage.bs +++ b/storage.bs @@ -207,10 +207,9 @@ anticipated that some APIs will be applicable to both storage types going

Storage keys

A storage key is a tuple consisting of an -origin (an origin). [[!HTML]] - -

This is expected to change; see -Client-Side Storage Partitioning. +origin (an origin), a +top-level site (a site), and a +has cross-site ancestor (a boolean). [[!HTML]]

To obtain a storage key, given an environment @@ -239,7 +238,18 @@ anticipated that some APIs will be applicable to both storage types going environment settings object; otherwise environment's creation URL's origin. -

  • Return a tuple consisting of origin. +

  • Let topLevelOrigin be environment's + top-level origin. + +

  • If topLevelOrigin is null, then set it to origin. + +

  • Let topLevelSite be the result of obtaining a site given + topLevelOrigin. + +

  • Let hasCrossSiteAncestor be environment's + has cross-site ancestor. + +

  • Return (origin, topLevelSite, hasCrossSiteAncestor).

  • @@ -251,6 +261,13 @@ anticipated that some APIs will be applicable to both storage types going
  • If A's origin is not same origin with B's origin, then return false. +

  • If A's top-level site is not + same site with B's top-level site, + then return false. + +

  • If A's has cross-site ancestor is not + B's has cross-site ancestor, then return false. +

  • Return true.