diff --git a/storage.bs b/storage.bs index 9996a34..f92d6e9 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 +cross-site ancestry (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 crossSiteAncestry be environment's + cross-site ancestry. + +

  • Return (origin, topLevelSite, crossSiteAncestry).

  • @@ -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 cross-site ancestry is not + B's cross-site ancestry, then return false. +

  • Return true.