Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove compile_flag from the schema #3752

Merged
merged 3 commits into from
Apr 9, 2019
Merged

Conversation

ddbeck
Copy link
Collaborator

@ddbeck ddbeck commented Apr 1, 2019

We hardly use compile flag data and compile flags strain the sense of a "version" of a browser. I say we get rid of 'em.

Background

While reviewing, #3742, I found that a feature was supported in an earlier version of Firefox but behind a compile flag (#3742 (review)). Initially, I intended to suggest adding the compile flag, but I couldn't remember the format for it. I looked and we only have two compile flags in the entire repository. One is for a non-Web platform feature, XUL overlays. The other is for an experimental JavaScript feature, the pipeline operator.

Proposal

Remove compile_flag from BCD. My reasoning has two parts. First, we have only one Web platform feature that uses compile_flag and it seems silly to maintain this part of BCD for a single feature. Second, it strains the sense of a "version" of a browser if, to get access to a feature, you can't actually use the version of the browser you'd download from the vendor—you have to build your own.

Changes

This PR removes:

  • The remaining compile_flag data
  • Code that uses compile_flag in supporting scripts
  • Schema and docs that refer to the compile flag

@ddbeck ddbeck added the schema Isses or pull requests regarding the JSON schema files used in this project. label Apr 1, 2019
@ddbeck ddbeck requested a review from Elchi3 April 1, 2019 11:51
Copy link
Member

@Elchi3 Elchi3 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you, @ddbeck! This is really nice clean-up and I totally agree with your points. I've opened mdn/kumascript#1113 to remove the rendering piece from the MDN KumaScript renderer, but that shouldn't block the release of this change. It is just clean-up that we should do on our rendering code.

@Elchi3 Elchi3 changed the title Proposal: remove compile_flag from the schema Remove compile_flag from the schema Apr 9, 2019
@Elchi3 Elchi3 merged commit 2428be0 into mdn:master Apr 9, 2019
@ddbeck ddbeck deleted the remove-compile-flags branch April 9, 2019 11:49
sideshowbarker added a commit to w3c/browser-compat-data that referenced this pull request Nov 24, 2020
This change markss navigator.hardwareConcurrency unsupported in Safari.

https://trac.webkit.org/changeset/169017/webkit added the support, so per
https://trac.webkit.org/browser/webkit/tags/Safari-601.1.56/Source/WebCore/page/Navigator.idl#L40
that puts in the WebKit version which shipped in Safari 9 — because per
https://trac.webkit.org/browser/webkit/tags/Safari-538.35/Source/WebCore/page/Navigator.idl#L38
it did not ship in Safari 8.

However, it shipped behind a build (compile) flag — and that build flag
was apparently never enabled by Apple for Safari releases.

https://trac.webkit.org/changeset/219372/webkit and
https://trac.webkit.org/changeset/219379/webkit eventually removed the
support from WebKit altogether. Per
https://trac.webkit.org/browser/webkit/releases/Apple/Safari%2011.0#WebCore/page
that means it was removed in Safari 11 — because per
https://trac.webkit.org/browser/webkit/releases/Apple/Safari%2010.0/WebCore/page
it was still present in the WebKit version that shipped with Safari 10.

But per mdn#7393 and
mdn#3752 we don’t mark
feature as supported if they require the use of a build/compile flag.
So this change instead simply marks it as version_added:false.
Elchi3 pushed a commit that referenced this pull request Nov 24, 2020
This change marks navigator.hardwareConcurrency unsupported in Safari.

https://trac.webkit.org/changeset/169017/webkit added the support, so per
https://trac.webkit.org/browser/webkit/tags/Safari-601.1.56/Source/WebCore/page/Navigator.idl#L40
that puts in the WebKit version which shipped in Safari 9 — because per
https://trac.webkit.org/browser/webkit/tags/Safari-538.35/Source/WebCore/page/Navigator.idl#L38
it did not ship in Safari 8.

However, it shipped behind a build (compile) flag — and that build flag
was apparently never enabled by Apple for Safari releases.

https://trac.webkit.org/changeset/219372/webkit and
https://trac.webkit.org/changeset/219379/webkit eventually removed the
support from WebKit altogether. Per
https://trac.webkit.org/browser/webkit/releases/Apple/Safari%2011.0#WebCore/page
that means it was removed in Safari 11 — because per
https://trac.webkit.org/browser/webkit/releases/Apple/Safari%2010.0/WebCore/page
it was still present in the WebKit version that shipped with Safari 10.

But per #7393 and
#3752 we don’t mark
feature as supported if they require the use of a build/compile flag.
So this change instead simply marks it as version_added:false.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
schema Isses or pull requests regarding the JSON schema files used in this project.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants