-
Notifications
You must be signed in to change notification settings - Fork 2.1k
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Mark features with one engine support 'experimental' #17391
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks ok to me. As there will be others PRs like this, I would like a second check on the first one.
@OnkarRuikar told me there are about 130 errors in mdn/browser-compat-data.
(Note we are synchronizing, with a script, what is displayed on MDN and what is in bcd. One day it will be displayed automatically but we had 100s of errors so it was really needed). |
On the BCD side, we typically say that a feature that has been in one browser for a long period of time should be considered non-experimental, but what do you guys think about that? |
I used dialed down version the test-status.ts#checkExperimental() to find these. If we consider flags, prefixes, and alternative names then there will be ~316 files modified in the entire repo. On top of what @queengooborg said, the @queengooborg
What about features that are old but still behind prefixes?
What about same for alternate names?
|
The function isn't a fully-developed function to decide experimental status -- it's actually only used to set We have the full breakdown of when to set |
I think we'll have to involve git history in the script. 🤔
If you guys terminate this PR, I'll update the statuses on |
I think this is a bit problematic. If a browser develops an obscure API that no other vendors is interested in, it will just sit there forever and become non-experimental. Also, often, for APIs that are the brainchild of one vendor, the first implementation is made by the spec writers. We all know how it goes when there is some internal pressure to release: if the feature works for the purpose, management pushes for its release. When a second vendor implements it later, that's when the actual review of the API happens and where changes are implemented (if still possible). If not possible, a better API is developed and adopted by all vendors, the original API staying in one browser, deprecated, until most users have migrated (or died out). That's why I think that not marking such APIs as experimental is detrimental to web developers. The risk of change, or event marked as deprecated, is real. When not experimental the web developer assumes that it is safe to consider it stable enough to stay forever on the Web platform. Features implemented by one vendor don't provide this guarantee. |
I think the best example of this could be: https://bugs.chromium.org/p/chromium/issues/detail?id=695508#c18
|
This pull request has merge conflicts that must be resolved before it can be merged. |
This pull request has merge conflicts that must be resolved before it can be merged. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Quite a lot of support data is wrong here thus leading to experimental setting. I think we should rather fix the data than set experimental.
@@ -247,7 +247,7 @@ | |||
"webview_android": "mirror" | |||
}, | |||
"status": { | |||
"experimental": false, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is actually in Safari, not sure which version though.
https://github.com/WebKit/WebKit/blob/main/Source/WebCore/html/ImageBitmapOptions.idl#L37
But that makes it non-experimental.
@@ -28,7 +28,7 @@ | |||
"webview_android": "mirror" | |||
}, | |||
"status": { | |||
"experimental": false, | |||
"experimental": true, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@@ -26,7 +26,7 @@ | |||
"webview_android": "mirror" | |||
}, | |||
"status": { | |||
"experimental": false, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@@ -699,7 +699,7 @@ | |||
"webview_android": "mirror" | |||
}, | |||
"status": { | |||
"experimental": false, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Supported in Firefox https://searchfox.org/mozilla-central/source/dom/webidl/PeriodicWave.webidl#14
This pull request has merge conflicts that must be resolved before it can be merged. |
Similar to #17357
Summary
These features are supported by only one engine, so should be marked as 'experimental'.
Supporting details
mdn/content#19569 (review)
cc/ @teoli2003