-
Notifications
You must be signed in to change notification settings - Fork 32
Manifest V3
Ng Guoyou edited this page Jul 10, 2026
·
14 revisions
Save in 4.0.0 is a Manifest V3 extension on both Firefox and Chrome, from a single manifest.json.
-
Firefox 121+ — runs the background as an event page (
background.scripts). -
Chrome / Edge 121+ — runs the background as a service worker (
background.service_worker).
Older browsers are not supported. If downloads stop working after an update, check your browser version first.
- One MV3 manifest serves both browsers; each ignores the other's
backgroundkey. - The background is non-persistent on both — it sleeps when idle and wakes on events. In-flight downloads, the pending counter, and the recovery filename are persisted to session storage so a mid-download restart still fires notifications and keeps the routed name.
- Feature detection, not browser sniffing, picks each mechanism:
| Feature | Firefox (event page) | Chrome (service worker) |
|---|---|---|
| Referer header | blocking webRequest
|
declarativeNetRequest session rule |
| Blob downloads | URL.createObjectURL |
base64 data: URL fallback |
- Nothing to reconfigure — settings and menus carry over.
- The Referer feature uses different engine internals per browser but the same option and site whitelist.
- Very large downloads via the Fetch API fallback are held in memory on Chrome (no
createObjectURLin a service worker); prefer it only for sites that need it.
The MV3 rules (synchronous listener registration, no window/DOM in the worker, keeping the two background file lists in sync) are documented in AGENTS.md.