Planning the Future of Complete Themes

Part of the decision has already been made. We are moving Firefox addons (themes and extensions) away from a model where you can perform arbitrary styling or scripting of the browser chrome. This is an engineering-driven decision, and it’s unavoidable and necessary for the long-term health of Firefox. Not only are we moving Firefox away from XUL, but we are likely going to make significant changes in the way the UI is structured. It is likely that some parts of the UI will be implemented using native widgets, and other parts will be implemented in HTML, but the exactly DOM structure may involve independent connected with well-defined API surfaces.

The current theming model where themes can make assumptions about the DOM structure, classes, IDs, and all that is not something we can support any more, and so we are clearly going to kill that. And we are going to do that quickly, so that we can proceed with the other necessary restructuring, including things like gofaster addons. I’d like to see this fully rolled out by Firefox 49 which ships the middle of next year.

What we haven’t already decided is the feature set of the replacement system, or what the API might lookslike. Kev, as the Firefox product lead for addons (including themes), is charged with coming up with a plan. There are a bunch of tradeoffs to make and I don’t envy his job!

I apologize that the communication didn’t work well. My goal was to file a bug to track work so that Kev could kick off a reasonable discussion and get feedback from the theming community. I’ll need to figure out a better way to provide context in the initial bug reports for each of these complex projects as we tackle them.