Does anybody know whether the Google Chrome / Chromium team and the Mozilla team are squarely behind this standardization effort? What about the Apple Safari team?
There's only one rep from Google in the community group. There don't seem to be any from Apple.
[1990s paranoia mode] this could be another Microsoft effort to embrace and suffocate [/1990s paranoia mode]
They've been looking to replace the current extension model for years, as it's not even really an API, it's mostly just a way for people to fuck around with Firefox's source code. Powerful, but unwieldy and extensions break all the time, if Mozilla changes anything.
Well, and one idea in that process was to not write a new extension API from scratch, but rather use the proven API from Chrome, which therefore will also make the transition much less painful, as a good portion of Chrome extensions will get ported over and we're not starting at square one with the extension ecosystem.
Also, they recently introduced multi-process which breaks all extensions anyways, so they're pushing hard to get WebExtensions done, as it means that add-on authors can just port directly to WebExtensions and don't have to port to multi-process-compatible first.
And if Chrome continues to eat up market share and extension developers lose interest in Firefox, this will also help out, as the effort of porting from Chrome to Firefox is now often trivial.
So, yeah, Firefox 57 will exclusively run WebExtensions, which is Nov 14.
Microsoft mostly just saw what Mozilla is doing, figured that they still needed an extension system to get Edge fit for competition and figured that complying to the standard for once would get their extension ecosystem quicker up to speed.
As for Google, well, I assume they are not particularly excited about Mozilla embracing and extending their extension API, as well as Microsoft having a slice from their cake, too, but it's not like Chrome was in any danger of competition...
I've been working on web extensions for multiple browsers lately.
Chrome and Firefox have workable ecosystems and accept more or less the same code, but package it differently.
Edge accepts almost the same code, but they had to change the "chrome" namespace to "browser". I suppose it was a question of pride. Also, Edge doesn't have a workable way to publish and to inline-install web extensions.
Safari accepts similar code to the rest, but organized differently. They have a slow and ponderous process for approving extensions for their store. They don't offer anything remotely resembling inline installation.
> but they had to change the "chrome" namespace to "browser"
It's weird, because Firefox internally has had the "chrome" namespace long before Google Chrome existed.
In browser terminology the browser "chrome" is the stuff that's outside the browser engine -- the stuff that doesn't handle loading/laying out/rendering/javascripting a page. I.e. the tab strip, URL bar, bookmarks, context menus, settings, etc.
IIRC (very unsure of this, but have heard it from different non-google sources) the name "Google Chrome" is actually a joke on this because it had the least chrome amongst browsers of the time (remember the toolbar and status bar?)
> IIRC (very unsure of this, but have heard it from different non-google sources) the name "Google Chrome" is actually a joke on this because it had the least chrome amongst browsers of the time (remember the toolbar and status bar?)
Safari has a different API that is also very limited compared to Chrome/FF.
I recently tried to port my Chrome extension to Safari (which I actually use as my main browser) and failed because of the lack of many necessary calls like a check for idle or if the app is in focus.
I wrote it for Firefox, and then I wondered what it would take to port it to Chrome. The answer was "nothing really" - it worked out of the box for the main functionality. I had to do a small wrapper over loading settings, but having done a million extensions in the past, I was pretty surprised to see it load straight into a different browser!
That's because Firefox's new WebExtensions API is based off Chrome's, not because of any formal standard.
This standard seems to be intended to formalize a lot of the stuff Chrome does so that other browsers can follow a common _standard_ instead of just being stuck imitating what Chrome does.
Safari is moving away from the 'pure JS, in-browser-process' extension mechanism entirely and I doubt the Chrome people are prepared to be saddled with a standards process for their own API they are still actively developing. As a practical matter, this standard/group seem rather pointless.
There's only one rep from Google in the community group. There don't seem to be any from Apple.
[1990s paranoia mode] this could be another Microsoft effort to embrace and suffocate [/1990s paranoia mode]