Re: [whatwg/streams] Rewrite to use Web IDL, and generally modernize (#1035)

OK, our reference implementation is now up to date with _all_ changes, including the async iterator changes (using the branch at https://github.com/jsdom/webidl2js/pull/224). This uncovered one slight semantic shift about what happens if you call `next()` after `return()`, which I've updated the tests for in https://github.com/web-platform-tests/wpt/pull/22982. And it also let me tighten the spec language a bit further.

Although we ideally shouldn't merge this until the reference implementation dependency (https://github.com/jsdom/webidl2js/pull/224) is merged, I think we've done all the spec and web platform test changes, and have a completely exhaustive list of everything that this effects. So, it's time to check in with implementers.

Implementers: see #963 for background, and see the OP of this thread(https://github.com/whatwg/streams/pull/1035#issue-402869237) for a complete list of changes, both normative and editorial.

In https://github.com/whatwg/streams/pull/1035#issuecomment-622316622 @ricea approved of these changes for Chrome. This will largely amount to introducing proper dictionary types, enums, etc. and moving away from `any`.

@jorendorff, do these sound reasonable for Mozilla? I imagine you'd continue to implement Streams in the JS engine, but just make the normative changes listed in the OP, guided by the test updates at https://github.com/web-platform-tests/wpt/pull/22982.

@othermaciej, how about for WebKit? At one point I know streams were already implemented in Web IDL in WebKit, but using some tricks like `[NonEnumerable]` and lots of `any`s, like Chrome's current implementation. If that's still the case, this would amount to removing those tricks.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/whatwg/streams/pull/1035#issuecomment-630472193

Received on Monday, 18 May 2020 22:40:23 UTC