Thanks Boris. I've updated the MDN WebIDL guide to include a section on the new syntax:
https://developer.mozilla.org/en-US/docs/MDN/Contribute/Howto/Write_an_API_reference/Information_contained_in_a_WebIDL_file#New_constructor_syntax (and the new Chrome-only syntax you talked about in your other mail: https://developer.mozilla.org/en-US/docs/MDN/Contribute/Howto/Write_an_API_reference/Information_contained_in_a_WebIDL_file#Available_only_in_system_code ) Chris Mills MDN content lead & writers' team manager Mozilla Developer Network <https://developer.mozilla.org/en-US/> @chrisdavidmills <https://twitter.com/chrisdavidmills> On Fri, Sep 13, 2019 at 1:25 AM Boris Zbarsky <bzbar...@mit.edu> wrote: > As of today, the syntax for Web IDL constructors no longer involves an > extended attribute on the interface. There's now something that looks > more like a method named "constructor" with no explicitly-defined return > type. > > So this: > > [Constructor(DOMString str)] > interface MyInterface {}; > > is now written like so: > > interface MyInterface { > constructor(DOMString str); > }; > > This means we can now specify extended attributes on the constructor, > and therefore we no longer assume that all constructors throw. If yours > does, you can use [Throws] in the usual way to indicate that: > > interface ThrowingConstructor { > [Throws] constructor(); > }; > > It may take some time for specifications to update to the new syntax > because not all of the tooling is updated yet; see > https://github.com/heycam/webidl/issues/778 which tracks that. So in > the meantime, including new spec IDL that uses constructors may require > some hand-editing to get it into the new form. > > -Boris > _______________________________________________ > dev-platform mailing list > dev-platform@lists.mozilla.org > https://lists.mozilla.org/listinfo/dev-platform > _______________________________________________ dev-platform mailing list dev-platform@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-platform