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

Consider renaming all legacy extended attributes #350

Closed
domenic opened this issue Apr 25, 2017 · 10 comments · Fixed by #870
Closed

Consider renaming all legacy extended attributes #350

domenic opened this issue Apr 25, 2017 · 10 comments · Fixed by #870
Assignees

Comments

@domenic
Copy link
Member

domenic commented Apr 25, 2017

I'm not sure this is worth the churn, but if we wanted to, let's do it all at once.

  • LenientSetter -> LegacyLenientSetter
    • Used by fullscreen
  • LenientThis -> LegacyLenientThis
    • Used by HTML
  • NamedConstructor -> LegacyFactoryFunction Rename "named constructors" #277
    • Used by HTML
  • OverrideBuiltins -> LegacyOverrideBuiltins??
    • Used by HTML
  • Replaceable -> LegacyReplaceable?
  • TreatNonObjectAsNull -> LegacyTreatNonObjectAsNull
    • Used by HTML
  • TreatNullAs=EmptyString -> LegacyNullToEmptyString (different naming scheme than LegacyTreatNonObjectAsNull since it operates on types, not callback functions)
    • Used by CSSOM, DOM Parsing, HTML, DOM
  • Unforgeable -> LegacyUnforgeable???
    • Used by HTML, DOM

I have attached varying degrees of ?s for the ones I am unsure on.

@annevk
Copy link
Member

annevk commented Apr 25, 2017

In general I'm very much in favor of this and I think they all make sense. I'm a little worried where we have something we recommend, EventHandler, depend on something that we don't, [TreatNonObjectAsNull], as I wouldn't want folks to start ignoring EventHandler. I think that'll probably be okay in practice though.

@bzbarsky
Copy link
Collaborator

Replaceable is not legacy. It's basically required for any new attribute we add on globals. And even then it may not be enough; see https://bugzilla.mozilla.org/show_bug.cgi?id=1359022 for example.

@annevk
Copy link
Member

annevk commented Apr 25, 2017

If [Replaceable] is limited to globals it seems reasonable to keep it with the existing name.

@bzbarsky
Copy link
Collaborator

Hmm. In Gecko, the only non-global use of Replaceable is .stack on DOMException. Which is exciting for all sorts of reasons, not least because there is no mention of .stack in https://heycam.github.io/webidl/#es-exceptions

Of course there's no mention of it in ES either, for ES exceptions, but in practice browsers implement it (with non-identical semantics) and websites rely on it....

@annevk
Copy link
Member

annevk commented Apr 25, 2017

It sounds like we could limit it to globals in standards then and deal with stack once someone figures out what to do there (which likely will need to be defined in JavaScript-prose anyway given how we define DOMException today).

@TimothyGu
Copy link
Member

Is this describing the same issue as #100? If so we should close one of them out.

@tobie
Copy link
Collaborator

tobie commented Aug 22, 2017

Is this describing the same issue as #100? If so we should close one of them out.

This issue seems specific to extended attributes.

@annevk
Copy link
Member

annevk commented Aug 22, 2017

Updated the title of #100.

@annevk
Copy link
Member

annevk commented Oct 10, 2017

I don't think we have any legitimate use cases for [Unforgeable] left. See also discussion over at w3c/webappsec-secure-contexts#46 and whatwg/html#2294.

@annevk
Copy link
Member

annevk commented Mar 16, 2018

I think we should rename OverrideBuiltins to LegacyOverrideBuiltIns (note the uppercase I). That makes us more consistent with JavaScript and HTML, which mostly say "built-in", not "builtin".

@domenic domenic self-assigned this Apr 8, 2020
domenic added a commit that referenced this issue Apr 8, 2020
domenic added a commit that referenced this issue Apr 8, 2020
domenic added a commit that referenced this issue Apr 8, 2020
domenic added a commit that referenced this issue Apr 8, 2020
domenic added a commit that referenced this issue Apr 8, 2020
Closes #277. This includes renaming the extended attribute, which is part of #350.

Also, since we don't anticipate this being used again, we remove the zero-argument form, which has no current users.

As a bonus, this removes some leftover references to "constructor extended attributes".
domenic added a commit that referenced this issue Apr 8, 2020
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.
domenic added a commit that referenced this issue Apr 20, 2020
domenic added a commit that referenced this issue Apr 20, 2020
domenic added a commit that referenced this issue Apr 20, 2020
domenic added a commit that referenced this issue Apr 20, 2020
domenic added a commit that referenced this issue Apr 20, 2020
Closes #277. This includes renaming the extended attribute, which is part of #350.

Also, since we don't anticipate this being used again, we remove the zero-argument form, which has no current users.

As a bonus, this removes some leftover references to "constructor extended attributes".
domenic added a commit that referenced this issue Apr 20, 2020
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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging a pull request may close this issue.

5 participants