SafariExtensions
SafariExtensions copied to clipboard
Resources for the development of Safari extensions
This crash is related to the following simultaneous conditions: The extension is configured for Manifest 3. The extension is configured with a content script for a particular host. The user...
In my Manifest v3 extension, rapidly unticking and re-ticking the checkbox to disable/re-enable the extension causes a permanent failure to load the service worker. I was able to stop this...
The alert "Safari detected an app or service that interfered with clicking" appears mistakenly when trying to enable a Safari app extension. This has been a bug for more than...
In my Manifest v3 extension this query sometimes takes an unreasonably long time to complete (60 secs +). I am not sure whether specific conditions are required to trigger the...
`browser.runtime.connect` port object's `onDisconnect` event should be fired when a connected tab is closed and in various other circumstances, but isn't. It may work when `port.disconnect()` is called explicitly (haven't...
This bug is related to https://github.com/lapcat/SafariExtensions/issues/1 but occurs on macOS even when "Preload Top Hit" is disabled. In my initial testing, I can't reproduce the bug on iOS with "Preload...
If a Safari web extension injected content script has `"run_at": "document_start"` specified in the extension's `manifest.json`, the script can fail to run at document start when Safari's "Preload Top Hit"...
In a Safari web extension on both macOS 12 and iOS 15 (I filed this bug under Mac because there was no cross-platform category), if you call storage.local.set and then...
I'm testing with my extension StopTheScript https://apps.apple.com/app/stopthescript/id1588394487?mt=8 but any extension should work. Steps to reproduce: 1. In the extension's settings, set All Websites to Ask 2. In Safari, open apple.com...
The user can allow a Safari extension to access specific websites. However, these permissions don't apply to cross-origin iframes on the page. This is a major problem, because the user...