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

Issue 2453713003: Implementation of WritableStream (Closed)

Created:
4 years, 1 month ago by Adam Rice
Modified:
4 years, 1 month ago
CC:
blink-reviews, chromium-reviews
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

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}

Patch Set 1 #

Patch Set 2 : First working version. Import layout tests. #

Patch Set 3 : Add global-interface-listing-service-worker #

Total comments: 48

Patch Set 4 : Many fixes from tyoshino review #

Total comments: 18

Patch Set 5 : Changes from domenic's review #

Patch Set 6 : Use absolute paths in v8.gni #

Patch Set 7 : Add missing return to promise_test #

Unified diffs Side-by-side diffs Delta from patch set Stats (+2106 lines, -36 lines) Patch
M build_overrides/v8.gni View 1 2 3 4 5 1 chunk +5 lines, -4 lines 0 comments Download
M third_party/WebKit/LayoutTests/http/tests/serviceworker/webexposed/global-interface-listing-service-worker-expected.txt View 1 2 1 chunk +5 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/http/tests/streams/resources/recording-streams.js View 1 1 chunk +90 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/http/tests/streams/resources/test-initializer.js View 1 1 chunk +14 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/http/tests/streams/writable-streams/aborting.js View 1 1 chunk +223 lines, -0 lines 0 comments Download
A + third_party/WebKit/LayoutTests/http/tests/streams/writable-streams/aborting.https.html View 1 1 chunk +4 lines, -4 lines 0 comments Download
A third_party/WebKit/LayoutTests/http/tests/streams/writable-streams/bad-underlying-sinks.js View 1 1 chunk +112 lines, -0 lines 0 comments Download
A + third_party/WebKit/LayoutTests/http/tests/streams/writable-streams/bad-underlying-sinks.https.html View 1 1 chunk +5 lines, -5 lines 0 comments Download
A third_party/WebKit/LayoutTests/http/tests/streams/writable-streams/close.js View 1 1 chunk +143 lines, -0 lines 0 comments Download
A + third_party/WebKit/LayoutTests/http/tests/streams/writable-streams/close.https.html View 1 1 chunk +5 lines, -5 lines 0 comments Download
A third_party/WebKit/LayoutTests/http/tests/streams/writable-streams/constructor.js View 1 1 chunk +148 lines, -0 lines 0 comments Download
A + third_party/WebKit/LayoutTests/http/tests/streams/writable-streams/constructor.https.html View 1 1 chunk +3 lines, -4 lines 0 comments Download
A third_party/WebKit/LayoutTests/http/tests/streams/writable-streams/general.js View 1 1 chunk +155 lines, -0 lines 0 comments Download
A + third_party/WebKit/LayoutTests/http/tests/streams/writable-streams/general.https.html View 1 1 chunk +3 lines, -4 lines 0 comments Download
A third_party/WebKit/LayoutTests/http/tests/streams/writable-streams/start.js View 1 1 chunk +107 lines, -0 lines 0 comments Download
A + third_party/WebKit/LayoutTests/http/tests/streams/writable-streams/start.https.html View 1 1 chunk +5 lines, -5 lines 0 comments Download
A third_party/WebKit/LayoutTests/http/tests/streams/writable-streams/write.js View 1 2 3 4 5 6 1 chunk +228 lines, -0 lines 0 comments Download
A + third_party/WebKit/LayoutTests/http/tests/streams/writable-streams/write.https.html View 1 1 chunk +5 lines, -5 lines 0 comments Download
M third_party/WebKit/LayoutTests/http/tests/worklet/webexposed/global-interface-listing-paint-worklet-expected.txt View 1 1 chunk +5 lines, -0 lines 0 comments Download
M third_party/WebKit/LayoutTests/virtual/service-worker-navigation-preload/http/tests/serviceworker/webexposed/global-interface-listing-service-worker-expected.txt View 1 2 1 chunk +5 lines, -0 lines 0 comments Download
M third_party/WebKit/LayoutTests/webexposed/global-interface-listing-compositor-worker-expected.txt View 1 1 chunk +5 lines, -0 lines 0 comments Download
M third_party/WebKit/LayoutTests/webexposed/global-interface-listing-dedicated-worker-expected.txt View 1 2 1 chunk +5 lines, -0 lines 0 comments Download
M third_party/WebKit/LayoutTests/webexposed/global-interface-listing-expected.txt View 1 2 1 chunk +5 lines, -0 lines 0 comments Download
M third_party/WebKit/LayoutTests/webexposed/global-interface-listing-shared-worker-expected.txt View 1 2 1 chunk +5 lines, -0 lines 0 comments Download
A third_party/WebKit/Source/core/streams/WritableStream.js View 1 2 3 4 1 chunk +816 lines, -0 lines 0 comments Download

Messages

Total messages: 42 (24 generated)
Adam Rice
4 years, 1 month ago (2016-10-31 12:37:21 UTC) #9
tyoshino (SeeGerritForStatus)
Please say that: - the tests are from reference-implementation/to-upstream-wpts/writable-streams/ of the Streams repo - test-initializer.js ...
4 years, 1 month ago (2016-11-01 04:58:05 UTC) #14
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
tyoshino (SeeGerritForStatus)
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-01 05:54:10 UTC) #19
tyoshino (SeeGerritForStatus)
review done. great. 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#newcode80 third_party/WebKit/Source/core/streams/WritableStream.js:80: const errDesiredSizeReleasedLock = 'Attempt to read ...
4 years, 1 month ago (2016-11-01 07:43:41 UTC) #20
Adam Rice
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
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
Adam Rice
+domenic take a look if you have time +brettw for v8.gni
4 years, 1 month ago (2016-11-04 11:38:14 UTC) #24
domenic
LGTM with nits, but there are some notable follow-up issues to deal with. I am ...
4 years, 1 month ago (2016-11-04 17:32:17 UTC) #26
Adam Rice
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
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
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
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
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2453713003/100001
4 years, 1 month ago (2016-11-08 23:36:06 UTC) #33
commit-bot: I haz the power
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
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2453713003/120001
4 years, 1 month ago (2016-11-09 05:19:01 UTC) #38
commit-bot: I haz the power
Committed patchset #7 (id:120001)
4 years, 1 month ago (2016-11-09 06:50:11 UTC) #40
commit-bot: I haz the power
4 years, 1 month ago (2016-11-09 06:53:16 UTC) #42
Message was sent while issue was closed.
Patchset 7 (id:??) landed as
https://crrev.com/4162a4a2c1e2e897b65e769d5f8e6d3fcd0e0da7
Cr-Commit-Position: refs/heads/master@{#430881}

Powered by Google App Engine
This is Rietveld 408576698