De-XBL Plans

721 views
Skip to first unread message

Dave Townsend

unread,
Oct 20, 2017, 1:47:25 PM10/20/17
to dev-platform, Firefox Dev
For some time now we've been talking about moving away from XUL and XBL. The browser architecture team has been hard at work figuring out how to go about doing that and we're ready to share the first of our proposals more widely. We have developed a plan to remove XBL from Firefox. It's been through a successful design review with some of the key engineers and now is the time for more comments if you have them. We're planning to start some of the work this quarter with it really ramping up next quarter.

Take a look at the plan and let us know what you think. There are a couple of areas where we are still investigating concerns:

Performance is of key interest, so we're actively doing experiments to validate that Custom Elements can be as performant as XBL.
The plan relies on being able to use Custom Elements in XUL, so we're working on getting a patch for that landed.
We have a list of <tree> elements in the product and we're evaluating what the future is for them.

Are there any other concerns that we're missing?

Cameron McCormack

unread,
Oct 20, 2017, 10:56:00 PM10/20/17
to Dave Townsend, dev-platform, Firefox Dev
On Sat, Oct 21, 2017, at 01:47 AM, Dave Townsend wrote:
Are there any other concerns that we're missing?

One thing I'm wondering about is memory usage of the Web Components implementations of these components compared to the XBL ones. Specifically for style, XBL has the ability to list the style sheets that apply to the shadow tree declaratively, and we use that to have only a single copy of the cascade data in memory (and we do the work of creating the cascade data only once).  If we put <style> elements in the shadow tree, then we will lose the ability to share the cascade data.  (Unless we do something tricky like check the actual style sheet text when looking up our cascade data cache.)  Happily I think if we stick to using <link rel=stylesheet>s in the shadow trees, we can make our existing cascade data cache work here.

I filed https://bugzilla.mozilla.org/show_bug.cgi?id=1410578 for getting <link rel=stylesheet> working in shadow trees and https://bugzilla.mozilla.org/show_bug.cgi?id=1410579 for the cascade data cache extension.

Dave Townsend

unread,
Oct 31, 2017, 6:06:47 PM10/31/17
to dev-platform, Firefox Dev
Having not heard any show-stopping concerns with the plan we will start to proceed with it. In Q4 we intend to:

    - Migrate a few bindings and update the plan based on what we learn
    - Land XUL support for Custom Elements
    - Create tooling to make converting bindings easier
    - Begin a bug breakdown for individual bindings

    You can follow this work at the meta bug 1397874. Bgrins has made a public blog post about our plans[1], please reach out to him if you’re interested in contributing.

Bobby Holley

unread,
Oct 31, 2017, 7:40:04 PM10/31/17
to Dave Townsend, dev-platform, Firefox Dev
As one of the lonely few peers for our XBL implementation, I am thrilled that this is finally happening. My deepest gratitude to everyone involved!

bholley


On Tue, Oct 31, 2017 at 3:06 PM, Dave Townsend <dtow...@mozilla.com> wrote:
Having not heard any show-stopping concerns with the plan we will start to
proceed with it. In Q4 we intend to:

    - Migrate a few bindings and update the plan based on what we learn
    - Land XUL support for Custom Elements
    - Create tooling to make converting bindings easier
    - Begin a bug breakdown for individual bindings

    You can follow this work at the meta bug 1397874. Bgrins has made a
public blog post about our plans[1], please reach out to him if you’re
interested in contributing.

[1] https://briangrinstead.com/blog/xbl-in-firefox/

On Fri, Oct 20, 2017 at 10:47 AM Dave Townsend <dtow...@mozilla.com>
wrote:

> For some time now we've been talking about moving away from XUL and XBL.
> The browser architecture team has been hard at work figuring out how to
> go about doing that and we're ready to share the first of our proposals
> more widely. We have developed a plan to remove XBL from Firefox. It's been
> through a successful design review with some of the key engineers and now
> is the time for more comments if you have them. We're planning to start some
> of the work this quarter with it really ramping up next quarter.
>
> Take a look at the plan

> and let us know what you think. There are a couple of areas where we are
> still investigating concerns:
>
> Performance is of key interest, so we're actively doing experiments to
> validate that Custom Elements can be as performant as XBL

> The plan relies on being able to use Custom Elements in XUL, so we're
> working on getting a patch

> We have a list of <tree> elements in the product and we're evaluating what
> the future is for them.
>
> Are there any other concerns that we're missing?
>
_______________________________________________
dev-platform mailing list
dev-pl...@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

Reply all
Reply to author
Forward
0 new messages