commit d76a531491d563d6721ed479dbdbafa08d89c115
parent 2af830fc90c527654108509506fc3b03ad466dd3
Author: Andrea Marchesini <amarchesini@mozilla.com>
Date: Mon, 15 Dec 2025 22:08:05 +0000
Bug 2006168 - Unify CookieStore prefs, r=webidl,smaug
Differential Revision: https://phabricator.services.mozilla.com/D276541
Diffstat:
9 files changed, 5 insertions(+), 75 deletions(-)
diff --git a/dom/cookiestore/CookieStore.cpp b/dom/cookiestore/CookieStore.cpp
@@ -926,39 +926,6 @@ void CookieStore::CookieStructToItem(const CookieStruct& aData,
CookieListItem* aItem) {
aItem->mName.Construct(aData.name());
aItem->mValue.Construct(aData.value());
- aItem->mPath.Construct(aData.path());
-
- if (aData.host().IsEmpty() || aData.host()[0] != '.') {
- aItem->mDomain.Construct(VoidCString());
- } else {
- aItem->mDomain.Construct(nsDependentCSubstring(aData.host(), 1));
- }
-
- if (!aData.isSession()) {
- aItem->mExpires.Construct(aData.expiryInMSec());
- } else {
- aItem->mExpires.Construct(nullptr);
- }
-
- aItem->mSecure.Construct(aData.isSecure());
-
- CookieSameSite sameSite = CookieSameSite::None;
- switch (aData.sameSite()) {
- case nsICookie::SAMESITE_STRICT:
- sameSite = CookieSameSite::Strict;
- break;
-
- case nsICookie::SAMESITE_LAX:
- sameSite = CookieSameSite::Lax;
- break;
-
- default:
- // FIXME: lax by default?
- break;
- }
-
- aItem->mSameSite.Construct(sameSite);
- aItem->mPartitioned.Construct(aData.isPartitioned());
}
} // namespace mozilla::dom
diff --git a/dom/webidl/CookieStore.webidl b/dom/webidl/CookieStore.webidl
@@ -74,24 +74,6 @@ dictionary CookieListItem {
UTF8String name;
UTF8String value;
-
- [Pref="dom.cookieStore.extra.enabled"]
- UTF8String path;
-
- [Pref="dom.cookieStore.extra.enabled"]
- UTF8String? domain;
-
- [Pref="dom.cookieStore.extra.enabled"]
- DOMHighResTimeStamp? expires;
-
- [Pref="dom.cookieStore.extra.enabled"]
- boolean secure;
-
- [Pref="dom.cookieStore.extra.enabled"]
- CookieSameSite sameSite;
-
- [Pref="dom.cookieStore.extra.enabled"]
- boolean partitioned;
};
typedef sequence<CookieListItem> CookieList;
diff --git a/dom/webidl/CookieStoreManager.webidl b/dom/webidl/CookieStoreManager.webidl
@@ -14,7 +14,7 @@
[Exposed=(ServiceWorker,Window),
SecureContext,
- Pref="dom.cookieStore.manager.enabled"]
+ Pref="dom.cookieStore.enabled"]
interface CookieStoreManager {
[Throws]
Promise<undefined> subscribe(sequence<CookieStoreGetOptions> subscriptions);
diff --git a/dom/webidl/ExtendableCookieChangeEvent.webidl b/dom/webidl/ExtendableCookieChangeEvent.webidl
@@ -7,7 +7,7 @@
* https://wicg.github.io/cookie-store/#ExtendableCookieChangeEvent
*/
-[Exposed=ServiceWorker, Pref="dom.cookieStore.manager.enabled"]
+[Exposed=ServiceWorker, Pref="dom.cookieStore.enabled"]
interface ExtendableCookieChangeEvent : ExtendableEvent {
constructor(DOMString type, optional ExtendableCookieChangeEventInit eventInitDict = {});
// TODO: Use FrozenArray once available. (Bug 1236777)
diff --git a/dom/webidl/ServiceWorkerGlobalScope.webidl b/dom/webidl/ServiceWorkerGlobalScope.webidl
@@ -53,6 +53,6 @@ ServiceWorkerGlobalScope includes ExtensionGlobalsMixin;
partial interface ServiceWorkerGlobalScope {
[SameObject, Pref="dom.cookieStore.enabled"] readonly attribute CookieStore cookieStore;
- [Pref="dom.cookieStore.manager.enabled"]
+ [Pref="dom.cookieStore.enabled"]
attribute EventHandler oncookiechange;
};
diff --git a/dom/webidl/ServiceWorkerRegistration.webidl b/dom/webidl/ServiceWorkerRegistration.webidl
@@ -55,6 +55,6 @@ partial interface ServiceWorkerRegistration {
};
partial interface ServiceWorkerRegistration {
- [Throws, SameObject, Exposed=(ServiceWorker,Window), Pref="dom.cookieStore.manager.enabled"]
+ [Throws, SameObject, Exposed=(ServiceWorker,Window), Pref="dom.cookieStore.enabled"]
readonly attribute CookieStoreManager cookies;
};
diff --git a/modules/libpref/init/StaticPrefList.yaml b/modules/libpref/init/StaticPrefList.yaml
@@ -2645,18 +2645,6 @@
value: true
mirror: always
-# Enable cookie-store manager API
-- name: dom.cookieStore.manager.enabled
- type: RelaxedAtomicBool
- value: true
- mirror: always
-
-# Enable extra cookie-store properties
-- name: dom.cookieStore.extra.enabled
- type: RelaxedAtomicBool
- value: false
- mirror: always
-
# Is support for CSSPseudoElement enabled?
- name: dom.css_pseudo_element.enabled
type: bool
diff --git a/testing/web-platform/mozilla/meta/cookie-store/__dir__.ini b/testing/web-platform/mozilla/meta/cookie-store/__dir__.ini
@@ -1 +0,0 @@
-prefs: [dom.cookieStore.enabled:true]
diff --git a/toolkit/components/nimbus/FeatureManifest.yaml b/toolkit/components/nimbus/FeatureManifest.yaml
@@ -3482,13 +3482,7 @@ cookieStore:
branch: default
pref: dom.cookieStore.enabled
description: >-
- Enablement of the cookie store API to CRUD and monitor cookies from window JS.
- managerEnabled:
- description: Enablement of ServiceWorker access to cookie-change events.
- type: boolean
- setPref:
- branch: default
- pref: dom.cookieStore.manager.enabled
+ Enablement of the cookie store API to CRUD and monitor cookies from window JS and ServiceWorkers.
pingsender:
description: "In-product usage of the pingsender telemetry reporter."