mirror of
https://github.com/bitwarden/browser
synced 2026-01-09 12:03:33 +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.
41 lines
2.0 KiB
Markdown
41 lines
2.0 KiB
Markdown
# 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**.
|