From cfb20e646b592a7c9711944fbf7d12852b45265a Mon Sep 17 00:00:00 2001 From: Diego Rey Mendez Date: Thu, 27 Nov 2025 18:09:20 +0100 Subject: [PATCH 1/7] Add webNotifications feature for macOS (internal) --- features/web-notifications.json | 7 +++++++ overrides/macos-override.json | 3 +++ 2 files changed, 10 insertions(+) create mode 100644 features/web-notifications.json diff --git a/features/web-notifications.json b/features/web-notifications.json new file mode 100644 index 000000000..eab314e0f --- /dev/null +++ b/features/web-notifications.json @@ -0,0 +1,7 @@ +{ + "_meta": { + "description": "Web Notifications API polyfill - allows websites to show notifications via native notification center" + }, + "exceptions": [] +} + diff --git a/overrides/macos-override.json b/overrides/macos-override.json index 444173bc9..4e57b97d7 100644 --- a/overrides/macos-override.json +++ b/overrides/macos-override.json @@ -1103,6 +1103,9 @@ "referrer": { "state": "disabled" }, + "webNotifications": { + "state": "internal" + }, "customUserAgent": { "state": "enabled", "settings": { From 67806c9f41092c18db8944079cdad4a8c0852b4a Mon Sep 17 00:00:00 2001 From: Diego Rey Mendez Date: Thu, 27 Nov 2025 18:12:09 +0100 Subject: [PATCH 2/7] Fix trailing newline in web-notifications.json --- features/web-notifications.json | 1 - 1 file changed, 1 deletion(-) diff --git a/features/web-notifications.json b/features/web-notifications.json index eab314e0f..302332753 100644 --- a/features/web-notifications.json +++ b/features/web-notifications.json @@ -4,4 +4,3 @@ }, "exceptions": [] } - From 60e382d5f6e020fd6fada8081dc8b2b0ef57b7b4 Mon Sep 17 00:00:00 2001 From: Diego Rey Mendez Date: Thu, 27 Nov 2025 18:30:31 +0100 Subject: [PATCH 3/7] Change webNotifications to enabled (CSS doesn't support internal state) --- overrides/macos-override.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/overrides/macos-override.json b/overrides/macos-override.json index 4e57b97d7..9f9b594d9 100644 --- a/overrides/macos-override.json +++ b/overrides/macos-override.json @@ -1104,7 +1104,7 @@ "state": "disabled" }, "webNotifications": { - "state": "internal" + "state": "enabled" }, "customUserAgent": { "state": "enabled", From 6522152a5daedae97143c7b3940120e85af56f35 Mon Sep 17 00:00:00 2001 From: Diego Rey Mendez Date: Fri, 28 Nov 2025 12:35:01 +0100 Subject: [PATCH 4/7] Disable webNotifications feature until UI is integrated --- overrides/macos-override.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/overrides/macos-override.json b/overrides/macos-override.json index 9f9b594d9..394d8bbf1 100644 --- a/overrides/macos-override.json +++ b/overrides/macos-override.json @@ -1104,7 +1104,7 @@ "state": "disabled" }, "webNotifications": { - "state": "enabled" + "state": "disabled" }, "customUserAgent": { "state": "enabled", From d57345b3de5b0802d74737fd90ad642cf2625359 Mon Sep 17 00:00:00 2001 From: Diego Rey Mendez Date: Fri, 28 Nov 2025 16:25:38 +0100 Subject: [PATCH 5/7] Move webNotifications to webCompat setting - Add webNotifications to webCompat schema - Enable webNotifications in webCompat.settings for macOS - Remove standalone webNotifications feature entry - Delete standalone web-notifications.json feature file --- features/web-notifications.json | 6 ------ overrides/macos-override.json | 4 +--- schema/features/webcompat.ts | 1 + 3 files changed, 2 insertions(+), 9 deletions(-) delete mode 100644 features/web-notifications.json diff --git a/features/web-notifications.json b/features/web-notifications.json deleted file mode 100644 index 302332753..000000000 --- a/features/web-notifications.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "_meta": { - "description": "Web Notifications API polyfill - allows websites to show notifications via native notification center" - }, - "exceptions": [] -} diff --git a/overrides/macos-override.json b/overrides/macos-override.json index 394d8bbf1..468cf8b65 100644 --- a/overrides/macos-override.json +++ b/overrides/macos-override.json @@ -521,6 +521,7 @@ "windowSizing": "enabled", "navigatorCredentials": "enabled", "safariObject": "enabled", + "webNotifications": "enabled", "messageHandlers": { "state": "disabled", "handlerStrategies": { @@ -1103,9 +1104,6 @@ "referrer": { "state": "disabled" }, - "webNotifications": { - "state": "disabled" - }, "customUserAgent": { "state": "enabled", "settings": { diff --git a/schema/features/webcompat.ts b/schema/features/webcompat.ts index d735bf6c3..67a84e5e6 100644 --- a/schema/features/webcompat.ts +++ b/schema/features/webcompat.ts @@ -54,6 +54,7 @@ type FullWebCompatOptions = CSSInjectFeatureSettings<{ }[]; }; enumerateDevices: StateToggle; + webNotifications: StateToggle; additionalCheck?: FeatureState; }>; export type WebCompatSettings = Partial; From 06b879b6c37696f2da42c586fe664da39c590dc5 Mon Sep 17 00:00:00 2001 From: Diego Rey Mendez Date: Fri, 28 Nov 2025 17:12:57 +0100 Subject: [PATCH 6/7] Add nativeEnabled setting to webNotifications - Add nativeEnabled option to webNotifications schema - Enable nativeEnabled in macos-override for testing - When false, polyfill installs but skips native calls and returns denied --- overrides/macos-override.json | 5 ++++- schema/features/webcompat.ts | 7 ++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/overrides/macos-override.json b/overrides/macos-override.json index 468cf8b65..3aea7dd60 100644 --- a/overrides/macos-override.json +++ b/overrides/macos-override.json @@ -521,7 +521,10 @@ "windowSizing": "enabled", "navigatorCredentials": "enabled", "safariObject": "enabled", - "webNotifications": "enabled", + "webNotifications": { + "state": "enabled", + "nativeEnabled": true + }, "messageHandlers": { "state": "disabled", "handlerStrategies": { diff --git a/schema/features/webcompat.ts b/schema/features/webcompat.ts index 67a84e5e6..21d90ff4d 100644 --- a/schema/features/webcompat.ts +++ b/schema/features/webcompat.ts @@ -54,7 +54,12 @@ type FullWebCompatOptions = CSSInjectFeatureSettings<{ }[]; }; enumerateDevices: StateToggle; - webNotifications: StateToggle; + webNotifications: + | StateToggle + | { + state: StateToggle; + nativeEnabled?: boolean; + }; additionalCheck?: FeatureState; }>; export type WebCompatSettings = Partial; From 050835b22c276973d5e5a37800c7332b1a3e02b3 Mon Sep 17 00:00:00 2001 From: Diego Rey Mendez Date: Tue, 9 Dec 2025 14:47:50 +0100 Subject: [PATCH 7/7] Enable webNotificationsFixExperiment to 100% for testing --- overrides/macos-override.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/overrides/macos-override.json b/overrides/macos-override.json index b1e958f05..f8b1f3bf7 100644 --- a/overrides/macos-override.json +++ b/overrides/macos-override.json @@ -239,7 +239,7 @@ "rollout": { "steps": [ { - "percent": 10 + "percent": 100 } ] },