Implementation of WritableStream
Implement WritableStream as specified in the Streams standard:
https://streams.spec.whatwg.org/#ws
The implementation is in Javascript using V8 Extras, similar to
ReadableStream.js. Currently WritableStream is behind a flag.
The implementation follows ReadableStream.js closely, except that internal slots
are prefixed with an underscore instead of the name of the class, to make
comparison with the standard text easier.
Layout tests have been imported from reference-implementation/to-upstream-wpts/writable-streams/ in the Stream Standard repository:
https://github.com/whatwg/streams/tree/master/reference-implementation/to-upstream-wpts/writable-streams
They will be upstreamed to the w3c web-platform-tests and used from there in future.
test-initializer.js is from w3c/web-platform-tests.
BUG=658144
Committed: https://crrev.com/4162a4a2c1e2e897b65e769d5f8e6d3fcd0e0da7
Cr-Commit-Position: refs/heads/master@{#430881}
Dry run: Try jobs failed on following builders: mac_chromium_rel_ng on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_rel_ng/builds/322623)
Description was changed from
==========
[WIP] Implementation of WritableStream
Implement WritableStream as specified in the Streams standard:
https://streams.spec.whatwg.org/#ws
The implementation is in Javascript using V8 Extras, similar to
ReadableStream.js. Currently WritableStream is behind a flag.
The implementation follows ReadableStream.js closely, except that internal slots
are prefixed with an underscore instead of the name of the class, to make
comparison with the standard text easier.
BUG=658144
==========
to
==========
Implementation of WritableStream
Implement WritableStream as specified in the Streams standard:
https://streams.spec.whatwg.org/#ws
The implementation is in Javascript using V8 Extras, similar to
ReadableStream.js. Currently WritableStream is behind a flag.
The implementation follows ReadableStream.js closely, except that internal slots
are prefixed with an underscore instead of the name of the class, to make
comparison with the standard text easier.
BUG=658144
==========
Dry run: Try jobs failed on following builders: win_chromium_rel_ng on master.tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_rel_ng/builds/322106)
4 years, 1 month ago
(2016-10-31 13:50:12 UTC)
#11
Description was changed from ========== Implementation of WritableStream Implement WritableStream as specified in the Streams ...
4 years, 1 month ago
(2016-11-01 05:12:14 UTC)
#15
Description was changed from
==========
Implementation of WritableStream
Implement WritableStream as specified in the Streams standard:
https://streams.spec.whatwg.org/#ws
The implementation is in Javascript using V8 Extras, similar to
ReadableStream.js. Currently WritableStream is behind a flag.
The implementation follows ReadableStream.js closely, except that internal slots
are prefixed with an underscore instead of the name of the class, to make
comparison with the standard text easier.
BUG=658144
==========
to
==========
Implementation of WritableStream
Implement WritableStream as specified in the Streams standard:
https://streams.spec.whatwg.org/#ws
The implementation is in Javascript using V8 Extras, similar to
ReadableStream.js. Currently WritableStream is behind a flag.
The implementation follows ReadableStream.js closely, except that internal slots
are prefixed with an underscore instead of the name of the class, to make
comparison with the standard text easier.
Layout tests have been imported from
reference-implementation/to-upstream-wpts/writable-streams/ in the Stream
Standard repository:
https://github.com/whatwg/streams/tree/master/reference-implementation/to-ups...
They will be upstreamed to the w3c web-platform-tests and used from there in
future.
test-initializer.js is from w3c/web-platform-tests.
BUG=658144
==========
Adam Rice
I have updated the CL description. PTAL. https://codereview.chromium.org/2453713003/diff/40001/build_overrides/v8.gni File build_overrides/v8.gni (right): https://codereview.chromium.org/2453713003/diff/40001/build_overrides/v8.gni#newcode22 build_overrides/v8.gni:22: [ "../third_party/WebKit/Source/core/streams/WritableStream.js" ...
4 years, 1 month ago
(2016-11-01 05:13:12 UTC)
#16
https://codereview.chromium.org/2453713003/diff/40001/third_party/WebKit/Source/core/streams/WritableStream.js File third_party/WebKit/Source/core/streams/WritableStream.js (right): https://codereview.chromium.org/2453713003/diff/40001/third_party/WebKit/Source/core/streams/WritableStream.js#newcode7 third_party/WebKit/Source/core/streams/WritableStream.js:7: // standard, except where required for performanc or integration ...
4 years, 1 month ago
(2016-11-02 11:54:42 UTC)
#21
https://codereview.chromium.org/2453713003/diff/40001/third_party/WebKit/Sour...
File third_party/WebKit/Source/core/streams/WritableStream.js (right):
https://codereview.chromium.org/2453713003/diff/40001/third_party/WebKit/Sour...
third_party/WebKit/Source/core/streams/WritableStream.js:7: // standard, except
where required for performanc or integration with Blink. In
On 2016/11/01 05:54:09, tyoshino wrote:
> typo: performance
Done.
https://codereview.chromium.org/2453713003/diff/40001/third_party/WebKit/Sour...
third_party/WebKit/Source/core/streams/WritableStream.js:80: const
errDesiredSizeReleasedLock = 'Attempt to read desiredSize after releaseLock';
On 2016/11/01 07:43:40, tyoshino wrote:
> unused?
Sorry, yes. I changed the code to use errWriterLockReleasedPrefix instead but
forgot to remove it.
https://codereview.chromium.org/2453713003/diff/40001/third_party/WebKit/Sour...
third_party/WebKit/Source/core/streams/WritableStream.js:86: const errClosing =
On 2016/11/01 07:43:40, tyoshino wrote:
> unused?
Sorry. Same thing as with errDesiredSizeReleasedLock above.
https://codereview.chromium.org/2453713003/diff/40001/third_party/WebKit/Sour...
third_party/WebKit/Source/core/streams/WritableStream.js:88: const
templateCannotActionOnStateStream =
On 2016/11/01 07:43:40, tyoshino wrote:
> errTemplate... or templateError...?
I went with templateError.
https://codereview.chromium.org/2453713003/diff/40001/third_party/WebKit/Sour...
third_party/WebKit/Source/core/streams/WritableStream.js:96: 'A queueing
strategy\'s highWaterMark property must be a nonnegative, non-NaN number';
On 2016/11/01 07:43:40, tyoshino wrote:
> how about non-negative? if nonnegative would be better for you as native, it's
> ok. then, use either of them everywhere
The Streams Standard doesn't agree on this either. I filed an issue
https://github.com/whatwg/streams/issues/585 and chose "non-negative" for this
file.
https://codereview.chromium.org/2453713003/diff/40001/third_party/WebKit/Sour...
third_party/WebKit/Source/core/streams/WritableStream.js:96: 'A queueing
strategy\'s highWaterMark property must be a nonnegative, non-NaN number';
On 2016/11/01 07:43:41, tyoshino wrote:
> use either of queueing or queuing everywhere?
It seems the standard spelling changed while I wasn't looking 😢
http://english.stackexchange.com/questions/60852/queueing-or-queuing
Changed to queuing.
https://codereview.chromium.org/2453713003/diff/40001/third_party/WebKit/Sour...
third_party/WebKit/Source/core/streams/WritableStream.js:114: return new
TypeError(templateCannotActionOnStateStream(action,
On 2016/11/01 07:43:40, tyoshino wrote:
> assert that we have an entry for state in stateNames?
Done.
https://codereview.chromium.org/2453713003/diff/40001/third_party/WebKit/Sour...
third_party/WebKit/Source/core/streams/WritableStream.js:122: function
setDefaultControllerFlag(controller, flag, value) {
On 2016/11/01 07:43:40, tyoshino wrote:
> move this to above getDefaultControllerStartedFlag
Done.
https://codereview.chromium.org/2453713003/diff/40001/third_party/WebKit/Sour...
third_party/WebKit/Source/core/streams/WritableStream.js:124: flags = (flags &
~flag) | (value ? flag : 0);
On 2016/11/01 07:43:41, tyoshino wrote:
> how about this?
>
> if (value) {
> flags = flags | flag;
> } else {
> flags = flags & ~flag;
> }
Done, thanks.
https://codereview.chromium.org/2453713003/diff/40001/third_party/WebKit/Sour...
third_party/WebKit/Source/core/streams/WritableStream.js:154: if (!predicate) {
On 2016/11/01 07:43:40, tyoshino wrote:
> early return when predicate is true?
Done.
https://codereview.chromium.org/2453713003/diff/40001/third_party/WebKit/Sour...
third_party/WebKit/Source/core/streams/WritableStream.js:163: function
TEMP_LOG(message) {
On 2016/11/01 07:43:40, tyoshino wrote:
> unused?
Removed.
https://codereview.chromium.org/2453713003/diff/40001/third_party/WebKit/Sour...
third_party/WebKit/Source/core/streams/WritableStream.js:174: let type =
underlyingSink.type;
On 2016/11/01 05:54:09, tyoshino wrote:
> use const where possible though "let" is the same as the spec wording.
Sorry. I had a todo to change all the "let"s to "const" once it was working, and
then I forgot to do it.
https://codereview.chromium.org/2453713003/diff/40001/third_party/WebKit/Sour...
third_party/WebKit/Source/core/streams/WritableStream.js:198: }
On 2016/11/01 05:54:09, tyoshino wrote:
> blank line
Done.
https://codereview.chromium.org/2453713003/diff/40001/third_party/WebKit/Sour...
third_party/WebKit/Source/core/streams/WritableStream.js:207: // General
Writable Stream Abstract Operations
On 2016/11/01 05:54:09, tyoshino wrote:
> blank line
Done.
https://codereview.chromium.org/2453713003/diff/40001/third_party/WebKit/Sour...
third_party/WebKit/Source/core/streams/WritableStream.js:306: throw
TypeError(errInvalidType);
On 2016/11/01 05:54:09, tyoshino wrote:
> For now, this should be errIllegalConstructor? errorInvalidType is for the
type
> argument.
>
> That said, I find that errIllegalConstructor's message is not clear about
what's
> wrong. We should improve it separately.
Fixed. I agree the clarity of the error could be improved.
https://codereview.chromium.org/2453713003/diff/40001/third_party/WebKit/Sour...
third_party/WebKit/Source/core/streams/WritableStream.js:382: return
Promise_reject(TypeError(errIllegalInvocation));
On 2016/11/01 07:43:40, tyoshino wrote:
> just throw
Fixed. I seem to have done a particular poor job translating this function from
English. I have double-checked it and it looks okay now.
I think this will be covered once I've ported the brand-checks to w-p-t, so
there's not a serious testing gap here.
https://codereview.chromium.org/2453713003/diff/40001/third_party/WebKit/Sour...
third_party/WebKit/Source/core/streams/WritableStream.js:386: return
Promise_reject(createWriterLockReleasedError(verbReleasedAgain));
On 2016/11/01 07:43:40, tyoshino wrote:
> return undefined. i.e. no-op
Done. I'm adding a test for this upstream.
https://codereview.chromium.org/2453713003/diff/40001/third_party/WebKit/Sour...
third_party/WebKit/Source/core/streams/WritableStream.js:395: return
Promise_reject(TypeError(errIllegalInvocation));
On 2016/11/01 07:43:40, tyoshino wrote:
> new TypeError
Done.
https://codereview.chromium.org/2453713003/diff/40001/third_party/WebKit/Sour...
third_party/WebKit/Source/core/streams/WritableStream.js:502: throw new
TypeError(errIllegalInvocation);
On 2016/11/01 07:43:40, tyoshino wrote:
> use errIllegalConstructor for now? or shall we decide to apply this message to
> all the invocation with unexpected state (incl ReadableStream.*)?
I think errIllegalConstructor is fine. Since calling this constructor directly
will never do anything useful, I think the error messages are not too important.
Although I suppose we could have a "this will never work; give up" message if we
wanted to be extra helpful.
https://codereview.chromium.org/2453713003/diff/40001/third_party/WebKit/Sour...
third_party/WebKit/Source/core/streams/WritableStream.js:647: );
On 2016/11/01 07:43:40, tyoshino wrote:
> this is also formatted by PRESUBMIT?
No. Any formatting errors in this file are purely my fault.
https://codereview.chromium.org/2453713003/diff/40001/third_party/WebKit/Sour...
third_party/WebKit/Source/core/streams/WritableStream.js:751: return
!Number_isNaN(v) && Number_isFinite(v) && v >= 0;
On 2016/11/01 07:43:41, tyoshino wrote:
> Isn't it sufficient to have only
> Number_isFinite(v) && v >= 0
> ?
Yes. Done.
tyoshino (SeeGerritForStatus)
lgtm! https://codereview.chromium.org/2453713003/diff/40001/third_party/WebKit/Source/core/streams/WritableStream.js File third_party/WebKit/Source/core/streams/WritableStream.js (right): https://codereview.chromium.org/2453713003/diff/40001/third_party/WebKit/Source/core/streams/WritableStream.js#newcode96 third_party/WebKit/Source/core/streams/WritableStream.js:96: 'A queueing strategy\'s highWaterMark property must be a ...
4 years, 1 month ago
(2016-11-04 06:04:19 UTC)
#22
lgtm!
https://codereview.chromium.org/2453713003/diff/40001/third_party/WebKit/Sour...
File third_party/WebKit/Source/core/streams/WritableStream.js (right):
https://codereview.chromium.org/2453713003/diff/40001/third_party/WebKit/Sour...
third_party/WebKit/Source/core/streams/WritableStream.js:96: 'A queueing
strategy\'s highWaterMark property must be a nonnegative, non-NaN number';
On 2016/11/02 11:54:42, Adam Rice wrote:
> On 2016/11/01 07:43:40, tyoshino wrote:
> > how about non-negative? if nonnegative would be better for you as native,
it's
> > ok. then, use either of them everywhere
>
> The Streams Standard doesn't agree on this either. I filed an issue
> https://github.com/whatwg/streams/issues/585 and chose "non-negative" for this
> file.
Thanks for filing that!
https://codereview.chromium.org/2453713003/diff/40001/third_party/WebKit/Sour...
third_party/WebKit/Source/core/streams/WritableStream.js:174: let type =
underlyingSink.type;
On 2016/11/02 11:54:42, Adam Rice wrote:
> On 2016/11/01 05:54:09, tyoshino wrote:
> > use const where possible though "let" is the same as the spec wording.
>
> Sorry. I had a todo to change all the "let"s to "const" once it was working,
and
> then I forgot to do it.
ok. no problem. thanks!
https://codereview.chromium.org/2453713003/diff/40001/third_party/WebKit/Sour...
third_party/WebKit/Source/core/streams/WritableStream.js:382: return
Promise_reject(TypeError(errIllegalInvocation));
On 2016/11/02 11:54:42, Adam Rice wrote:
> On 2016/11/01 07:43:40, tyoshino wrote:
> > just throw
>
> Fixed. I seem to have done a particular poor job translating this function
from
> English. I have double-checked it and it looks okay now.
>
> I think this will be covered once I've ported the brand-checks to w-p-t, so
> there's not a serious testing gap here.
ok!
https://codereview.chromium.org/2453713003/diff/40001/third_party/WebKit/Sour...
third_party/WebKit/Source/core/streams/WritableStream.js:386: return
Promise_reject(createWriterLockReleasedError(verbReleasedAgain));
On 2016/11/02 11:54:42, Adam Rice wrote:
> On 2016/11/01 07:43:40, tyoshino wrote:
> > return undefined. i.e. no-op
>
> Done. I'm adding a test for this upstream.
Great!
https://codereview.chromium.org/2453713003/diff/60001/third_party/WebKit/Source/core/streams/WritableStream.js File third_party/WebKit/Source/core/streams/WritableStream.js (right): https://codereview.chromium.org/2453713003/diff/60001/third_party/WebKit/Source/core/streams/WritableStream.js#newcode15 third_party/WebKit/Source/core/streams/WritableStream.js:15: // "[[X]]" in the standard is spelt _X in ...
4 years, 1 month ago
(2016-11-05 00:49:23 UTC)
#27
https://codereview.chromium.org/2453713003/diff/60001/third_party/WebKit/Sour...
File third_party/WebKit/Source/core/streams/WritableStream.js (right):
https://codereview.chromium.org/2453713003/diff/60001/third_party/WebKit/Sour...
third_party/WebKit/Source/core/streams/WritableStream.js:15: // "[[X]]" in the
standard is spelt _X in this implementation.
On 2016/11/04 17:32:17, domenic wrote:
> This is nicer than ReadableStream.js. TODO/follow-up issue to fix
> ReadableStream.js to follow this pattern?
Filed http://crbug.com/662530https://codereview.chromium.org/2453713003/diff/60001/third_party/WebKit/Sour...
third_party/WebKit/Source/core/streams/WritableStream.js:34: const _writing =
v8.createPrivateSymbol('[[writing]]');
On 2016/11/04 17:32:17, domenic wrote:
> This seems unused given the flags. Same for _started.
Ah. I was careful not to add these symbols, and then I added them anyway.
Removed.
https://codereview.chromium.org/2453713003/diff/60001/third_party/WebKit/Sour...
third_party/WebKit/Source/core/streams/WritableStream.js:74: // User-visible
strings. Many of these should be shared with ReadableStream.
On 2016/11/04 17:32:17, domenic wrote:
> Add a TODO or follow-up issue? Or do the refactoring here. We could have a
> streams/strings.js which attaches them to binding.streamsStrings.
It is sufficient just to export the symbols from strings.js? I assumed it would
be more complicated, which is why I did not attempt it.
https://codereview.chromium.org/2453713003/diff/60001/third_party/WebKit/Sour...
third_party/WebKit/Source/core/streams/WritableStream.js:150: function
IsPropertyKey(argument) {
On 2016/11/04 17:32:17, domenic wrote:
> Also add a TODO to remove this since it's only used by asserts
Done.
https://codereview.chromium.org/2453713003/diff/60001/third_party/WebKit/Sour...
third_party/WebKit/Source/core/streams/WritableStream.js:155: function
TEMP_ASSERT(predicate, message) {
On 2016/11/04 17:32:17, domenic wrote:
> I wonder if we should consider adding something to V8 extras like v8.ASSERT()
> which gets compiled away or turned into a no-op in non-experimental extras. If
> you think this is worthwhile file an issue on me.
I would like that. I have filed issue 662542.
https://codereview.chromium.org/2453713003/diff/60001/third_party/WebKit/Sour...
third_party/WebKit/Source/core/streams/WritableStream.js:262:
stream[_writableStreamController])) {
On 2016/11/04 17:32:17, domenic wrote:
> I assume these slightly-questionable formatting choices are the result of
> clang-format? If so no problem :)
Nope, it's all on me. I actually think this is the least-worst way to format
this line, but I am happy to be proven wrong.
https://codereview.chromium.org/2453713003/diff/60001/third_party/WebKit/Sour...
third_party/WebKit/Source/core/streams/WritableStream.js:521: .then(
On 2016/11/04 17:32:17, domenic wrote:
> Ahah! I found one!! Use thenPromise instead of .then().
You got me. Fixed.
https://codereview.chromium.org/2453713003/diff/60001/third_party/WebKit/Sour...
third_party/WebKit/Source/core/streams/WritableStream.js:702: function
DequeueValueForController(controller) {
On 2016/11/04 17:32:17, domenic wrote:
> IMO we really should abstract these out into a shared library between readable
> and writable streams (using binding).
Yes. I added a TODO.
https://codereview.chromium.org/2453713003/diff/60001/third_party/WebKit/Sour...
third_party/WebKit/Source/core/streams/WritableStream.js:735: function
InvokeOrNoop(O, P, args) {
On 2016/11/04 17:32:17, domenic wrote:
> Again it would be good to consolidate. Right now the readable and writable
> stream versions have different error messages.
I don't know whether there's an additional cost for using Function.apply as
opposed to the Function.call that ReadableStream.js is using. But I needed to
support 2 arguments, and also it seemed nicer to stick with the operation names
from the standard. And then I wanted to give the same error as v8 would, so I
didn't use the nameForError parameter than ReadableStream.js uses.
So I'm not sure what the right thing to do here is, but I added a TODO.
domenic
On 2016/11/05 at 00:49:23, ricea wrote: > https://codereview.chromium.org/2453713003/diff/60001/third_party/WebKit/Source/core/streams/WritableStream.js#newcode74 > third_party/WebKit/Source/core/streams/WritableStream.js:74: // User-visible strings. Many of ...
4 years, 1 month ago
(2016-11-07 16:51:21 UTC)
#28
On 2016/11/05 at 00:49:23, ricea wrote:
>
https://codereview.chromium.org/2453713003/diff/60001/third_party/WebKit/Sour...
> third_party/WebKit/Source/core/streams/WritableStream.js:74: // User-visible
strings. Many of these should be shared with ReadableStream.
> On 2016/11/04 17:32:17, domenic wrote:
> > Add a TODO or follow-up issue? Or do the refactoring here. We could have a
> > streams/strings.js which attaches them to binding.streamsStrings.
>
> It is sufficient just to export the symbols from strings.js? I assumed it
would be more complicated, which is why I did not attempt it.
Yeah it should be pretty simple. I guess maybe we'll need to ensure that
strings.js comes before its users in the gn file array.
Adam Rice
On 2016/11/07 16:51:21, domenic wrote: > Yeah it should be pretty simple. I guess maybe ...
4 years, 1 month ago
(2016-11-08 23:13:29 UTC)
#29
On 2016/11/07 16:51:21, domenic wrote:
> Yeah it should be pretty simple. I guess maybe we'll need to ensure that
> strings.js comes before its users in the gn file array.
I will try this in a follow-up CL.
I'm uncomfortable with things that depend on ordering in the build file.
We might have to end up naming it aaastrings.js so it doesn't break if someone
sorts the list.
I guess an explicit dependency would work.
brettw
As we discussed in IM, it will be better if the path in v8.gni is ...
4 years, 1 month ago
(2016-11-08 23:20:55 UTC)
#30
As we discussed in IM, it will be better if the path in v8.gni is absolute
("//third_party/...").
LGTM with that (I only looked at v8.gni).
Adam Rice
The CQ bit was checked by ricea@chromium.org
4 years, 1 month ago
(2016-11-08 23:35:33 UTC)
#31
Try jobs failed on following builders: linux_chromium_rel_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_rel_ng/builds/333660)
4 years, 1 month ago
(2016-11-09 00:43:08 UTC)
#35
Description was changed from ========== Implementation of WritableStream Implement WritableStream as specified in the Streams ...
4 years, 1 month ago
(2016-11-09 06:50:10 UTC)
#39
Message was sent while issue was closed.
Description was changed from
==========
Implementation of WritableStream
Implement WritableStream as specified in the Streams standard:
https://streams.spec.whatwg.org/#ws
The implementation is in Javascript using V8 Extras, similar to
ReadableStream.js. Currently WritableStream is behind a flag.
The implementation follows ReadableStream.js closely, except that internal slots
are prefixed with an underscore instead of the name of the class, to make
comparison with the standard text easier.
Layout tests have been imported from
reference-implementation/to-upstream-wpts/writable-streams/ in the Stream
Standard repository:
https://github.com/whatwg/streams/tree/master/reference-implementation/to-ups...
They will be upstreamed to the w3c web-platform-tests and used from there in
future.
test-initializer.js is from w3c/web-platform-tests.
BUG=658144
==========
to
==========
Implementation of WritableStream
Implement WritableStream as specified in the Streams standard:
https://streams.spec.whatwg.org/#ws
The implementation is in Javascript using V8 Extras, similar to
ReadableStream.js. Currently WritableStream is behind a flag.
The implementation follows ReadableStream.js closely, except that internal slots
are prefixed with an underscore instead of the name of the class, to make
comparison with the standard text easier.
Layout tests have been imported from
reference-implementation/to-upstream-wpts/writable-streams/ in the Stream
Standard repository:
https://github.com/whatwg/streams/tree/master/reference-implementation/to-ups...
They will be upstreamed to the w3c web-platform-tests and used from there in
future.
test-initializer.js is from w3c/web-platform-tests.
BUG=658144
==========
commit-bot: I haz the power
Committed patchset #7 (id:120001)
4 years, 1 month ago
(2016-11-09 06:50:11 UTC)
#40
Message was sent while issue was closed.
Committed patchset #7 (id:120001)
commit-bot: I haz the power
Description was changed from ========== Implementation of WritableStream Implement WritableStream as specified in the Streams ...
4 years, 1 month ago
(2016-11-09 06:53:15 UTC)
#41
Message was sent while issue was closed.
Description was changed from
==========
Implementation of WritableStream
Implement WritableStream as specified in the Streams standard:
https://streams.spec.whatwg.org/#ws
The implementation is in Javascript using V8 Extras, similar to
ReadableStream.js. Currently WritableStream is behind a flag.
The implementation follows ReadableStream.js closely, except that internal slots
are prefixed with an underscore instead of the name of the class, to make
comparison with the standard text easier.
Layout tests have been imported from
reference-implementation/to-upstream-wpts/writable-streams/ in the Stream
Standard repository:
https://github.com/whatwg/streams/tree/master/reference-implementation/to-ups...
They will be upstreamed to the w3c web-platform-tests and used from there in
future.
test-initializer.js is from w3c/web-platform-tests.
BUG=658144
==========
to
==========
Implementation of WritableStream
Implement WritableStream as specified in the Streams standard:
https://streams.spec.whatwg.org/#ws
The implementation is in Javascript using V8 Extras, similar to
ReadableStream.js. Currently WritableStream is behind a flag.
The implementation follows ReadableStream.js closely, except that internal slots
are prefixed with an underscore instead of the name of the class, to make
comparison with the standard text easier.
Layout tests have been imported from
reference-implementation/to-upstream-wpts/writable-streams/ in the Stream
Standard repository:
https://github.com/whatwg/streams/tree/master/reference-implementation/to-ups...
They will be upstreamed to the w3c web-platform-tests and used from there in
future.
test-initializer.js is from w3c/web-platform-tests.
BUG=658144
Committed: https://crrev.com/4162a4a2c1e2e897b65e769d5f8e6d3fcd0e0da7
Cr-Commit-Position: refs/heads/master@{#430881}
==========
commit-bot: I haz the power
Patchset 7 (id:??) landed as https://crrev.com/4162a4a2c1e2e897b65e769d5f8e6d3fcd0e0da7 Cr-Commit-Position: refs/heads/master@{#430881}
4 years, 1 month ago
(2016-11-09 06:53:16 UTC)
#42
Issue 2453713003: Implementation of WritableStream
(Closed)
Created 4 years, 1 month ago by Adam Rice
Modified 4 years, 1 month ago
Reviewers: brettw, tyoshino (SeeGerritForStatus), domenic
Base URL:
Comments: 66