We're literally in the discussion about File System API that is:
- not on any standards track
- considered harmful by other browser vendors
- shipped by default in Chrome
Edit: I can give several examples from Web Transport to HID to Constructible Stylesheets that were either shipped with no input from other vendors, or shipped against the multiple objections from other browser vendors. And that's just the ones I know about.
Web Transport is shipped by default. What was the input from other browsers?
Here's the timeline for HID: https://github.com/mozilla/standards-positions/issues/459#is...
Constructible Stylesheets: the spec contained a trivially reproducible race condition, the API was badly specified. Google shipped against any objections and refused to bring it back under the flag. Full discussion here: https://github.com/WICG/construct-stylesheets/issues/45. Shipped in Chrome https://github.com/WICG/construct-stylesheets/issues/45#issu... (may be hidden on mobile) despite multiple unresolved issues. Two years later Chrome did add a better API that people originally requested, other issues potentially remain.
You may believe in benevolent Google working hand in hand with others for the betterment of the web. The reality is radically different.
Edit: more about hardware APIs: https://news.ycombinator.com/item?id=34356651
Edit2: As to the number of APIs, Chrome actually tracks how much they ship: https://web-confluence.appspot.com/#!/confluence
Edit:
Note: those three are the ones I remember because I was reading about them at the time, or participating in some form in the discussion. How many are there that just slip through? Well, you can kinda see for yourself (second hand guessing, by proxy etc.):
1. MDN lists various web APIs, including experimental ones: https://developer.mozilla.org/en-US/docs/Web/API Almost every single one that's marked "experimental" is shipped by default in Chrome
2. Mozilla lists its position on various standards. Almost all of those marked as "considered harmful/negative" are shipped by default in Chrome https://mozilla.github.io/standards-positions/ (exceptions are a few deprecated and removed ones like HTML Imports)
3. Chrome currently ships 1100 more APIs more than Firefox: https://web-confluence.appspot.com/#!/confluence (note: a single standard like "File System Access API" may expose dozens of these APIs) Is it because Firefox is lagging, or is it because Chrome just powers through, all consensus be damned?
> We're literally in the discussion about File System API that is:
> - not on any standards track
As others have pointed out the standard is here:
> - considered harmful by other browser vendors
It is literally being drafted in conjunction by all the major browsers.
> - shipped by default in Chrome
So what? I for one am thankful that Chromium enables features earlier than other browsers. If you don't want the Chromium implementation then don't use it.
As others also pointed out, it's a different standard.
File System: Mozilla isn't opposed
File System Access API: considered harmful
There are parts (of whichever spec) that neither Mozilla nor Safari are opposed to like Private Origin File System. That one ships across all browsers.
> So what?
Ah yes. So what if a dominant browser ships features without any consensus, against objections, with badly written specs, or with glaring issues.
As to "don't use it", https://news.ycombinator.com/item?id=31905404
- File System Access API, https://wicg.github.io/file-system-access/
- File Handling, https://github.com/WICG/file-handling/blob/master/explainer....
- Origin Private File System, https://github.com/WICG/file-system-access/blob/main/AccessH...
There was also Storage Foundation API to which the reaction was "I don't think it's an acceptable outcome for the web platform to have that many ways to work with files" :) https://github.com/mozilla/standards-positions/issues/481 This one never saw the light of day.
At wich point will the user just blindly click "yes" on all of those?
Sites shouldn't be asking for permissions that don't really need, and users should default to "no" instead of yes, but these are orthogonal problems.
Browsers could batch them up. One dialog that lists what permissions the site wants with checkboxes next to each of them to agree.
There really is no way around that for file system access. Users must consent and consent to a small subset of files, or the whole thing is effed.
Context: I was a member of both the Firefox and Chrome development teams at different points.