Stories
Slash Boxes
Comments

SoylentNews is people

posted by mrpg on Thursday November 16 2017, @09:42AM   Printer-friendly
from the my-extensions-dont-work dept.

From Firefox's faster, slicker, slimmer Quantum edition now out

[...] Collectively, the performance work being done to modernize Firefox is called Project Quantum. We took a closer look at Quantum back when Firefox 57 hit the developer channel in September, but the short version is, Mozilla is rebuilding core parts of the browser, such as how it handles CSS stylesheets, how it draws pages on-screen, and how it uses the GPU.

This work is being motivated by a few things. First, the Web has changed since many parts of Firefox were initially designed and developed; pages are more dynamic in structure and applications are richer and more graphically intensive. JavaScript is also more complex and difficult to debug. Second, computers now have many cores and simultaneous threads, giving them much greater scope to work in parallel. And security remains a pressing concern, prompting the use of new techniques to protect against exploitation. Some of the rebuilt portions are even using Mozilla's new Rust programming language, which is designed to offer improved security compared to C++.

Also at: Firefox aims to win back Chrome users with its souped up Quantum browser

The fastest version of Firefox yet is now live


Original Submission

 
This discussion has been archived. No new comments can be posted.
Display Options Threshold/Breakthrough Mark All as Read Mark All as Unread
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • (Score: 2) by TheRaven on Friday November 17 2017, @10:08AM (4 children)

    by TheRaven (270) on Friday November 17 2017, @10:08AM (#598126) Journal

    The browser has full access to every tab, not matter what you do

    I don't know how far Firefox has gone, but that's certainly not true for Chrome or Safari. The browser is split into multiple compartments, which are isolated by putting them in different processes. Network processing is isolated from the UI and each tab has a separate renderer process that receives the data for that tab, runs the scripts, and renders into a texture in shared memory. The 'browser' (parent) process transfers this texture to the screen and sends messages to the renderer process in response to user input (e.g. click here, scroll down, zoom out). The parent process has no visibility into the DOM for any page, nor access to JavaScript state. It validates URL requests, but that's about it. For security, the interface between the renderer process is as narrow as possible so that a compromise in the renderer has a narrow attack surface.

    If you want to support add-ons in this model, you have to make them run either in the renderer process (in which case they can do arbitrary things to the DOM, but can't be allowed access to any global state without compromising the security model), or in the parent process (in which case they can do arbitrary things to the UI, can block network connections, but can't access the DOM). The old Firefox extension model had no separation there and most extensions used interfaces that touched both the DOM and the exterior UI (it didn't help that XUL effectively made the rest of the UI a DOM, so these APIs were the same in many cases). There is no way to make that work with a compartmentalised model.

    --
    sudo mod me up
    Starting Score:    1  point
    Karma-Bonus Modifier   +1  

    Total Score:   2  
  • (Score: 1, Interesting) by Anonymous Coward on Friday November 17 2017, @10:48AM (3 children)

    by Anonymous Coward on Friday November 17 2017, @10:48AM (#598132)

    The browser (code that you downloaded from either mozilla.org or google.com) has access to everything.

    Sure it's compartmentalized, but there is still communication between compartments, otherwise the UI wouldn't work. That communication can be done for add-ons also.

    Compartmentalizing these things are not to defend the page against the browser, but to prevent bugs in the parts of the browser in contact with one page to take down every page open in the browser. A good idea, especially considering the stability of browsers at the time this was introduced, but not something that add-ons should need to care about.

    • (Score: 2) by TheRaven on Sunday November 19 2017, @09:00PM (2 children)

      by TheRaven (270) on Sunday November 19 2017, @09:00PM (#599034) Journal
      So you're saying that add-ons should be allowed to communicate between the unprivileged and privileged parts of the application, across security boundaries within the application, and shouldn't have to think about security? I have no words for how terrible an idea that is.
      --
      sudo mod me up
      • (Score: 2) by FakeBeldin on Tuesday November 21 2017, @08:50AM (1 child)

        by FakeBeldin (3360) on Tuesday November 21 2017, @08:50AM (#599586) Journal

        Naah, GP is saying that browsers should be secure no matter what the plugins are doing.
        I have no words for how wonderful an idea that is ;-)

        • (Score: 2) by TheRaven on Tuesday November 21 2017, @09:48AM

          by TheRaven (270) on Tuesday November 21 2017, @09:48AM (#599595) Journal
          That's precisely what Chrome and Firefox are doing (or, at least, trying to do), by forcing the plugins to respect the compartmentalisation policy and not communicate across security boundaries.
          --
          sudo mod me up