How hard is it to make an extension for firefox? - eviltoast

edit: just installed WaterFox and apparently they use bing, very interesting choice. I am not sure if I am for that, but heck I can change the default engine. So, I don’t care

also, I like Waterfox already uninstalled Chrome. I can’t believe I didn’t know this until now. Why can’t Firefox do this btw?


I know firefox is the only non-chrome browser out there, but how hard is it to make an extension for firefox along with chrome?

I cry myself to sleep knowing that the extensions I want are available on Chrome and not on Firefox. And it’s not going to get any better as Firefox is not gaining any users. Also, why the hell is this the case? I would pay to use Firefox! It’s FOSS and it has so many features, Idk, deserves to be no 1, but it’s f*cking dying!

There are some extensions I can’t live without and only for those extensions I am forced to keep Chrome on my computer. I don’t like Chrome and I don’t want Chrome but I want them extensions :(

Also, how safe is Chromium? Is it de googled? I think I might go for de-googled chromium + Firefox from now on. I will uninstall Chrome. I have disabled updates for it anyways!

  • wvstolzing@lemmy.ml
    link
    fedilink
    arrow-up
    6
    ·
    edit-2
    1 year ago

    Not sure what the question is – are you looking to port extensions over yourself, or are you just exclaiming, “it can’t be so hard, so why won’t someone do it!”.

    There’s plenty of documentation over at MDN as to writing extensions, writing cross-browser extensions, porting mv2 firefox extensions over to mv3, the differences between Firefox’s mv3 implementation, and that found in Chrome, etc. etc. etc. The following are good starting points: https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions & https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/Build_a_cross_browser_extension

    For ground-level, basic stuff (managing a popup, communicating between popup & a ‘background’ script, between content loaded on the browser & your scripts, managing a context menu, etc.) writing an extension is straightforward once you develop some degree of understanding of the sometimes convoluted paths the data needs to take, the permissions you need to have in order to pass messages through, etc. Larger extensions are full fledged applications in their own right, though, so tackling them introduces difficulties of a different order of magnitude.

    The Falkon browser is extensible (in its own way) through QML; and the Nyxt browser is extensible in common lisp. These aren’t ‘webextensions’ in the precise sense of the term, though they could be just as useful. I wrote a basic bookmark manager that I use mainly on Firefox; but I ported its core functionality (just send the current page’s title, url, & selections from the <head> tag over to my database (postgresql via the postgrest http frontend, to which I just make a fetch request)) to QML, and it was pretty straightforward. Falkon is based on Qt’s QtWebEngine, which is Chromium-based; Nyxt is based on WebKit.

    edit: There’s also luakit and qutebrowser . The former is extensible via lua 5.1 scripts, the latter, python; there isn’t a wealth of documentation & examples, though (at least there wasn’t last time I checked) so the API can be a bit of a mystery. Luakit as webkit as its engine, qutebrowser is built on QtWebEngine just like Falkon.