Extensions Subsystem
Cross-browser extension runtime supporting Manifest V3, WebExtensions API, message passing, and background workers.
Capabilities
Manifest Parsing
Validates `manifest.json` definitions, extracting permissions, background scripts, and declarative net requests.
Content Scripts
Injects isolated JavaScript contexts into specific web pages while bypassing standard DOM environments.
Service Workers
Manages event-driven background scripts that sleep and wake across the extension lifecycle.
IPC Messaging
Exposes `chrome.runtime.sendMessage` and `chrome.tabs.sendMessage` over native IPC channels.
Browser Action UI
Renders toolbar popups, context menus, and option pages tightly integrated with zepraEngine.
API Emulation
Native bridge matching Chromium's WebExtensions, enabling plug-and-play support for popular ad blockers and tools.
Execution Contexts
┌────────────────────────────────────────────────────────┐
│ Isolated Context Boundaries │
│ │
│ ┌────────────────┐ ┌────────────────┐ │
│ │ Web Page DOM │ │ Content Script │ │
│ │ (window) │─────────▶│ (chrome.runtime)│ │
│ └────────────────┘ └──────┬─────────┘ │
│ Normal V8 Realm Isolated V8 Realm │
│ │ │
└─────────────────────────────────────────│──────────────┘
▼ IPC Messaging
┌─────────────────────────────────────────▼──────────────┐
│ ┌──────────────────────────────────────────────┐ │
│ │ Background Worker │ │
│ │ (chrome.tabs, chrome.storage, chrome.alarms) │ │
│ └─────────┬───────────────────────────┬────────┘ │
│ │ │ │
│ ┌─────────▼────────┐ ┌────────▼────────┐ │
│ │ Toolbar Popup │ │ Native APIs │ │
│ └──────────────────┘ └─────────────────┘ │
│ Extension Process │
└────────────────────────────────────────────────────────┘