2 ms·
The old XUL (non-restartless/jetpack) extensions are currently about the only way I know to actually hack on the browser's core without having to patch omni.ja
by drdaeman 11y ago
The old XUL (non-restartless/jetpack) extensions are currently about the only way I know to actually hack on the browser's core without having to patch omni.ja and having to set disable_xul_cache, which is quite a terrible way to extend the browser.
If even those are removed or blocked, there won't ever be a way (ok, a way without explicit Mozilla's blessing) to implement custom password stores (think OS X Keychain, KDE KWallet or GNOME Keyring), or a custom sync engine, or tree-style tabs.
And with WebExtensions I can't find (maybe that's me, though!) an equivalent of preferences/service Add-on SDK API.
- yoklov 11y agoRegarding needing to implement a custom sync engine, what would you want that isn't provided by https://wiki.mozilla.org/WebExtensions/chrome.storage.sync https://wiki.mozilla.org/WebExtensions/chrome.storage.sync? Genuinely curious.
- drdaeman 11y agoI had always assumed chrome.storage.sync API is all about using sync rather than implementing it. I.e. extension acts as a client, rather than provider. I mean, that API already provides a localStorage-like objects that one can use to put and get data. Technically, one can listen for events and have a custom backend this way, from my understanding, this is extension-local, and not browser-wide interception. Now I wonder - maybe I got it all wrong? Does it actually allow to completely override built-in Firefox Sync (and either ditch Firefox Accounts requirement for Sync engine to start[1], or override those as well) and replace those parts with a custom implementation? Say, I don't want any Mozilla nonsense, and want Firefox to sync with a simple WebDAV storage (rather than their proprietary protocol), and do so authenticated with a sane(r) X.509 client cert rather than an ugly mess of BrowserID, HAWK and OAuth2. Is that possible? ____ [1] This part is probably easy through messing with browser's preferences (the ones in about:config), but I'm not sure there's a WebExtensions API for this. Have looked for it and haven't found anything.