From 2218fc60d1d12324f35a225b494206e9229d8fa1 Mon Sep 17 00:00:00 2001 From: dietrich ayala Date: Thu, 12 Sep 2024 14:20:43 +0200 Subject: [PATCH 01/26] move files, remove draft date --- features/{draft/spec => }/storage.yml | 1 - features/{draft/spec => }/storage.yml.dist | 0 2 files changed, 1 deletion(-) rename features/{draft/spec => }/storage.yml (92%) rename features/{draft/spec => }/storage.yml.dist (100%) diff --git a/features/draft/spec/storage.yml b/features/storage.yml similarity index 92% rename from features/draft/spec/storage.yml rename to features/storage.yml index c0654e6854d..2e0b794a0e0 100644 --- a/features/draft/spec/storage.yml +++ b/features/storage.yml @@ -1,4 +1,3 @@ -draft_date: 2024-09-09 name: Storage Standard description: TODO spec: https://storage.spec.whatwg.org/ diff --git a/features/draft/spec/storage.yml.dist b/features/storage.yml.dist similarity index 100% rename from features/draft/spec/storage.yml.dist rename to features/storage.yml.dist From c4093c3dcba90dc6d78f42c5d35f365720c53926 Mon Sep 17 00:00:00 2001 From: dietrich ayala Date: Fri, 20 Sep 2024 11:20:56 +0200 Subject: [PATCH 02/26] move files, remove draft dates --- .../spec/indexeddb-3.yml => indexeddb.yml} | 1 - ...ndexeddb-3.yml.dist => indexeddb.yml.dist} | 2 +- .../spec => }/requeststorageaccessfor.yml | 1 - .../requeststorageaccessfor.yml.dist | 0 ...rage.yml => shared-storage-non-cookie.yml} | 1 - ...ist => shared-storage-non-cookie.yml.dist} | 2 +- features/{draft/spec => }/shared-storage.yml | 1 - .../{draft/spec => }/shared-storage.yml.dist | 0 features/storage-manager.yml | 13 ++++++ features/storage-manager.yml.dist | 44 +++++++++++++++++++ features/storage.yml | 5 ++- 11 files changed, 63 insertions(+), 7 deletions(-) rename features/{draft/spec/indexeddb-3.yml => indexeddb.yml} (99%) rename features/{draft/spec/indexeddb-3.yml.dist => indexeddb.yml.dist} (99%) rename features/{draft/spec => }/requeststorageaccessfor.yml (90%) rename features/{draft/spec => }/requeststorageaccessfor.yml.dist (100%) rename features/{draft/spec/saa-non-cookie-storage.yml => shared-storage-non-cookie.yml} (98%) rename features/{draft/spec/saa-non-cookie-storage.yml.dist => shared-storage-non-cookie.yml.dist} (97%) rename features/{draft/spec => }/shared-storage.yml (98%) rename features/{draft/spec => }/shared-storage.yml.dist (100%) create mode 100644 features/storage-manager.yml create mode 100644 features/storage-manager.yml.dist diff --git a/features/draft/spec/indexeddb-3.yml b/features/indexeddb.yml similarity index 99% rename from features/draft/spec/indexeddb-3.yml rename to features/indexeddb.yml index ab15154661e..ab87752e330 100644 --- a/features/draft/spec/indexeddb-3.yml +++ b/features/indexeddb.yml @@ -1,4 +1,3 @@ -draft_date: 2024-09-09 name: Indexed Database API 3.0 description: TODO spec: https://w3c.github.io/IndexedDB/ diff --git a/features/draft/spec/indexeddb-3.yml.dist b/features/indexeddb.yml.dist similarity index 99% rename from features/draft/spec/indexeddb-3.yml.dist rename to features/indexeddb.yml.dist index cc1c10e5a9a..f74c0857a6d 100644 --- a/features/draft/spec/indexeddb-3.yml.dist +++ b/features/indexeddb.yml.dist @@ -1,4 +1,4 @@ -# Generated from: indexeddb-3.yml +# Generated from: indexeddb.yml # Do not edit this file by hand. Edit the source file instead! status: diff --git a/features/draft/spec/requeststorageaccessfor.yml b/features/requeststorageaccessfor.yml similarity index 90% rename from features/draft/spec/requeststorageaccessfor.yml rename to features/requeststorageaccessfor.yml index 415baed4303..ad7047904ae 100644 --- a/features/draft/spec/requeststorageaccessfor.yml +++ b/features/requeststorageaccessfor.yml @@ -1,4 +1,3 @@ -draft_date: 2024-09-09 name: requestStorageAccessFor API description: TODO spec: https://privacycg.github.io/requestStorageAccessFor/ diff --git a/features/draft/spec/requeststorageaccessfor.yml.dist b/features/requeststorageaccessfor.yml.dist similarity index 100% rename from features/draft/spec/requeststorageaccessfor.yml.dist rename to features/requeststorageaccessfor.yml.dist diff --git a/features/draft/spec/saa-non-cookie-storage.yml b/features/shared-storage-non-cookie.yml similarity index 98% rename from features/draft/spec/saa-non-cookie-storage.yml rename to features/shared-storage-non-cookie.yml index 69fed142cef..2521b8e381c 100644 --- a/features/draft/spec/saa-non-cookie-storage.yml +++ b/features/shared-storage-non-cookie.yml @@ -1,4 +1,3 @@ -draft_date: 2024-09-09 name: Extending Storage Access API (SAA) to non-cookie storage description: TODO spec: https://privacycg.github.io/saa-non-cookie-storage/ diff --git a/features/draft/spec/saa-non-cookie-storage.yml.dist b/features/shared-storage-non-cookie.yml.dist similarity index 97% rename from features/draft/spec/saa-non-cookie-storage.yml.dist rename to features/shared-storage-non-cookie.yml.dist index 38f53d15ad7..ebaee6d9071 100644 --- a/features/draft/spec/saa-non-cookie-storage.yml.dist +++ b/features/shared-storage-non-cookie.yml.dist @@ -1,4 +1,4 @@ -# Generated from: saa-non-cookie-storage.yml +# Generated from: shared-storage-non-cookie.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 98% rename from features/draft/spec/shared-storage.yml rename to features/shared-storage.yml index 6cbe2dc6cde..be39dcc8d76 100644 --- a/features/draft/spec/shared-storage.yml +++ b/features/shared-storage.yml @@ -1,4 +1,3 @@ -draft_date: 2024-09-09 name: Shared Storage API description: TODO spec: https://wicg.github.io/shared-storage/ 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-manager.yml b/features/storage-manager.yml new file mode 100644 index 00000000000..27da9eed541 --- /dev/null +++ b/features/storage-manager.yml @@ -0,0 +1,13 @@ +# Name +# +# +name: Storage +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/storage-manager.yml.dist b/features/storage-manager.yml.dist new file mode 100644 index 00000000000..9bf985ffa40 --- /dev/null +++ b/features/storage-manager.yml.dist @@ -0,0 +1,44 @@ +# Generated from: storage-manager.yml +# Do not edit this file by hand. Edit the source file instead! + +status: + baseline: low + baseline_low_date: 2023-09-18 + support: + chrome: "61" + chrome_android: "61" + edge: "79" + firefox: "57" + firefox_android: "57" + safari: "17" + safari_ios: "17" +compat_features: + # baseline: high + # baseline_low_date: 2021-12-13 + # baseline_high_date: 2024-06-13 + # support: + # chrome: "55" + # chrome_android: "55" + # edge: "79" + # firefox: "57" + # firefox_android: "57" + # safari: "15.2" + # safari_ios: "15.2" + - api.Navigator.storage + - api.StorageManager + - api.StorageManager.persist + - api.StorageManager.persisted + - api.WorkerNavigator.storage + + # ⬇️ Same status as overall feature ⬇️ + # baseline: low + # baseline_low_date: 2023-09-18 + # support: + # chrome: "61" + # chrome_android: "61" + # edge: "79" + # firefox: "57" + # firefox_android: "57" + # safari: "17" + # safari_ios: "17" + - api.StorageManager.estimate diff --git a/features/storage.yml b/features/storage.yml index 2e0b794a0e0..27da9eed541 100644 --- a/features/storage.yml +++ b/features/storage.yml @@ -1,4 +1,7 @@ -name: Storage Standard +# Name +# +# +name: Storage description: TODO spec: https://storage.spec.whatwg.org/ compat_features: From be7cc3b5b65e584dbd2bd93b94adb38278ec7d12 Mon Sep 17 00:00:00 2001 From: dietrich ayala Date: Fri, 20 Sep 2024 11:23:59 +0200 Subject: [PATCH 03/26] separate storage and storage-manager --- features/storage-manager.yml | 3 +-- features/storage-manager.yml.dist | 1 - features/storage.yml | 5 ---- features/storage.yml.dist | 41 ++++++------------------------- 4 files changed, 8 insertions(+), 42 deletions(-) diff --git a/features/storage-manager.yml b/features/storage-manager.yml index 27da9eed541..af55526f8ff 100644 --- a/features/storage-manager.yml +++ b/features/storage-manager.yml @@ -1,11 +1,10 @@ # Name # # -name: Storage +name: Storage Manager description: TODO spec: https://storage.spec.whatwg.org/ compat_features: - - api.Navigator.storage - api.StorageManager - api.StorageManager.estimate - api.StorageManager.persist diff --git a/features/storage-manager.yml.dist b/features/storage-manager.yml.dist index 9bf985ffa40..6d8d6603c50 100644 --- a/features/storage-manager.yml.dist +++ b/features/storage-manager.yml.dist @@ -24,7 +24,6 @@ compat_features: # firefox_android: "57" # safari: "15.2" # safari_ios: "15.2" - - api.Navigator.storage - api.StorageManager - api.StorageManager.persist - api.StorageManager.persisted diff --git a/features/storage.yml b/features/storage.yml index 27da9eed541..43b3d1ccbc6 100644 --- a/features/storage.yml +++ b/features/storage.yml @@ -6,8 +6,3 @@ 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/storage.yml.dist b/features/storage.yml.dist index 791585b1411..c55c9999e96 100644 --- a/features/storage.yml.dist +++ b/features/storage.yml.dist @@ -2,43 +2,16 @@ # Do not edit this file by hand. Edit the source file instead! status: - baseline: low - baseline_low_date: 2023-09-18 + baseline: high + baseline_low_date: 2021-12-13 + baseline_high_date: 2024-06-13 support: - chrome: "61" - chrome_android: "61" + chrome: "55" + chrome_android: "55" edge: "79" firefox: "57" firefox_android: "57" - safari: "17" - safari_ios: "17" + safari: "15.2" + safari_ios: "15.2" compat_features: - # baseline: high - # baseline_low_date: 2021-12-13 - # baseline_high_date: 2024-06-13 - # support: - # chrome: "55" - # chrome_android: "55" - # edge: "79" - # firefox: "57" - # firefox_android: "57" - # safari: "15.2" - # safari_ios: "15.2" - api.Navigator.storage - - api.StorageManager - - api.StorageManager.persist - - api.StorageManager.persisted - - api.WorkerNavigator.storage - - # ⬇️ Same status as overall feature ⬇️ - # baseline: low - # baseline_low_date: 2023-09-18 - # support: - # chrome: "61" - # chrome_android: "61" - # edge: "79" - # firefox: "57" - # firefox_android: "57" - # safari: "17" - # safari_ios: "17" - - api.StorageManager.estimate From 0a2392c00a64bd010bec5478684c7297dfb5af9e Mon Sep 17 00:00:00 2001 From: dietrich ayala Date: Fri, 20 Sep 2024 12:23:50 +0200 Subject: [PATCH 04/26] make storage group, add it to the features --- features/indexeddb.yml | 1 + features/requeststorageaccessfor.yml | 1 + features/shared-storage-non-cookie.yml | 1 + features/shared-storage.yml | 1 + features/storage-access.yml | 1 + features/storage-buckets.yml | 1 + features/storage-manager.yml | 1 + features/storage.yml | 1 + groups/storage.yml | 1 + 9 files changed, 9 insertions(+) create mode 100644 groups/storage.yml diff --git a/features/indexeddb.yml b/features/indexeddb.yml index ab87752e330..a5485266879 100644 --- a/features/indexeddb.yml +++ b/features/indexeddb.yml @@ -1,6 +1,7 @@ name: Indexed Database API 3.0 description: TODO spec: https://w3c.github.io/IndexedDB/ +group: storage compat_features: - api.IDBCursor - api.IDBCursor.advance diff --git a/features/requeststorageaccessfor.yml b/features/requeststorageaccessfor.yml index ad7047904ae..8fc8375da62 100644 --- a/features/requeststorageaccessfor.yml +++ b/features/requeststorageaccessfor.yml @@ -1,6 +1,7 @@ name: requestStorageAccessFor API description: TODO spec: https://privacycg.github.io/requestStorageAccessFor/ +group: storage compat_features: - api.Document.requestStorageAccessFor - api.Permissions.permission_top-level-storage-access diff --git a/features/shared-storage-non-cookie.yml b/features/shared-storage-non-cookie.yml index 2521b8e381c..6c80796910d 100644 --- a/features/shared-storage-non-cookie.yml +++ b/features/shared-storage-non-cookie.yml @@ -1,6 +1,7 @@ name: Extending Storage Access API (SAA) to non-cookie storage description: TODO 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/shared-storage.yml b/features/shared-storage.yml index be39dcc8d76..5cf62cc1672 100644 --- a/features/shared-storage.yml +++ b/features/shared-storage.yml @@ -1,6 +1,7 @@ name: Shared Storage API description: TODO spec: https://wicg.github.io/shared-storage/ +group: storage compat_features: - api.HTMLIFrameElement.sharedStorageWritable - api.HTMLImageElement.sharedStorageWritable diff --git a/features/storage-access.yml b/features/storage-access.yml index 73e8d757727..0de7b2a8685 100644 --- a/features/storage-access.yml +++ b/features/storage-access.yml @@ -1,3 +1,4 @@ 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 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 index af55526f8ff..7925658b513 100644 --- a/features/storage-manager.yml +++ b/features/storage-manager.yml @@ -4,6 +4,7 @@ name: Storage Manager description: TODO spec: https://storage.spec.whatwg.org/ +group: storage compat_features: - api.StorageManager - api.StorageManager.estimate diff --git a/features/storage.yml b/features/storage.yml index 43b3d1ccbc6..769e743a462 100644 --- a/features/storage.yml +++ b/features/storage.yml @@ -4,5 +4,6 @@ name: Storage description: TODO spec: https://storage.spec.whatwg.org/ +group: storage compat_features: - api.Navigator.storage diff --git a/groups/storage.yml b/groups/storage.yml new file mode 100644 index 00000000000..c6ba8c61598 --- /dev/null +++ b/groups/storage.yml @@ -0,0 +1 @@ +name: Storage From 61de60e00419bdd5f034f69b1f6bc6d13f257aab Mon Sep 17 00:00:00 2001 From: dietrich ayala Date: Fri, 20 Sep 2024 12:28:21 +0200 Subject: [PATCH 05/26] move storage impls out of html draft, into storage feature --- features/draft/spec/html.yml | 16 ----- features/draft/spec/html.yml.dist | 100 -------------------------- features/storage.yml | 16 +++++ features/storage.yml.dist | 112 ++++++++++++++++++++++++++++++ 4 files changed, 128 insertions(+), 116 deletions(-) diff --git a/features/draft/spec/html.yml b/features/draft/spec/html.yml index 4947bc87f34..05e4323ba1e 100644 --- a/features/draft/spec/html.yml +++ b/features/draft/spec/html.yml @@ -443,19 +443,6 @@ compat_features: - api.SharedWorkerGlobalScope.close - api.SharedWorkerGlobalScope.connect_event - api.SharedWorkerGlobalScope.name - - 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.SubmitEvent - api.SubmitEvent.SubmitEvent - api.SubmitEvent.submitter @@ -498,7 +485,6 @@ compat_features: - api.Window.languagechange_event - api.Window.length - api.Window.load_event - - api.Window.localStorage - api.Window.location - api.Window.locationbar - api.Window.menubar @@ -522,10 +508,8 @@ compat_features: - api.Window.rejectionhandled_event - api.Window.scrollbars - api.Window.self - - api.Window.sessionStorage - api.Window.statusbar - api.Window.stop - - api.Window.storage_event - api.Window.toolbar - api.Window.top - api.Window.unhandledrejection_event diff --git a/features/draft/spec/html.yml.dist b/features/draft/spec/html.yml.dist index 2967674a2cf..f105a74528a 100644 --- a/features/draft/spec/html.yml.dist +++ b/features/draft/spec/html.yml.dist @@ -555,22 +555,6 @@ compat_features: # safari_ios: "1" - api.Element.outerHTML - # 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 @@ -813,19 +797,6 @@ compat_features: - api.Window.offline_event - api.Window.online_event - # 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 @@ -866,19 +837,6 @@ compat_features: # safari_ios: "4" - api.PageTransitionEvent - # 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 @@ -918,19 +876,6 @@ compat_features: # safari_ios: "3.2" - api.MessageEvent.ports - # 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 - # baseline: high # baseline_low_date: 2015-07-29 # baseline_high_date: 2018-01-29 @@ -966,25 +911,6 @@ compat_features: - api.WorkerNavigator.onLine - api.WorkerNavigator.userAgent - # 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 @@ -1226,19 +1152,6 @@ compat_features: # safari_ios: "5" - api.HTMLElement.hidden - # 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: 2015-07-29 # baseline_high_date: 2018-01-29 @@ -2033,19 +1946,6 @@ compat_features: # safari_ios: "10.3" - api.HTMLAreaElement.download - # 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 - # baseline: high # baseline_low_date: 2017-06-06 # baseline_high_date: 2019-12-06 diff --git a/features/storage.yml b/features/storage.yml index 769e743a462..adaea98dff5 100644 --- a/features/storage.yml +++ b/features/storage.yml @@ -7,3 +7,19 @@ spec: https://storage.spec.whatwg.org/ group: storage compat_features: - api.Navigator.storage + - 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/storage.yml.dist b/features/storage.yml.dist index c55c9999e96..7fb8f6e7228 100644 --- a/features/storage.yml.dist +++ b/features/storage.yml.dist @@ -14,4 +14,116 @@ status: safari: "15.2" safari_ios: "15.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 + + # 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 + + # ⬇️ Same status as overall feature ⬇️ + # baseline: high + # baseline_low_date: 2021-12-13 + # baseline_high_date: 2024-06-13 + # support: + # chrome: "55" + # chrome_android: "55" + # edge: "79" + # firefox: "57" + # firefox_android: "57" + # safari: "15.2" + # safari_ios: "15.2" - api.Navigator.storage From f9b9bcdc1d8c80fb0569715e60b4f4417bf3006d Mon Sep 17 00:00:00 2001 From: dietrich ayala Date: Wed, 9 Oct 2024 17:35:47 +0700 Subject: [PATCH 06/26] merge and dist --- features/draft/spec/html.yml.dist | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/features/draft/spec/html.yml.dist b/features/draft/spec/html.yml.dist index 4cecdfa70de..bfbdd494156 100644 --- a/features/draft/spec/html.yml.dist +++ b/features/draft/spec/html.yml.dist @@ -777,6 +777,19 @@ compat_features: # safari_ios: "4" - api.PageTransitionEvent + # 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 @@ -1778,6 +1791,19 @@ compat_features: # safari_ios: "10.3" - api.HTMLAreaElement.download + # 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 + # baseline: high # baseline_low_date: 2017-06-06 # baseline_high_date: 2019-12-06 From 8da0b9bb1bc9dacd5591eef8f98d6b8d0f4c65a0 Mon Sep 17 00:00:00 2001 From: dietrich ayala Date: Wed, 9 Oct 2024 17:37:13 +0700 Subject: [PATCH 07/26] no touchy draft spec --- features/draft/spec/html.yml | 14 ++++++ features/draft/spec/html.yml.dist | 74 +++++++++++++++++++++++++++++++ 2 files changed, 88 insertions(+) diff --git a/features/draft/spec/html.yml b/features/draft/spec/html.yml index 21049200d11..0d2d8000fc1 100644 --- a/features/draft/spec/html.yml +++ b/features/draft/spec/html.yml @@ -403,6 +403,19 @@ compat_features: - api.SharedWorkerGlobalScope.close - api.SharedWorkerGlobalScope.connect_event - api.SharedWorkerGlobalScope.name + - 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.SubmitEvent - api.SubmitEvent.SubmitEvent - api.SubmitEvent.submitter @@ -444,6 +457,7 @@ compat_features: - api.Window.languagechange_event - api.Window.length - api.Window.load_event + - api.Window.localStorage - api.Window.location - api.Window.message_event - api.Window.name diff --git a/features/draft/spec/html.yml.dist b/features/draft/spec/html.yml.dist index bfbdd494156..c0ce1c9910d 100644 --- a/features/draft/spec/html.yml.dist +++ b/features/draft/spec/html.yml.dist @@ -509,6 +509,22 @@ compat_features: # safari_ios: "1" - api.Element.outerHTML + # 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 @@ -751,6 +767,19 @@ compat_features: - api.Window.offline_event - api.Window.online_event + # 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 @@ -829,6 +858,19 @@ compat_features: # safari_ios: "3.2" - api.MessageEvent.ports + # 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 + # baseline: high # baseline_low_date: 2015-07-29 # baseline_high_date: 2018-01-29 @@ -864,6 +906,25 @@ compat_features: - api.WorkerNavigator.onLine - api.WorkerNavigator.userAgent + # 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 @@ -1078,6 +1139,19 @@ compat_features: # safari_ios: "5" - api.HTMLElement.hidden + # 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: 2015-07-29 # baseline_high_date: 2018-01-29 From 1cc79a24d63213868810013b407bb2235715a9b3 Mon Sep 17 00:00:00 2001 From: dietrich ayala Date: Wed, 9 Oct 2024 17:43:48 +0700 Subject: [PATCH 08/26] undo indexeddb for now --- features/{indexeddb.yml => draft/spec/indexeddb-3.yml} | 2 +- .../{indexeddb.yml.dist => draft/spec/indexeddb-3.yml.dist} | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) rename features/{indexeddb.yml => draft/spec/indexeddb-3.yml} (99%) rename features/{indexeddb.yml.dist => draft/spec/indexeddb-3.yml.dist} (99%) diff --git a/features/indexeddb.yml b/features/draft/spec/indexeddb-3.yml similarity index 99% rename from features/indexeddb.yml rename to features/draft/spec/indexeddb-3.yml index a5485266879..ab15154661e 100644 --- a/features/indexeddb.yml +++ b/features/draft/spec/indexeddb-3.yml @@ -1,7 +1,7 @@ +draft_date: 2024-09-09 name: Indexed Database API 3.0 description: TODO spec: https://w3c.github.io/IndexedDB/ -group: storage compat_features: - api.IDBCursor - api.IDBCursor.advance diff --git a/features/indexeddb.yml.dist b/features/draft/spec/indexeddb-3.yml.dist similarity index 99% rename from features/indexeddb.yml.dist rename to features/draft/spec/indexeddb-3.yml.dist index f74c0857a6d..cc1c10e5a9a 100644 --- a/features/indexeddb.yml.dist +++ b/features/draft/spec/indexeddb-3.yml.dist @@ -1,4 +1,4 @@ -# Generated from: indexeddb.yml +# Generated from: indexeddb-3.yml # Do not edit this file by hand. Edit the source file instead! status: From c643550505934f37f963ca2f5a2216d7e9ea93aa Mon Sep 17 00:00:00 2001 From: dietrich ayala Date: Wed, 9 Oct 2024 18:00:40 +0700 Subject: [PATCH 09/26] merge storage manager back into storage --- features/storage-manager.yml | 13 ---------- features/storage-manager.yml.dist | 43 ------------------------------- features/storage.yml | 14 +++++++--- features/storage.yml.dist | 36 +++++++++++++++++++------- 4 files changed, 36 insertions(+), 70 deletions(-) delete mode 100644 features/storage-manager.yml delete mode 100644 features/storage-manager.yml.dist diff --git a/features/storage-manager.yml b/features/storage-manager.yml deleted file mode 100644 index 7925658b513..00000000000 --- a/features/storage-manager.yml +++ /dev/null @@ -1,13 +0,0 @@ -# Name -# -# -name: Storage Manager -description: TODO -spec: https://storage.spec.whatwg.org/ -group: storage -compat_features: - - api.StorageManager - - api.StorageManager.estimate - - api.StorageManager.persist - - api.StorageManager.persisted - - api.WorkerNavigator.storage diff --git a/features/storage-manager.yml.dist b/features/storage-manager.yml.dist deleted file mode 100644 index 6d8d6603c50..00000000000 --- a/features/storage-manager.yml.dist +++ /dev/null @@ -1,43 +0,0 @@ -# Generated from: storage-manager.yml -# Do not edit this file by hand. Edit the source file instead! - -status: - baseline: low - baseline_low_date: 2023-09-18 - support: - chrome: "61" - chrome_android: "61" - edge: "79" - firefox: "57" - firefox_android: "57" - safari: "17" - safari_ios: "17" -compat_features: - # baseline: high - # baseline_low_date: 2021-12-13 - # baseline_high_date: 2024-06-13 - # support: - # chrome: "55" - # chrome_android: "55" - # edge: "79" - # firefox: "57" - # firefox_android: "57" - # safari: "15.2" - # safari_ios: "15.2" - - api.StorageManager - - api.StorageManager.persist - - api.StorageManager.persisted - - api.WorkerNavigator.storage - - # ⬇️ Same status as overall feature ⬇️ - # baseline: low - # baseline_low_date: 2023-09-18 - # support: - # chrome: "61" - # chrome_android: "61" - # edge: "79" - # firefox: "57" - # firefox_android: "57" - # safari: "17" - # safari_ios: "17" - - api.StorageManager.estimate diff --git a/features/storage.yml b/features/storage.yml index adaea98dff5..3b1e9d539ec 100644 --- a/features/storage.yml +++ b/features/storage.yml @@ -1,10 +1,11 @@ -# Name -# -# name: Storage -description: TODO +description: "`Storage` is for access and maniupulation of a particular domain's session or local storage, include the addition, modification, or deletion of stored data using name/value pairs." 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.Navigator.storage - api.Storage @@ -20,6 +21,11 @@ compat_features: - api.StorageEvent.oldValue - api.StorageEvent.storageArea - api.StorageEvent.url + - api.StorageManager + - api.StorageManager.estimate + - api.StorageManager.persist + - api.StorageManager.persisted - api.Window.localStorage - api.Window.sessionStorage - api.Window.storage_event + - api.WorkerNavigator.storage diff --git a/features/storage.yml.dist b/features/storage.yml.dist index 7fb8f6e7228..4318f9e45fa 100644 --- a/features/storage.yml.dist +++ b/features/storage.yml.dist @@ -3,16 +3,16 @@ status: baseline: high - baseline_low_date: 2021-12-13 - baseline_high_date: 2024-06-13 + baseline_low_date: 2015-07-29 + baseline_high_date: 2018-01-29 support: - chrome: "55" - chrome_android: "55" - edge: "79" - firefox: "57" - firefox_android: "57" - safari: "15.2" - safari_ios: "15.2" + 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 @@ -69,6 +69,7 @@ compat_features: # 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 @@ -114,7 +115,6 @@ compat_features: # safari_ios: "4" - api.Window.storage_event - # ⬇️ Same status as overall feature ⬇️ # baseline: high # baseline_low_date: 2021-12-13 # baseline_high_date: 2024-06-13 @@ -127,3 +127,19 @@ compat_features: # safari: "15.2" # safari_ios: "15.2" - api.Navigator.storage + - api.StorageManager + - api.StorageManager.persist + - api.StorageManager.persisted + - api.WorkerNavigator.storage + + # baseline: low + # baseline_low_date: 2023-09-18 + # support: + # chrome: "61" + # chrome_android: "61" + # edge: "79" + # firefox: "57" + # firefox_android: "57" + # safari: "17" + # safari_ios: "17" + - api.StorageManager.estimate From 3bbec91e3b928f6c59b4237bb6f7eb5416598e87 Mon Sep 17 00:00:00 2001 From: dietrich ayala Date: Wed, 9 Oct 2024 18:08:52 +0700 Subject: [PATCH 10/26] update desc --- features/storage.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/features/storage.yml b/features/storage.yml index 3b1e9d539ec..d4e423bc143 100644 --- a/features/storage.yml +++ b/features/storage.yml @@ -1,5 +1,5 @@ name: Storage -description: "`Storage` is for access and maniupulation of a particular domain's session or local storage, include the addition, modification, or deletion of stored data using name/value pairs." +description: "`Storage` is for access and manipulation of a particular domain's stored data either for the duration of a session, or persistent across sessions, using name/value pairs." spec: https://storage.spec.whatwg.org/ group: storage caniuse: namevalue-storage From bb00468a9507773f64c8e65b65d5b142f7610055 Mon Sep 17 00:00:00 2001 From: dietrich ayala Date: Wed, 9 Oct 2024 18:19:08 +0700 Subject: [PATCH 11/26] merge requeststorageaccessfor into storage-access --- features/requeststorageaccessfor.yml | 7 ------- features/requeststorageaccessfor.yml.dist | 20 -------------------- features/storage-access.yml | 7 +++++++ features/storage-access.yml.dist | 23 +++++++++++++++++++++++ 4 files changed, 30 insertions(+), 27 deletions(-) delete mode 100644 features/requeststorageaccessfor.yml delete mode 100644 features/requeststorageaccessfor.yml.dist diff --git a/features/requeststorageaccessfor.yml b/features/requeststorageaccessfor.yml deleted file mode 100644 index 8fc8375da62..00000000000 --- a/features/requeststorageaccessfor.yml +++ /dev/null @@ -1,7 +0,0 @@ -name: requestStorageAccessFor API -description: TODO -spec: https://privacycg.github.io/requestStorageAccessFor/ -group: storage -compat_features: - - api.Document.requestStorageAccessFor - - api.Permissions.permission_top-level-storage-access diff --git a/features/requeststorageaccessfor.yml.dist b/features/requeststorageaccessfor.yml.dist deleted file mode 100644 index 963ef98c053..00000000000 --- a/features/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/storage-access.yml b/features/storage-access.yml index 0de7b2a8685..469e0119f63 100644 --- a/features/storage-access.yml +++ b/features/storage-access.yml @@ -2,3 +2,10 @@ 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 From bcd5cceb7dfbb4c34bacd95c7fcd53a02c3c340c Mon Sep 17 00:00:00 2001 From: dietrich ayala Date: Wed, 9 Oct 2024 18:31:12 +0700 Subject: [PATCH 12/26] update descs --- features/shared-storage-non-cookie.yml | 2 +- features/shared-storage.yml | 4 ++-- features/storage-access.yml | 1 + 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/features/shared-storage-non-cookie.yml b/features/shared-storage-non-cookie.yml index 6c80796910d..ca40bab401b 100644 --- a/features/shared-storage-non-cookie.yml +++ b/features/shared-storage-non-cookie.yml @@ -1,5 +1,5 @@ name: Extending Storage Access API (SAA) to non-cookie storage -description: TODO +description: "This extension of the Storage Access API enables content in cross-site iframes to request access to first-party data beyond cookies." spec: https://privacycg.github.io/saa-non-cookie-storage/ group: storage compat_features: diff --git a/features/shared-storage.yml b/features/shared-storage.yml index 5cf62cc1672..9f84c757df0 100644 --- a/features/shared-storage.yml +++ b/features/shared-storage.yml @@ -1,5 +1,5 @@ -name: Shared Storage API -description: TODO +name: Shared storage +description: "Shared Storage is a client-side storage mechanism for unpartitioned, cross-site data access that preserves privacy by not relying on tracking cookies." spec: https://wicg.github.io/shared-storage/ group: storage compat_features: diff --git a/features/storage-access.yml b/features/storage-access.yml index 469e0119f63..63286bf9721 100644 --- a/features/storage-access.yml +++ b/features/storage-access.yml @@ -2,6 +2,7 @@ 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 +# Gets this to match on baseline status on MDN status: compute_from: api.Document.requestStorageAccess compat_features: From bcbbddf23a6b3ea4871aa76750bc7a1278dc63f5 Mon Sep 17 00:00:00 2001 From: Dietrich Ayala <50103+autonome@users.noreply.github.com> Date: Fri, 11 Oct 2024 13:17:48 +0700 Subject: [PATCH 13/26] Update features/storage-access.yml Co-authored-by: Daniel D. Beck --- features/storage-access.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/features/storage-access.yml b/features/storage-access.yml index 63286bf9721..469e0119f63 100644 --- a/features/storage-access.yml +++ b/features/storage-access.yml @@ -2,7 +2,6 @@ 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 -# Gets this to match on baseline status on MDN status: compute_from: api.Document.requestStorageAccess compat_features: From 4f55ff31f8d29d801fb542939d137ee5e8e7222d Mon Sep 17 00:00:00 2001 From: Dietrich Ayala <50103+autonome@users.noreply.github.com> Date: Fri, 11 Oct 2024 13:20:29 +0700 Subject: [PATCH 14/26] Update features/storage.yml Co-authored-by: Daniel D. Beck --- features/storage.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/features/storage.yml b/features/storage.yml index d4e423bc143..68159481b94 100644 --- a/features/storage.yml +++ b/features/storage.yml @@ -1,5 +1,5 @@ -name: Storage -description: "`Storage` is for access and manipulation of a particular domain's stored data either for the duration of a session, or persistent across sessions, using name/value pairs." +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 From dd8f3dd930c8f426bed44896aa8716ea43c0b2f2 Mon Sep 17 00:00:00 2001 From: dietrich ayala Date: Fri, 11 Oct 2024 13:22:02 +0700 Subject: [PATCH 15/26] s/storage.yml/localstorage.yml/ --- features/{storage.yml => localstorage.yml} | 0 features/{storage.yml.dist => localstorage.yml.dist} | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename features/{storage.yml => localstorage.yml} (100%) rename features/{storage.yml.dist => localstorage.yml.dist} (100%) diff --git a/features/storage.yml b/features/localstorage.yml similarity index 100% rename from features/storage.yml rename to features/localstorage.yml diff --git a/features/storage.yml.dist b/features/localstorage.yml.dist similarity index 100% rename from features/storage.yml.dist rename to features/localstorage.yml.dist From 166966d642ea09548003453eba73d6335cac16ba Mon Sep 17 00:00:00 2001 From: Dietrich Ayala <50103+autonome@users.noreply.github.com> Date: Fri, 11 Oct 2024 13:23:05 +0700 Subject: [PATCH 16/26] Update features/shared-storage.yml Co-authored-by: Daniel D. Beck --- features/shared-storage.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/features/shared-storage.yml b/features/shared-storage.yml index 9f84c757df0..98722955019 100644 --- a/features/shared-storage.yml +++ b/features/shared-storage.yml @@ -1,5 +1,5 @@ name: Shared storage -description: "Shared Storage is a client-side storage mechanism for unpartitioned, cross-site data access that preserves privacy by not relying on tracking cookies." +description: The `sharedStorage` API stores data across sites. Unlike `localStorage`, third-parties can write to shared storage, which you can read from the origin browsing context. spec: https://wicg.github.io/shared-storage/ group: storage compat_features: From 94684aef74f4ac6d56f78452e61e5955c8c725e9 Mon Sep 17 00:00:00 2001 From: Dietrich Ayala <50103+autonome@users.noreply.github.com> Date: Fri, 11 Oct 2024 13:24:15 +0700 Subject: [PATCH 17/26] Update features/shared-storage-non-cookie.yml Co-authored-by: Daniel D. Beck --- features/shared-storage-non-cookie.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/features/shared-storage-non-cookie.yml b/features/shared-storage-non-cookie.yml index ca40bab401b..a4b127aaa5e 100644 --- a/features/shared-storage-non-cookie.yml +++ b/features/shared-storage-non-cookie.yml @@ -1,4 +1,4 @@ -name: Extending Storage Access API (SAA) to non-cookie storage +name: Non-cookie storage access description: "This extension of the Storage Access API enables content in cross-site iframes to request access to first-party data beyond cookies." spec: https://privacycg.github.io/saa-non-cookie-storage/ group: storage From ccb686d7bb906c10ea4df3cf9ff788c087ce188c Mon Sep 17 00:00:00 2001 From: dietrich ayala Date: Fri, 11 Oct 2024 13:27:11 +0700 Subject: [PATCH 18/26] s/shared-storage-non-cookie.yml/non-cookie-storage-access.yml/ --- ...hared-storage-non-cookie.yml => non-cookie-storage-access.yml} | 0 ...age-non-cookie.yml.dist => non-cookie-storage-access.yml.dist} | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename features/{shared-storage-non-cookie.yml => non-cookie-storage-access.yml} (100%) rename features/{shared-storage-non-cookie.yml.dist => non-cookie-storage-access.yml.dist} (100%) diff --git a/features/shared-storage-non-cookie.yml b/features/non-cookie-storage-access.yml similarity index 100% rename from features/shared-storage-non-cookie.yml rename to features/non-cookie-storage-access.yml diff --git a/features/shared-storage-non-cookie.yml.dist b/features/non-cookie-storage-access.yml.dist similarity index 100% rename from features/shared-storage-non-cookie.yml.dist rename to features/non-cookie-storage-access.yml.dist From 66e0c1acc618cc8b0be28e0d5619288549880e73 Mon Sep 17 00:00:00 2001 From: dietrich ayala Date: Fri, 11 Oct 2024 13:33:28 +0700 Subject: [PATCH 19/26] add group desc --- groups/storage.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/groups/storage.yml b/groups/storage.yml index c6ba8c61598..ee370fc8b42 100644 --- a/groups/storage.yml +++ b/groups/storage.yml @@ -1 +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 From f2e266f76daeafdaae34f836f4a9fc13c7311f86 Mon Sep 17 00:00:00 2001 From: dietrich ayala Date: Fri, 11 Oct 2024 13:36:55 +0700 Subject: [PATCH 20/26] redist --- features/localstorage.yml.dist | 2 +- features/non-cookie-storage-access.yml.dist | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/features/localstorage.yml.dist b/features/localstorage.yml.dist index 4318f9e45fa..0190e9e34c1 100644 --- a/features/localstorage.yml.dist +++ b/features/localstorage.yml.dist @@ -1,4 +1,4 @@ -# Generated from: storage.yml +# Generated from: localstorage.yml # Do not edit this file by hand. Edit the source file instead! status: diff --git a/features/non-cookie-storage-access.yml.dist b/features/non-cookie-storage-access.yml.dist index ebaee6d9071..242639f7212 100644 --- a/features/non-cookie-storage-access.yml.dist +++ b/features/non-cookie-storage-access.yml.dist @@ -1,4 +1,4 @@ -# Generated from: shared-storage-non-cookie.yml +# Generated from: non-cookie-storage-access.yml # Do not edit this file by hand. Edit the source file instead! status: From 1bf9e7649148d9ece08ac192adfadfbde0f99098 Mon Sep 17 00:00:00 2001 From: dietrich ayala Date: Fri, 11 Oct 2024 13:39:43 +0700 Subject: [PATCH 21/26] move api.Document.hasUnpartitionedCookieAccess --- features/non-cookie-storage-access.yml | 1 - features/non-cookie-storage-access.yml.dist | 1 - features/storage-access.yml | 1 + features/storage-access.yml.dist | 6 ++++++ 4 files changed, 7 insertions(+), 2 deletions(-) diff --git a/features/non-cookie-storage-access.yml b/features/non-cookie-storage-access.yml index a4b127aaa5e..a81369f6d4c 100644 --- a/features/non-cookie-storage-access.yml +++ b/features/non-cookie-storage-access.yml @@ -3,7 +3,6 @@ description: "This extension of the Storage Access API enables content in cross- spec: https://privacycg.github.io/saa-non-cookie-storage/ group: storage compat_features: - - api.Document.hasUnpartitionedCookieAccess - api.Document.requestStorageAccess.types_parameter - api.Document.requestStorageAccess.types_parameter.types_BroadcastChannel_parameter - api.Document.requestStorageAccess.types_parameter.types_SharedWorker_parameter diff --git a/features/non-cookie-storage-access.yml.dist b/features/non-cookie-storage-access.yml.dist index 242639f7212..b4f1d73ff8a 100644 --- a/features/non-cookie-storage-access.yml.dist +++ b/features/non-cookie-storage-access.yml.dist @@ -10,7 +10,6 @@ compat_features: # support: # chrome: "125" # chrome_android: "125" - - api.Document.hasUnpartitionedCookieAccess - api.Document.requestStorageAccess.types_parameter - api.Document.requestStorageAccess.types_parameter.types_BroadcastChannel_parameter - api.Document.requestStorageAccess.types_parameter.types_all_parameter diff --git a/features/storage-access.yml b/features/storage-access.yml index 469e0119f63..a2b964f8bd3 100644 --- a/features/storage-access.yml +++ b/features/storage-access.yml @@ -6,6 +6,7 @@ status: compute_from: api.Document.requestStorageAccess compat_features: - api.Document.hasStorageAccess + - api.Document.hasUnpartitionedCookieAccess - 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 b48989e1625..189090a45ea 100644 --- a/features/storage-access.yml.dist +++ b/features/storage-access.yml.dist @@ -34,6 +34,12 @@ compat_features: # edge: "119" - api.Document.requestStorageAccessFor + # baseline: false + # support: + # chrome: "125" + # chrome_android: "125" + - api.Document.hasUnpartitionedCookieAccess + # baseline: false # support: # chrome_android: "120" From 84694a61e953840fd3279ff4328f6b7fa419d10d Mon Sep 17 00:00:00 2001 From: Dietrich Ayala <50103+autonome@users.noreply.github.com> Date: Mon, 14 Oct 2024 23:24:34 -0400 Subject: [PATCH 22/26] Update features/shared-storage.yml Co-authored-by: Patrick Brosset --- features/shared-storage.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/features/shared-storage.yml b/features/shared-storage.yml index 98722955019..7b23e8ced84 100644 --- a/features/shared-storage.yml +++ b/features/shared-storage.yml @@ -1,5 +1,5 @@ name: Shared storage -description: The `sharedStorage` API stores data across sites. Unlike `localStorage`, third-parties can write to shared storage, which you can read from the origin browsing context. +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: From b474b401903e1d17733fec9125b83fe1ff2a811f Mon Sep 17 00:00:00 2001 From: dietrich ayala Date: Wed, 16 Oct 2024 12:47:14 +0700 Subject: [PATCH 23/26] split out storage manager --- features/localstorage.yml | 6 ----- features/localstorage.yml.dist | 29 -------------------- features/storage-manager.yml | 13 +++++++++ features/storage-manager.yml.dist | 44 +++++++++++++++++++++++++++++++ 4 files changed, 57 insertions(+), 35 deletions(-) create mode 100644 features/storage-manager.yml create mode 100644 features/storage-manager.yml.dist diff --git a/features/localstorage.yml b/features/localstorage.yml index 68159481b94..7623000d320 100644 --- a/features/localstorage.yml +++ b/features/localstorage.yml @@ -7,7 +7,6 @@ caniuse: namevalue-storage status: compute_from: api.Storage compat_features: - - api.Navigator.storage - api.Storage - api.Storage.clear - api.Storage.getItem @@ -21,11 +20,6 @@ compat_features: - api.StorageEvent.oldValue - api.StorageEvent.storageArea - api.StorageEvent.url - - api.StorageManager - - api.StorageManager.estimate - - api.StorageManager.persist - - api.StorageManager.persisted - api.Window.localStorage - api.Window.sessionStorage - api.Window.storage_event - - api.WorkerNavigator.storage diff --git a/features/localstorage.yml.dist b/features/localstorage.yml.dist index 0190e9e34c1..c386d2c8795 100644 --- a/features/localstorage.yml.dist +++ b/features/localstorage.yml.dist @@ -114,32 +114,3 @@ compat_features: # safari: "4" # safari_ios: "4" - api.Window.storage_event - - # baseline: high - # baseline_low_date: 2021-12-13 - # baseline_high_date: 2024-06-13 - # support: - # chrome: "55" - # chrome_android: "55" - # edge: "79" - # firefox: "57" - # firefox_android: "57" - # safari: "15.2" - # safari_ios: "15.2" - - api.Navigator.storage - - api.StorageManager - - api.StorageManager.persist - - api.StorageManager.persisted - - api.WorkerNavigator.storage - - # baseline: low - # baseline_low_date: 2023-09-18 - # support: - # chrome: "61" - # chrome_android: "61" - # edge: "79" - # firefox: "57" - # firefox_android: "57" - # safari: "17" - # safari_ios: "17" - - api.StorageManager.estimate diff --git a/features/storage-manager.yml b/features/storage-manager.yml new file mode 100644 index 00000000000..e8655b9c8ab --- /dev/null +++ b/features/storage-manager.yml @@ -0,0 +1,13 @@ +name: Storage manager +description: "The `navigator.storage` API provides information about the availability and persistence of data stored by the browser." +spec: https://storage.spec.whatwg.org/ +group: storage +status: + compute_from: api.StorageManager.estimate +compat_features: + - api.Navigator.storage + - api.WorkerNavigator.storage + - api.StorageManager + - api.StorageManager.estimate + - api.StorageManager.persist + - api.StorageManager.persisted diff --git a/features/storage-manager.yml.dist b/features/storage-manager.yml.dist new file mode 100644 index 00000000000..9bf985ffa40 --- /dev/null +++ b/features/storage-manager.yml.dist @@ -0,0 +1,44 @@ +# Generated from: storage-manager.yml +# Do not edit this file by hand. Edit the source file instead! + +status: + baseline: low + baseline_low_date: 2023-09-18 + support: + chrome: "61" + chrome_android: "61" + edge: "79" + firefox: "57" + firefox_android: "57" + safari: "17" + safari_ios: "17" +compat_features: + # baseline: high + # baseline_low_date: 2021-12-13 + # baseline_high_date: 2024-06-13 + # support: + # chrome: "55" + # chrome_android: "55" + # edge: "79" + # firefox: "57" + # firefox_android: "57" + # safari: "15.2" + # safari_ios: "15.2" + - api.Navigator.storage + - api.StorageManager + - api.StorageManager.persist + - api.StorageManager.persisted + - api.WorkerNavigator.storage + + # ⬇️ Same status as overall feature ⬇️ + # baseline: low + # baseline_low_date: 2023-09-18 + # support: + # chrome: "61" + # chrome_android: "61" + # edge: "79" + # firefox: "57" + # firefox_android: "57" + # safari: "17" + # safari_ios: "17" + - api.StorageManager.estimate From 0a3f8508e01a4908acdc8f99ccfd4ab646115cf2 Mon Sep 17 00:00:00 2001 From: dietrich ayala Date: Wed, 16 Oct 2024 14:35:31 +0700 Subject: [PATCH 24/26] uncompute from --- features/storage-manager.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/features/storage-manager.yml b/features/storage-manager.yml index e8655b9c8ab..72d7ef5a487 100644 --- a/features/storage-manager.yml +++ b/features/storage-manager.yml @@ -2,8 +2,6 @@ name: Storage manager description: "The `navigator.storage` API provides information about the availability and persistence of data stored by the browser." spec: https://storage.spec.whatwg.org/ group: storage -status: - compute_from: api.StorageManager.estimate compat_features: - api.Navigator.storage - api.WorkerNavigator.storage From 440c4b321a1ec9d85a184e7ad084e16967dabe41 Mon Sep 17 00:00:00 2001 From: Dietrich Ayala <50103+autonome@users.noreply.github.com> Date: Wed, 16 Oct 2024 22:23:37 +0700 Subject: [PATCH 25/26] Update features/storage-manager.yml Co-authored-by: Patrick Brosset --- features/storage-manager.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/features/storage-manager.yml b/features/storage-manager.yml index 72d7ef5a487..21b13b9b6f1 100644 --- a/features/storage-manager.yml +++ b/features/storage-manager.yml @@ -1,5 +1,5 @@ name: Storage manager -description: "The `navigator.storage` API provides information about the availability and persistence of data stored by the browser." +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: From 863602993b533cb5e3659c4a010ecf5b095043c2 Mon Sep 17 00:00:00 2001 From: dietrich ayala Date: Thu, 17 Oct 2024 11:49:23 +0700 Subject: [PATCH 26/26] Fix saa-non-cookie key placement and update desc --- features/non-cookie-storage-access.yml | 3 ++- features/non-cookie-storage-access.yml.dist | 1 + features/storage-access.yml | 1 - features/storage-access.yml.dist | 6 ------ 4 files changed, 3 insertions(+), 8 deletions(-) diff --git a/features/non-cookie-storage-access.yml b/features/non-cookie-storage-access.yml index a81369f6d4c..c97e94c182c 100644 --- a/features/non-cookie-storage-access.yml +++ b/features/non-cookie-storage-access.yml @@ -1,8 +1,9 @@ name: Non-cookie storage access -description: "This extension of the Storage Access API enables content in cross-site iframes to request access to first-party data beyond cookies." +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 - api.Document.requestStorageAccess.types_parameter.types_BroadcastChannel_parameter - api.Document.requestStorageAccess.types_parameter.types_SharedWorker_parameter diff --git a/features/non-cookie-storage-access.yml.dist b/features/non-cookie-storage-access.yml.dist index b4f1d73ff8a..242639f7212 100644 --- a/features/non-cookie-storage-access.yml.dist +++ b/features/non-cookie-storage-access.yml.dist @@ -10,6 +10,7 @@ compat_features: # support: # chrome: "125" # chrome_android: "125" + - api.Document.hasUnpartitionedCookieAccess - api.Document.requestStorageAccess.types_parameter - api.Document.requestStorageAccess.types_parameter.types_BroadcastChannel_parameter - api.Document.requestStorageAccess.types_parameter.types_all_parameter diff --git a/features/storage-access.yml b/features/storage-access.yml index a2b964f8bd3..469e0119f63 100644 --- a/features/storage-access.yml +++ b/features/storage-access.yml @@ -6,7 +6,6 @@ status: compute_from: api.Document.requestStorageAccess compat_features: - api.Document.hasStorageAccess - - api.Document.hasUnpartitionedCookieAccess - 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 189090a45ea..b48989e1625 100644 --- a/features/storage-access.yml.dist +++ b/features/storage-access.yml.dist @@ -34,12 +34,6 @@ compat_features: # edge: "119" - api.Document.requestStorageAccessFor - # baseline: false - # support: - # chrome: "125" - # chrome_android: "125" - - api.Document.hasUnpartitionedCookieAccess - # baseline: false # support: # chrome_android: "120"