{ /*** [SECTION 2300]: WEB WORKERS A worker is a JS "background task" running in a global context, i.e. it is different from the current window. Workers can spawn new workers (must be the same origin & scheme), including service and shared workers. Shared workers can be utilized by multiple scripts and communicate between browsing contexts (windows/tabs/iframes) and can even control your cache. [1] Web Workers: https://developer.mozilla.org/docs/Web/API/Web_Workers_API [2] Worker: https://developer.mozilla.org/docs/Web/API/Worker [3] Service Worker: https://developer.mozilla.org/docs/Web/API/Service_Worker_API [4] SharedWorker: https://developer.mozilla.org/docs/Web/API/SharedWorker [5] ChromeWorker: https://developer.mozilla.org/docs/Web/API/ChromeWorker [6] Notifications: https://support.mozilla.org/questions/1165867#answer-981820 ***/ /* 2302: disable service workers [FF32, FF44-compat] * Service workers essentially act as proxy servers that sit between web apps, and the * browser and network, are event driven, and can control the web page/site it is associated * with, intercepting and modifying navigation and resource requests, and caching resources. * [NOTE] Service worker APIs are hidden (in Firefox) and cannot be used when in PB mode. * [NOTE] Service workers only run over HTTPS. Service workers have no DOM access. * [SETUP-WEB] Disabling service workers will break some sites. This pref is required true for * service worker notifications (2304), push notifications (disabled, 2305) and service worker * cache (2740). If you enable this pref, then check those settings as well ***/ "dom.serviceWorkers.enabled" = false; /* 2304: disable Web Notifications * [NOTE] Web Notifications can also use service workers (2302) and are behind a prompt (2306) * [1] https://developer.mozilla.org/docs/Web/API/Notifications_API ***/ # // user_pref("dom.webnotifications.enabled", false); // [FF22+] # // user_pref("dom.webnotifications.serviceworker.enabled", false); // [FF44+] /* 2305: disable Push Notifications [FF44+] * Push is an API that allows websites to send you (subscribed) messages even when the site * isn't loaded, by pushing messages to your userAgentID through Mozilla's Push Server. * [NOTE] Push requires service workers (2302) to subscribe to and display, and is behind * a prompt (2306). Disabling service workers alone doesn't stop Firefox polling the * Mozilla Push Server. To remove all subscriptions, reset your userAgentID (in about:config * or on start), and you will get a new one within a few seconds. * [1] https://support.mozilla.org/kb/push-notifications-firefox * [2] https://developer.mozilla.org/docs/Web/API/Push_API ***/ "dom.push.enabled" = false; # // user_pref("dom.push.userAgentID", ""); /* 2306: set a default permission for Notifications (both 2304 and 2305) [FF58+] * 0=always ask (default), 1=allow, 2=block * [NOTE] Best left at default "always ask", fingerprintable via Permissions API * [SETTING] to add site exceptions: Ctrl+I>Permissions>Receive Notifications * [SETTING] to manage site exceptions: Options>Privacy & Security>Permissions>Notifications>Settings ***/ # // user_pref("permissions.default.desktop-notification", 2); }