-
Notifications
You must be signed in to change notification settings - Fork 164
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
Rename all legacy extended attributes #870
Conversation
Part of #350. Also removes some references to usages in other specs that have since been fixed, and removes the discussion of the previous usage of this extended attribute for mixin purposes, as all those usages have migrated.
This groups all the legacy extended attributes under a new section, that follows the general extended attributes section. (It also renames that section from "ECMAScript-specific extended attributes" to "Extended attributes", since we are already in the ECMAScript binding section.) As part of this, it removes all the individual "do not use this" warnings, in favor of a blanket one at the start of the section. Some cases, namely [LegacyFactoryFunction], [LegacyLenientSetter], and [LegacyNamespace], contained advice or background information in those blocks; those have been preserved.
[TreatNullAs=EmptyString] → [LegacyNullToEmptyString] and [Unforgeable] → [LegacyUnforgeable]. Follows whatwg/webidl#870.
Follows whatwg/webidl#870. Additionally, this cross-links all of these extended attributes from their usage sites, since I was updating them anyway.
[TreatNullAs=EmptyString] → [LegacyNullToEmptyString], following whatwg/webidl#870.
[TreatNullAs=EmptyString] → [LegacyNullToEmptyString], per whatwg/webidl#870.
[NoInterfaceObject] → [LegacyNoInterfaceObject]. This follows whatwg/webidl#870.
[NoInterfaceObject] → [LegacyNoInterfaceObject]. This follows whatwg/webidl#870. This also replaces a couple instances of [NoInterfaceObject] with the interface mixin concept, as was previously done in 2df151b and a6f9909.
All specs that use these now have pull requests to update. |
Please make sure ReSpec and BikeShed are not using these also before merging... cc @sidvishnoi, just in case. |
Do you think we can still switch to "builtin" everywhere? It seems that's what ECMAScript uses and I kind prefer to use the hyphen-less version whenever possible. I think it's mostly DOM and HTML, right? I could PR those. |
I'm confused, in #350 you said we should switch to BuiltIn, which is what I did here. Which one do you want? |
So earlier today I looked at ECMAScript again and found CreateBuiltinFunction. However, I now see it also has built-in, builtinTag, RegExpBuiltinExec, ... Sigh. |
I was kind of under the impression that built-in was the adjective and builtin was the noun, but I can find no evidence for this on the internet. |
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.
I did not read through everything in detail, but I didn't spot any obvious mistakes either. Unfortunately TC39 didn't really settle the builtin thing yet so I guess we'll go with internal consistency for now.
Follows whatwg/webidl#870. Additionally, this cross-links all of these extended attributes from their usage sites, since I was updating them anyway.
[TreatNullAs=EmptyString] → [LegacyNullToEmptyString] and [Unforgeable] → [LegacyUnforgeable]. Follows whatwg/webidl#870.
[TreatNullAs=EmptyString] → [LegacyNullToEmptyString], following whatwg/webidl#870.
Bugs:
and @saschanaz seems to be on top of things for webidl2.js. |
* Update for Web IDL extended attribute changes [NoInterfaceObject] → [LegacyNoInterfaceObject]. This follows whatwg/webidl#870. This also replaces a couple instances of [NoInterfaceObject] with the interface mixin concept, as was previously done in 2df151b and a6f9909.
[TreatNullAs=EmptyString] → [LegacyNullToEmptyString], per whatwg/webidl#870.
[TreatNullAs=EmptyString] → [LegacyNullToEmptyString] and [Unforgeable] → [LegacyUnforgeable]. Follows whatwg/webidl#870.
`[Unforgeable]` was renamed to `[LegacyUnforgeable]` in April of 2020: whatwg/webidl#870
`[Unforgeable]` was renamed to `[LegacyUnforgeable]` in April of 2020: whatwg/webidl#870
This pull request contains a series of commits that together close #350. I suggest we rebase-merge, instead of squash-merge, to better make the individual changes clear from the history.
I've updated #350 with a list of specifications that use these extended attributes, and will work on corresponding pull requests to them.
Preview | Diff