Closed
Description
As discussed in today's WG meeting, we are aiming for publishing an initial release of the web-sys
crate for the Rust 2018 Release Candidate milestone. That's 6 weeks from now: 2018-09-13.
What needs to be done before we ship an initial release of web-sys
?
Goals
- Namespaces support: Support WebIDL namespaces #253
- Remove all typedefs: WebIDL: Remove all typedefs in early passes #623
- Headless testing in Chrome: web-sys: Add Chrome headless testing to CI #622
- Support
HTMLConstructor
attribute: WebIDL: Support the HTMLConstructor attribute #621 - Enable bindings generation for all the interfaces that need
Option<scalar>
: WebIDL: enable bindings that takeOption<scalar>
#624 - Enable bindings generation for all the interfaces that use funky-named enum variants: WebIDL: Enable bindings that have unusual enum names #625
- Implement inheritance and upcasting from RFC #2
- Support WebIDL getters/setters: Support WebIDL getters and setters #248
- Generate bindings for
document.createElement
: Generate bindings fordocument.createElement
#658 - Expose a getter for the global window: Expose a getter for the global window #659
- Support WebIDL dictionaries: Support creating bindings for WebIDL dictionaries #241
- Support WebIDL callbacks: Support WebIDL callback functions #257
- Feature gate individual interfaces to get faster compile times: Gate
web-sys
APIs on activated features #790 - Do a final audit of unsupported warnings and determine if any of them are blocking critical web APIs (eg the body for fetch thing in web-sys: Unable to add body to a Request #817)
- Do an audit for
moz
-prefixed APIs that shouldn't be included inweb-sys
- Figure out how to expose global window APIs: web-sys's API around Window seems to be wrong #834
- Have announcement blog post ready to publish at the same time that we push to crates.io
Stretch
- RFC and implementation for traits to expose a derived type's inherited methods
- Add an example of working with the DOM via
web-sys
: Add a DOM manipulation with web-sys example toexamples/
and the guide #446
What else should we make sure is done for an initial release? For reference, here are all the "frontend:webidl" issues and here are all the "web-sys" issues