23 votes

Add-on support was just merged into Firefox Preview

@aissn:
Add-on support was just merged into Firefox Preview. Thanks @gabrielluong https://t.co/cXOCB00tKk

16 comments

  1. joelthelion
    Link
    Using it right now from preview nightly. Couldn't be happier! It was the only main feature missing from preview as far as I'm concerned. And it's far from being the only innovation in nightly.

    Using it right now from preview nightly. Couldn't be happier! It was the only main feature missing from preview as far as I'm concerned. And it's far from being the only innovation in nightly.

    5 votes
  2. [14]
    Death
    Link
    I'm completely out of the loop on this. Is this a big deal? What exactly is Firefox preview even?

    I'm completely out of the loop on this. Is this a big deal? What exactly is Firefox preview even?

    3 votes
    1. dblohm7
      Link Parent
      This is in my wheelhouse. The software currently known as "Firefox for Android" is an app that we at Mozilla internally refer to as Fennec. Fennec has some architectural problems that was hurting...
      • Exemplary

      This is in my wheelhouse.

      The software currently known as "Firefox for Android" is an app that we at Mozilla internally refer to as Fennec.

      Fennec has some architectural problems that was hurting performance and maintainability. In particular, there was no well-defined interface between the Gecko rendering engine and the Java code that makes up the front-end UI for the Android App.

      Enter GeckoView.

      GeckoView is an embedding framework for Android that encapsulates the Gecko rendering engine into an Android View that is easily embeddable into any Android app. This is what I work on at Mozilla. Check out our developer documentation!

      The mobile group at Mozilla also determined that we needed a reusable UI toolkit for building browsers called "Android Components."

      Now, we're in the process building a new browser which is built atop GeckoView and Android Components. This new app, code-named Fenix, is already available in the Play Store as Firefox Preview for Android. The plan is eventually to replace Fennec with Fenix.

      12 votes
    2. [10]
      hail_hydrogen
      Link Parent
      Firefox for android is being rewritten from scratch but is still a work in progress so is named firefox preview. Addon support is being added and to test things ublock origin is enabled if you try...

      Firefox for android is being rewritten from scratch but is still a work in progress so is named firefox preview. Addon support is being added and to test things ublock origin is enabled if you try the nightly version.

      13 votes
      1. [9]
        Death
        Link Parent
        Oh I heard about this, it's the Rust rewrite of Firefox right? I guess adding addon support is a pretty big milestone in that case.

        Oh I heard about this, it's the Rust rewrite of Firefox right? I guess adding addon support is a pretty big milestone in that case.

        2 votes
        1. [3]
          hail_hydrogen
          Link Parent
          I think the rust thing is only planed for desktop. Github says is 95% kotlin but I could be wrong. Still its a new browser and not based on the old one, so its still a big milestone :)

          I think the rust thing is only planed for desktop. Github says is 95% kotlin but I could be wrong. Still its a new browser and not based on the old one, so its still a big milestone :)

          8 votes
          1. dblohm7
            Link Parent
            The Github repo is only used for the Fenix and Android Components projects, so that's only GUI stuff. GeckoView is part of our self-hosted mozilla-central repository, which is mostly C++ and Rust....

            The Github repo is only used for the Fenix and Android Components projects, so that's only GUI stuff. GeckoView is part of our self-hosted mozilla-central repository, which is mostly C++ and Rust.

            (And yes, Rust is used on all platforms for which we ship Gecko)

            3 votes
          2. Death
            Link Parent
            Ah ok, my bad. Thanks for telling me though :D

            Ah ok, my bad. Thanks for telling me though :D

        2. [2]
          feigneddork
          Link Parent
          The Rust rewrite is Servo and is still in development. Still, it looks promising!

          The Rust rewrite is Servo and is still in development. Still, it looks promising!

          4 votes
          1. dblohm7
            Link Parent
            We are selectively taking components from Servo and incorporating them into Gecko (in particular Stylo and WebRender), but we do not plan to replace Gecko in its entirety.

            We are selectively taking components from Servo and incorporating them into Gecko (in particular Stylo and WebRender), but we do not plan to replace Gecko in its entirety.

            5 votes
        3. [2]
          VoidOutput
          (edited )
          Link Parent
          It's the version of Firefox that uses GeckoView, Mozilla's replacement for Google's WebView. That means that we can now have different brosser engines on Android - up until now, it was an Apple...

          It's the version of Firefox that uses GeckoView, Mozilla's replacement for Google's WebView. That means that we can now have different brosser engines on Android - up until now, it was an Apple situation, where you could do a new UI but underneath it was still WebKit

          4 votes
          1. dblohm7
            Link Parent
            That's not quite correct. The existing Firefox for Android ("Fennec") does use Gecko under the hood, and always has. As I mentioned in one of my other comments, GeckoView encapsulates Gecko in a...

            That's not quite correct. The existing Firefox for Android ("Fennec") does use Gecko under the hood, and always has. As I mentioned in one of my other comments, GeckoView encapsulates Gecko in a way that makes it more performant, and also allows for embedding Gecko in any Android app, not just Mozilla browsers.

            4 votes
        4. dblohm7
          Link Parent
          We are selectively replacing parts of Gecko with Rust, but there is no plan to completely rewrite/replace Gecko.

          We are selectively replacing parts of Gecko with Rust, but there is no plan to completely rewrite/replace Gecko.

          4 votes
    3. [2]
      joelthelion
      Link Parent
      You should try it out. Firefox Preview has far, far better performance than the old Firefox for Android. So with support for Ublock Origin, there's really no reason not to use it.

      You should try it out. Firefox Preview has far, far better performance than the old Firefox for Android. So with support for Ublock Origin, there's really no reason not to use it.

      4 votes
      1. Death
        Link Parent
        I don't even think I have uBlock Origin on my Firefox android, so if they're otherwise the same app I'll get it later today.

        I don't even think I have uBlock Origin on my Firefox android, so if they're otherwise the same app I'll get it later today.

        1 vote
  3. selenium
    (edited )
    Link
    A possible reason not to use it, for now, is the lack of a way to force dark mode on all webpages, like almost all other browsers allow you to do. It will be possible in the future with full...

    A possible reason not to use it, for now, is the lack of a way to force dark mode on all webpages, like almost all other browsers allow you to do.

    It will be possible in the future with full WebExtension support, using Dark Reader for example, but it will be most likely worse than a native implementation, both from a quality standpoint (white flashes when initially loading webpages) and from a performance one, like it is the case with Fennec (the "old" Firefox for Android) and even with the desktop version.

    Samsung Internet and Opera have the perfect native implementation of it (and in particular, the Samsung Internet one is a work of art), while Chromium based browsers allow you to do it with a flag (chrome://flags/#enable-force-dark), but I am not a fan of their approach. Notably, you can't enable this flag in the new Edge for Android, even if it is Chromium based, since it does not give you access to chrome://flags.

    Here is the relevant GitHub issue requesting a proper way to implement it on Fenix/Firefox Preview.

    3 votes