mirror of
https://github.com/bitwarden/browser
synced 2025-12-06 00:13:28 +00:00
* feat(notification-processing): [PM-19877] System Notification Implementation - Minor changes to popup logic and removed content in login component. * docs(notification-processing): [PM-19877] System Notification Implementation - Added more docs. * docs(notification-processing): [PM-19877] System Notification Implementation - Added markdown document. * fix(notification-processing): [PM-19877] System Notification Implementation - Updated condition for if notification is supported. * fix(notification-processing): [PM-19877] System Notification Implementation - Updated services module with correct platform utils service.
2.0 KiB
2.0 KiB
Platform Actions API
ActionsService.openPopup()
This document outlines the current behavior of ActionsService.openPopup() across different browsers, specifically in two contexts:
- Window Context: When the call is triggered from an active browser window (e.g., from a tab's script).
- Background Service Worker Context: When the call is made from a background context, such as a service worker.
The openPopup() method has limitations in some environments due to browser-specific restrictions or bugs. Below is a compatibility chart detailing the observed behavior.
Compatibility Table
| Browser | Window Context | Background Service Worker Context |
|---|---|---|
| Safari | ✅ Works | ❌ Fails |
| Firefox | ❌ Fails | ❌ Fails |
| Chrome | ✅ Works | ✅ Works |
| Edge | 🟡 Untested | 🟡 Untested |
| Vivaldi | ⚠️ Ambiguous (Bug?) | ⚠️ Ambiguous (Bug?) |
| Opera | ✅ Works | ❌ Fails silently |
Notes
- Safari: Only works when
openPopup()is triggered from a window context. Attempts from background service workers fail. - Firefox: Does not appear to support
openPopup()in either context. - Chrome: Fully functional in both contexts, but only on Mac. Windows it does not work in.
- Edge: Behavior has not been tested.
- Vivaldi:
openPopup()results in an error that might be related to running in a background context, but the cause is currently unclear. - Opera: Works from window context. Background calls fail silently with no error message.
Summary
When implementing ActionsService.openPopup(), prefer triggering it from a window context whenever possible to maximize cross-browser compatibility. Full background service worker support is only reliable in Chrome.