diff --git a/features/draft/spec/requeststorageaccessfor.yml b/features/draft/spec/requeststorageaccessfor.yml deleted file mode 100644 index 415baed4303..00000000000 --- a/features/draft/spec/requeststorageaccessfor.yml +++ /dev/null @@ -1,7 +0,0 @@ -draft_date: 2024-09-09 -name: requestStorageAccessFor API -description: TODO -spec: https://privacycg.github.io/requestStorageAccessFor/ -compat_features: - - api.Document.requestStorageAccessFor - - api.Permissions.permission_top-level-storage-access diff --git a/features/draft/spec/requeststorageaccessfor.yml.dist b/features/draft/spec/requeststorageaccessfor.yml.dist deleted file mode 100644 index 963ef98c053..00000000000 --- a/features/draft/spec/requeststorageaccessfor.yml.dist +++ /dev/null @@ -1,20 +0,0 @@ -# Generated from: requeststorageaccessfor.yml -# Do not edit this file by hand. Edit the source file instead! - -status: - baseline: false - support: - chrome_android: "120" -compat_features: - # baseline: false - # support: - # chrome: "119" - # chrome_android: "119" - # edge: "119" - - api.Document.requestStorageAccessFor - - # ⬇️ Same status as overall feature ⬇️ - # baseline: false - # support: - # chrome_android: "120" - - api.Permissions.permission_top-level-storage-access diff --git a/features/draft/spec/storage.yml b/features/draft/spec/storage.yml deleted file mode 100644 index c0654e6854d..00000000000 --- a/features/draft/spec/storage.yml +++ /dev/null @@ -1,11 +0,0 @@ -draft_date: 2024-09-09 -name: Storage Standard -description: TODO -spec: https://storage.spec.whatwg.org/ -compat_features: - - api.Navigator.storage - - api.StorageManager - - api.StorageManager.estimate - - api.StorageManager.persist - - api.StorageManager.persisted - - api.WorkerNavigator.storage diff --git a/features/localstorage.yml b/features/localstorage.yml new file mode 100644 index 00000000000..7623000d320 --- /dev/null +++ b/features/localstorage.yml @@ -0,0 +1,25 @@ +name: localStorage and sessionStorage +description: The `localStorage` and `sessionStorage` APIs store data as key-value pairs. While `localStorage` persists across sessions, `sessionStorage` data is discarded when the page is closed. +spec: https://storage.spec.whatwg.org/ +group: storage +caniuse: namevalue-storage +# Computing from here aligns the feature with Caniuse +status: + compute_from: api.Storage +compat_features: + - api.Storage + - api.Storage.clear + - api.Storage.getItem + - api.Storage.key + - api.Storage.length + - api.Storage.removeItem + - api.Storage.setItem + - api.StorageEvent + - api.StorageEvent.key + - api.StorageEvent.newValue + - api.StorageEvent.oldValue + - api.StorageEvent.storageArea + - api.StorageEvent.url + - api.Window.localStorage + - api.Window.sessionStorage + - api.Window.storage_event diff --git a/features/localstorage.yml.dist b/features/localstorage.yml.dist new file mode 100644 index 00000000000..c386d2c8795 --- /dev/null +++ b/features/localstorage.yml.dist @@ -0,0 +1,116 @@ +# Generated from: localstorage.yml +# Do not edit this file by hand. Edit the source file instead! + +status: + baseline: high + baseline_low_date: 2015-07-29 + baseline_high_date: 2018-01-29 + support: + chrome: "4" + chrome_android: "18" + edge: "12" + firefox: "3.5" + firefox_android: "6" + safari: "4" + safari_ios: "3.2" +compat_features: + # baseline: high + # baseline_low_date: 2015-07-29 + # baseline_high_date: 2018-01-29 + # support: + # chrome: "1" + # chrome_android: "18" + # edge: "12" + # firefox: "13" + # firefox_android: "14" + # safari: "4" + # safari_ios: "3" + - api.StorageEvent + - api.StorageEvent.key + - api.StorageEvent.newValue + - api.StorageEvent.oldValue + + # baseline: high + # baseline_low_date: 2015-07-29 + # baseline_high_date: 2018-01-29 + # support: + # chrome: "3" + # chrome_android: "18" + # edge: "12" + # firefox: "13" + # firefox_android: "14" + # safari: "4" + # safari_ios: "3" + - api.StorageEvent.storageArea + + # baseline: high + # baseline_low_date: 2015-07-29 + # baseline_high_date: 2018-01-29 + # support: + # chrome: "4" + # chrome_android: "18" + # edge: "12" + # firefox: "2" + # firefox_android: "4" + # safari: "4" + # safari_ios: "3.2" + - api.Window.sessionStorage + + # baseline: high + # baseline_low_date: 2015-07-29 + # baseline_high_date: 2018-01-29 + # support: + # chrome: "4" + # chrome_android: "18" + # edge: "12" + # firefox: "3.5" + # firefox_android: "4" + # safari: "4" + # safari_ios: "3.2" + - api.Window.localStorage + + # ⬇️ Same status as overall feature ⬇️ + # baseline: high + # baseline_low_date: 2015-07-29 + # baseline_high_date: 2018-01-29 + # support: + # chrome: "4" + # chrome_android: "18" + # edge: "12" + # firefox: "3.5" + # firefox_android: "6" + # safari: "4" + # safari_ios: "3.2" + - api.Storage + - api.Storage.clear + - api.Storage.getItem + - api.Storage.key + - api.Storage.length + - api.Storage.removeItem + - api.Storage.setItem + + # baseline: high + # baseline_low_date: 2015-07-29 + # baseline_high_date: 2018-01-29 + # support: + # chrome: "6" + # chrome_android: "18" + # edge: "12" + # firefox: "13" + # firefox_android: "14" + # safari: "5" + # safari_ios: "5" + - api.StorageEvent.url + + # baseline: high + # baseline_low_date: 2017-04-05 + # baseline_high_date: 2019-10-05 + # support: + # chrome: "1" + # chrome_android: "18" + # edge: "15" + # firefox: "45" + # firefox_android: "45" + # safari: "4" + # safari_ios: "4" + - api.Window.storage_event diff --git a/features/draft/spec/saa-non-cookie-storage.yml b/features/non-cookie-storage-access.yml similarity index 89% rename from features/draft/spec/saa-non-cookie-storage.yml rename to features/non-cookie-storage-access.yml index 69fed142cef..c97e94c182c 100644 --- a/features/draft/spec/saa-non-cookie-storage.yml +++ b/features/non-cookie-storage-access.yml @@ -1,7 +1,7 @@ -draft_date: 2024-09-09 -name: Extending Storage Access API (SAA) to non-cookie storage -description: TODO +name: Non-cookie storage access +description: "Non-cookie storage access extends the `requestStorageAccess()` API to let content in cross-site iframes request access to first-party data beyond cookies." spec: https://privacycg.github.io/saa-non-cookie-storage/ +group: storage compat_features: - api.Document.hasUnpartitionedCookieAccess - api.Document.requestStorageAccess.types_parameter diff --git a/features/draft/spec/saa-non-cookie-storage.yml.dist b/features/non-cookie-storage-access.yml.dist similarity index 97% rename from features/draft/spec/saa-non-cookie-storage.yml.dist rename to features/non-cookie-storage-access.yml.dist index 38f53d15ad7..242639f7212 100644 --- a/features/draft/spec/saa-non-cookie-storage.yml.dist +++ b/features/non-cookie-storage-access.yml.dist @@ -1,4 +1,4 @@ -# Generated from: saa-non-cookie-storage.yml +# Generated from: non-cookie-storage-access.yml # Do not edit this file by hand. Edit the source file instead! status: diff --git a/features/draft/spec/shared-storage.yml b/features/shared-storage.yml similarity index 77% rename from features/draft/spec/shared-storage.yml rename to features/shared-storage.yml index 6cbe2dc6cde..7b23e8ced84 100644 --- a/features/draft/spec/shared-storage.yml +++ b/features/shared-storage.yml @@ -1,7 +1,7 @@ -draft_date: 2024-09-09 -name: Shared Storage API -description: TODO +name: Shared storage +description: The `sharedStorage` API stores data to a shared space where the data can then be processed without the ability to track users across the different sites they visit. A common use case is measuring the reach of third-party ads without using user-tracking cookies." spec: https://wicg.github.io/shared-storage/ +group: storage compat_features: - api.HTMLIFrameElement.sharedStorageWritable - api.HTMLImageElement.sharedStorageWritable diff --git a/features/draft/spec/shared-storage.yml.dist b/features/shared-storage.yml.dist similarity index 100% rename from features/draft/spec/shared-storage.yml.dist rename to features/shared-storage.yml.dist diff --git a/features/storage-access.yml b/features/storage-access.yml index 73e8d757727..469e0119f63 100644 --- a/features/storage-access.yml +++ b/features/storage-access.yml @@ -1,3 +1,11 @@ name: Storage access description: The `document.requestStorageAccess()` method allows content in iframes to request storing and reading cookies and other site data, while the `document.hasStorageAccess()` method checks if such access is granted. spec: https://privacycg.github.io/storage-access/ +group: storage +status: + compute_from: api.Document.requestStorageAccess +compat_features: + - api.Document.hasStorageAccess + - api.Document.requestStorageAccess + - api.Document.requestStorageAccessFor + - api.Permissions.permission_top-level-storage-access diff --git a/features/storage-access.yml.dist b/features/storage-access.yml.dist index b7ebb33a199..b48989e1625 100644 --- a/features/storage-access.yml.dist +++ b/features/storage-access.yml.dist @@ -13,5 +13,28 @@ status: safari: "11.1" safari_ios: "11.3" compat_features: + # ⬇️ Same status as overall feature ⬇️ + # baseline: low + # baseline_low_date: 2023-12-05 + # support: + # chrome: "119" + # chrome_android: "120" + # edge: "85" + # firefox: "65" + # firefox_android: "65" + # safari: "11.1" + # safari_ios: "11.3" - api.Document.hasStorageAccess - api.Document.requestStorageAccess + + # baseline: false + # support: + # chrome: "119" + # chrome_android: "119" + # edge: "119" + - api.Document.requestStorageAccessFor + + # baseline: false + # support: + # chrome_android: "120" + - api.Permissions.permission_top-level-storage-access diff --git a/features/storage-buckets.yml b/features/storage-buckets.yml index feaf10df939..0302c740818 100644 --- a/features/storage-buckets.yml +++ b/features/storage-buckets.yml @@ -1,3 +1,4 @@ name: Storage buckets description: The `navigator.storageBuckets` API allows you to organize locally stored data into groups called storage buckets. Each bucket can have different settings, allowing the browser to manage and delete buckets independently rather than applying the same treatment to all. spec: https://wicg.github.io/storage-buckets/ +group: storage diff --git a/features/storage-manager.yml b/features/storage-manager.yml new file mode 100644 index 00000000000..21b13b9b6f1 --- /dev/null +++ b/features/storage-manager.yml @@ -0,0 +1,11 @@ +name: Storage manager +description: "The `navigator.storage` API provides information about the availability and persistence of the data that a site stores on the device, by using APIs such as the Cache API or the IndexedDB API." +spec: https://storage.spec.whatwg.org/ +group: storage +compat_features: + - api.Navigator.storage + - api.WorkerNavigator.storage + - api.StorageManager + - api.StorageManager.estimate + - api.StorageManager.persist + - api.StorageManager.persisted diff --git a/features/draft/spec/storage.yml.dist b/features/storage-manager.yml.dist similarity index 96% rename from features/draft/spec/storage.yml.dist rename to features/storage-manager.yml.dist index 791585b1411..9bf985ffa40 100644 --- a/features/draft/spec/storage.yml.dist +++ b/features/storage-manager.yml.dist @@ -1,4 +1,4 @@ -# Generated from: storage.yml +# Generated from: storage-manager.yml # Do not edit this file by hand. Edit the source file instead! status: diff --git a/groups/storage.yml b/groups/storage.yml new file mode 100644 index 00000000000..ee370fc8b42 --- /dev/null +++ b/groups/storage.yml @@ -0,0 +1,6 @@ +# Group for the set of features related to storage of data. +# Currently this group contains all storage related features +# that have been developed. However, there are still many to add, +# so it's possible this eventually gets sub-groups or another +# approach for more specific categorization. +name: Storage