Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(156)

Issue 1404523005: Implement author-constructible ReadableStream using V8 extras (Closed)

Created:
5 years, 2 months ago by domenic
Modified:
5 years ago
CC:
blink-reviews, Inactive, chromium-reviews, vivekg_samsung, vivekg
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Implement author-constructible ReadableStream using V8 extras This implements the ReadableStream and CountQueuingStrategy classes from the Streams Standard using V8 extras. They are marked experimental. The implementation follows the spec and reference implementation very closely. The IDL implementation of ReadableStream is no longer exposed to the global scope; it was not usable in any way. But, to avoid any breakage in the interim, we introduce a non-experimental ReadableStreamTempStub.js V8 extra that replaces the IDL implementation with equivalent (non-)functionality. Further work will be necessary to integrate this implementation with Fetch, replacing Fetch's use of ReadableByteStream, before we can completely remove the existing implementation. The current implementation landscape is explained in the new README.md file in this directory. The tests are drawn from https://github.com/whatwg/streams/tree/master/reference-implementation/web-platform-tests. BUG=503491 R=yhirano@chromium.org,jochen@chromium.org Committed: https://crrev.com/5ba05470cb4c1faece2db12886b09148ef2456ee Cr-Commit-Position: refs/heads/master@{#362201}

Patch Set 1 #

Total comments: 8

Patch Set 2 : Address review comments; add readme #

Patch Set 3 : Extract out error messages. Update webexposed. #

Patch Set 4 : Fix syntax error; use bit field for booleans #

Patch Set 5 : Moar arrow functions #

Total comments: 3

Patch Set 6 : Update with latest imported tests from upstream #

Total comments: 2

Patch Set 7 : Update tests and small impl tweak #

Patch Set 8 : Add license headers #

Patch Set 9 : Rebase #

Patch Set 10 : Tweak timeouts #

Patch Set 11 : More timeout tweaks #

Patch Set 12 : We don't have the latest testharness.js #

Patch Set 13 : Minor test tweaks #

Unified diffs Side-by-side diffs Delta from patch set Stats (+4934 lines, -31 lines) Patch
M build/common.gypi View 1 2 3 4 5 6 7 8 1 chunk +3 lines, -0 lines 0 comments Download
M build_overrides/v8.gni View 1 2 3 4 5 6 7 8 1 chunk +7 lines, -3 lines 0 comments Download
M third_party/WebKit/LayoutTests/http/tests/serviceworker/webexposed/global-interface-listing-service-worker-expected.txt View 1 2 3 4 5 6 7 8 2 chunks +5 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/http/tests/streams/README.md View 1 chunk +5 lines, -0 lines 0 comments Download
M third_party/WebKit/LayoutTests/http/tests/streams/byte-length-queuing-strategy.js View 1 2 3 4 5 6 5 chunks +21 lines, -9 lines 0 comments Download
A third_party/WebKit/LayoutTests/http/tests/streams/count-queuing-strategy.html View 1 chunk +13 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/http/tests/streams/count-queuing-strategy.js View 1 2 3 4 5 6 1 chunk +106 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/http/tests/streams/readable-streams/bad-strategies.html View 1 chunk +13 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/http/tests/streams/readable-streams/bad-strategies.js View 1 2 3 4 5 6 1 chunk +122 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/http/tests/streams/readable-streams/bad-underlying-sources.html View 1 chunk +13 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/http/tests/streams/readable-streams/bad-underlying-sources.js View 1 2 3 4 5 6 1 chunk +383 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/http/tests/streams/readable-streams/brand-checks.html View 1 chunk +14 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/http/tests/streams/readable-streams/brand-checks.js View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +151 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/http/tests/streams/readable-streams/cancel.html View 1 2 3 4 5 6 1 chunk +15 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/http/tests/streams/readable-streams/cancel.js View 1 2 3 4 5 6 1 chunk +239 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/http/tests/streams/readable-streams/count-queuing-strategy-integration.html View 1 chunk +13 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/http/tests/streams/readable-streams/count-queuing-strategy-integration.js View 1 2 3 4 5 6 1 chunk +213 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/http/tests/streams/readable-streams/garbage-collection.html View 1 chunk +14 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/http/tests/streams/readable-streams/garbage-collection.js View 1 chunk +75 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/http/tests/streams/readable-streams/general.html View 1 2 3 4 5 6 1 chunk +15 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/http/tests/streams/readable-streams/general.js View 1 2 3 4 5 6 1 chunk +829 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/http/tests/streams/readable-streams/readable-stream-reader.html View 1 chunk +13 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/http/tests/streams/readable-streams/readable-stream-reader.js View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +485 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/http/tests/streams/readable-streams/tee.html View 1 chunk +14 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/http/tests/streams/readable-streams/tee.js View 1 2 3 4 5 6 1 chunk +254 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/http/tests/streams/readable-streams/templated.html View 1 2 3 4 5 6 7 8 9 10 1 chunk +16 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/http/tests/streams/readable-streams/templated.js View 1 2 3 4 5 6 1 chunk +148 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/http/tests/streams/resources/rs-test-templates.js View 1 2 3 4 5 6 7 8 9 1 chunk +622 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/http/tests/streams/resources/rs-utils.js View 1 2 3 4 5 6 1 chunk +185 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/http/tests/streams/resources/test-utils.js View 1 2 3 4 5 6 10 11 1 chunk +43 lines, -0 lines 0 comments Download
M third_party/WebKit/LayoutTests/webexposed/global-interface-listing-compositor-worker-expected.txt View 1 2 3 4 5 6 7 8 2 chunks +9 lines, -0 lines 0 comments Download
M third_party/WebKit/LayoutTests/webexposed/global-interface-listing-dedicated-worker-expected.txt View 1 2 3 4 5 6 7 8 2 chunks +5 lines, -0 lines 0 comments Download
M third_party/WebKit/LayoutTests/webexposed/global-interface-listing-expected.txt View 1 2 3 4 5 6 7 8 2 chunks +5 lines, -0 lines 0 comments Download
M third_party/WebKit/LayoutTests/webexposed/global-interface-listing-shared-worker-expected.txt View 1 2 3 4 5 6 7 8 2 chunks +5 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/core.gypi View 1 2 3 4 5 6 7 8 1 chunk +0 lines, -1 line 0 comments Download
M third_party/WebKit/Source/core/streams/ByteLengthQueuingStrategy.js View 1 2 3 4 5 6 7 1 chunk +4 lines, -0 lines 0 comments Download
A + third_party/WebKit/Source/core/streams/CountQueuingStrategy.js View 1 2 3 4 5 6 7 2 chunks +8 lines, -4 lines 0 comments Download
A third_party/WebKit/Source/core/streams/README.md View 1 2 3 4 5 6 1 chunk +41 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/streams/ReadableByteStream.h View 1 2 3 4 5 6 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/core/streams/ReadableStream.h View 1 2 3 4 5 6 1 chunk +1 line, -2 lines 0 comments Download
M third_party/WebKit/Source/core/streams/ReadableStream.idl View 1 2 3 4 5 6 1 chunk +0 lines, -11 lines 0 comments Download
A third_party/WebKit/Source/core/streams/ReadableStream.js View 1 2 3 4 5 6 7 1 chunk +765 lines, -0 lines 0 comments Download
A third_party/WebKit/Source/core/streams/ReadableStreamTempStub.js View 1 2 3 4 5 6 7 1 chunk +41 lines, -0 lines 0 comments Download

Messages

Total messages: 46 (13 generated)
domenic
This is not quite ready to land but it is ready for review. After we ...
5 years, 2 months ago (2015-10-13 23:01:00 UTC) #1
yhirano
https://codereview.chromium.org/1404523005/diff/1/third_party/WebKit/LayoutTests/http/tests/streams/readable-streams/bad-strategies.js File third_party/WebKit/LayoutTests/http/tests/streams/readable-streams/bad-strategies.js (right): https://codereview.chromium.org/1404523005/diff/1/third_party/WebKit/LayoutTests/http/tests/streams/readable-streams/bad-strategies.js#newcode21 third_party/WebKit/LayoutTests/http/tests/streams/readable-streams/bad-strategies.js:21: test1.step(function() { Can you use promise_test instead of async_test? ...
5 years, 2 months ago (2015-10-14 10:28:49 UTC) #2
domenic
https://codereview.chromium.org/1404523005/diff/1/third_party/WebKit/LayoutTests/http/tests/streams/readable-streams/bad-strategies.js File third_party/WebKit/LayoutTests/http/tests/streams/readable-streams/bad-strategies.js (right): https://codereview.chromium.org/1404523005/diff/1/third_party/WebKit/LayoutTests/http/tests/streams/readable-streams/bad-strategies.js#newcode21 third_party/WebKit/LayoutTests/http/tests/streams/readable-streams/bad-strategies.js:21: test1.step(function() { On 2015/10/14 at 10:28:49, yhirano wrote: > ...
5 years, 2 months ago (2015-10-14 16:25:31 UTC) #3
domenic
OK, after today's changes, I think this is ready to merge (when you are happy ...
5 years, 2 months ago (2015-10-14 22:07:44 UTC) #4
yhirano
Hm, then what do you want me to do? Should I review tests in this ...
5 years, 2 months ago (2015-10-15 06:04:40 UTC) #5
yhirano
https://codereview.chromium.org/1404523005/diff/80001/third_party/WebKit/Source/core/streams/ReadableStream.idl File third_party/WebKit/Source/core/streams/ReadableStream.idl (right): https://codereview.chromium.org/1404523005/diff/80001/third_party/WebKit/Source/core/streams/ReadableStream.idl#newcode7 third_party/WebKit/Source/core/streams/ReadableStream.idl:7: // streams, and so we can't remove it quite ...
5 years, 2 months ago (2015-10-15 08:04:55 UTC) #6
yhirano
https://codereview.chromium.org/1404523005/diff/80001/third_party/WebKit/Source/core/streams/ReadableStream.idl File third_party/WebKit/Source/core/streams/ReadableStream.idl (right): https://codereview.chromium.org/1404523005/diff/80001/third_party/WebKit/Source/core/streams/ReadableStream.idl#newcode7 third_party/WebKit/Source/core/streams/ReadableStream.idl:7: // streams, and so we can't remove it quite ...
5 years, 2 months ago (2015-10-15 08:07:13 UTC) #7
domenic
On 2015/10/15 at 06:04:40, yhirano wrote: > Hm, then what do you want me to ...
5 years, 2 months ago (2015-10-15 15:58:50 UTC) #8
domenic
https://codereview.chromium.org/1404523005/diff/80001/third_party/WebKit/Source/core/streams/ReadableStream.idl File third_party/WebKit/Source/core/streams/ReadableStream.idl (right): https://codereview.chromium.org/1404523005/diff/80001/third_party/WebKit/Source/core/streams/ReadableStream.idl#newcode7 third_party/WebKit/Source/core/streams/ReadableStream.idl:7: // streams, and so we can't remove it quite ...
5 years, 2 months ago (2015-10-15 16:01:42 UTC) #9
domenic
Ping. What are my remaining action items? Do I need to change all the tests ...
5 years, 2 months ago (2015-10-19 20:37:52 UTC) #10
yhirano
On 2015/10/19 20:37:52, domenic wrote: > Ping. What are my remaining action items? Do I ...
5 years, 2 months ago (2015-10-20 01:38:15 UTC) #11
domenic
On 2015/10/20 at 01:38:15, yhirano wrote: > On 2015/10/19 20:37:52, domenic wrote: > > Ping. ...
5 years, 2 months ago (2015-10-20 02:01:56 UTC) #12
yhirano
On 2015/10/20 02:01:56, domenic wrote: > On 2015/10/20 at 01:38:15, yhirano wrote: > > On ...
5 years, 2 months ago (2015-10-20 14:16:15 UTC) #13
yhirano
+jochen Jochen, should we write anything to import code and tests which are under cc0? ...
5 years, 2 months ago (2015-10-21 03:45:27 UTC) #15
jochen (gone - plz use gerrit)
we can't use cc0 licensed stuff. please find a substitue or rewrite from scratch
5 years, 1 month ago (2015-11-02 19:06:07 UTC) #16
yhirano
On 2015/11/02 19:06:07, jochen wrote: > we can't use cc0 licensed stuff. please find a ...
5 years, 1 month ago (2015-11-04 10:31:11 UTC) #17
domenic
https://codereview.chromium.org/1404523005/diff/100001/third_party/WebKit/Source/core/streams/ReadableStream.idl File third_party/WebKit/Source/core/streams/ReadableStream.idl (right): https://codereview.chromium.org/1404523005/diff/100001/third_party/WebKit/Source/core/streams/ReadableStream.idl#newcode12 third_party/WebKit/Source/core/streams/ReadableStream.idl:12: NoInterfaceObject Probably a better idea: use Exposed=(Window FeatureThatIsV8ExtrasNegated, Worker ...
5 years, 1 month ago (2015-11-11 21:56:08 UTC) #18
domenic
Tests have been updated to use promise_test throughout. (See changes at https://github.com/whatwg/streams/pull/408.) Implementation strategy for ...
5 years ago (2015-11-24 23:28:47 UTC) #20
domenic
On 2015/11/24 at 23:28:47, domenic wrote: > Tests have been updated to use promise_test throughout. ...
5 years ago (2015-11-24 23:34:01 UTC) #21
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1404523005/120001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1404523005/120001
5 years ago (2015-11-24 23:51:02 UTC) #23
commit-bot: I haz the power
Dry run: No L-G-T-M from a valid reviewer yet. Only full committers are accepted. Even ...
5 years ago (2015-11-24 23:51:04 UTC) #25
yhirano
On 2015/11/24 23:34:01, domenic wrote: > On 2015/11/24 at 23:28:47, domenic wrote: > > Tests ...
5 years ago (2015-11-25 02:12:16 UTC) #26
domenic
On 2015/11/25 at 02:12:16, yhirano wrote: > On 2015/11/24 23:34:01, domenic wrote: > > On ...
5 years ago (2015-11-25 16:00:45 UTC) #27
yhirano
lgtm
5 years ago (2015-11-25 16:08:46 UTC) #28
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1404523005/140001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1404523005/140001
5 years ago (2015-11-25 16:11:00 UTC) #30
commit-bot: I haz the power
Try jobs failed on following builders: cast_shell_android on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/cast_shell_android/builds/83989) cast_shell_linux on tryserver.chromium.linux (JOB_FAILED, ...
5 years ago (2015-11-25 16:14:40 UTC) #32
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1404523005/160001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1404523005/160001
5 years ago (2015-11-25 17:29:43 UTC) #35
commit-bot: I haz the power
Try jobs failed on following builders: chromium_presubmit on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromium_presubmit/builds/122273)
5 years ago (2015-11-25 17:41:33 UTC) #37
domenic
On 2015/11/25 at 17:29:43, commit-bot wrote: > CQ is trying da patch. Follow status at ...
5 years ago (2015-11-25 17:41:55 UTC) #38
jochen (gone - plz use gerrit)
lgtm
5 years ago (2015-11-26 13:22:32 UTC) #40
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1404523005/240001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1404523005/240001
5 years ago (2015-11-30 18:28:19 UTC) #43
commit-bot: I haz the power
Committed patchset #13 (id:240001)
5 years ago (2015-11-30 20:09:47 UTC) #44
commit-bot: I haz the power
5 years ago (2015-11-30 20:10:55 UTC) #46
Message was sent while issue was closed.
Patchset 13 (id:??) landed as
https://crrev.com/5ba05470cb4c1faece2db12886b09148ef2456ee
Cr-Commit-Position: refs/heads/master@{#362201}

Powered by Google App Engine
This is Rietveld 408576698