New issue
Advanced search Search tips

Issue 710728 link

Starred by 4 users

Issue metadata

Status: Fixed
Owner:
Closed: Jul 23
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Android , Windows , Chrome , Mac
Pri: 3
Type: Compat



Sign in to add a comment

Update ReadableStream to latest standard version

Project Member Reported by ricea@chromium.org, Apr 12 2017

Issue description

The ReadableStream implementation in Chrome has not been kept up-to-date with recent standard changes.

This issue does not cover the implementation of byte streams, which is tracked separately in issue 614302.

This issue also doesn't cover pipeTo() and pipeThrough(), which have been implemented against a newer version of the standard.

Subtasks:
1. Identify which version of the standard Blink's ReadableStream currently corresponds to.
2. Write web-platform-tests for differences between the old standard and the latest standard text which are user-visible but aren't covered by tests.
3. [Optional] Move functions around in ReadableStream.js to match the order in the standard, to make side-by-side comparison easier.
4. Update ReadableStream.js to match the current standard.
5. Triage any remaining streams test failures.
6. Check for new breakage in the Blink and wpt fetch tests, and triage if necessary.
 

Comment 1 by ricea@chromium.org, Apr 12 2017

Owner: ricea@chromium.org
Status: Assigned (was: Available)
Project Member

Comment 2 by bugdroid1@chromium.org, Dec 13 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/abeaa5ea4d887df711d113099fee2a81327c6f1d

commit abeaa5ea4d887df711d113099fee2a81327c6f1d
Author: Adam Rice <ricea@chromium.org>
Date: Wed Dec 13 10:54:16 2017

Re-order ReadableStream.js

Change the order of functions in ReadableStream.js to match the standard. This
will make it easier to update the implementation to match changes to the
standard.

No functional changes.

This corresponds to step 3 of  issue 710728 .

Verified identical to the previous version once comments and blank lines are
removed and the file is sorted by function.

Bug:  710728 
Change-Id: I8b0ae4ad41aa5e84f234901560ad6f97e6319001
Reviewed-on: https://chromium-review.googlesource.com/821955
Reviewed-by: Takeshi Yoshino <tyoshino@chromium.org>
Commit-Queue: Adam Rice <ricea@chromium.org>
Cr-Commit-Position: refs/heads/master@{#523739}
[modify] https://crrev.com/abeaa5ea4d887df711d113099fee2a81327c6f1d/third_party/WebKit/Source/core/streams/ReadableStream.js

Comment 3 by ricea@chromium.org, Mar 27 2018

Labels: -Type-Bug Type-Compat

Comment 4 by ricea@chromium.org, Apr 5 2018

Cc: ricea@chromium.org robertma@chromium.org domenic@chromium.org
 Issue 828500  has been merged into this issue.
Project Member

Comment 5 by bugdroid1@chromium.org, Apr 6 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/77dce2d64b6142e168be8dbce94301a2cc827bf9

commit 77dce2d64b6142e168be8dbce94301a2cc827bf9
Author: Adam Rice <ricea@chromium.org>
Date: Fri Apr 06 15:41:31 2018

Update ReadableStream to latest standard version

Update Blink's implementation of ReadableStream to
https://streams.spec.whatwg.org/commit-snapshots/37ace3d5f16cbea7aec4a0c80532c95059994d51/

This also updates TransformStream to use CreateReadableStream() instead
of calling the ReadableStream constructor.

Several common operations have become unused and have been removed.

The EXTERNALLY_CONTROLLED flag has been renamed to the slightly more
specific name "BLINK_LOCK_NOTIFICATIONS".

All external/wpt/streams/readable-streams tests now pass, and failing
expectations have been removed.

Most changes were already covered by the web-platform-tests. A new
readable-streams/patched-global.js test verifies that
ReadableStreamTee() does not use the global ReadableStream constructor
or otherwise touch the global object.

BUG= 710728 

Change-Id: I2b799045f47376adef305f5f88ad106161425b46
Reviewed-on: https://chromium-review.googlesource.com/992077
Commit-Queue: Adam Rice <ricea@chromium.org>
Reviewed-by: Yutaka Hirano <yhirano@chromium.org>
Cr-Commit-Position: refs/heads/master@{#548784}
[delete] https://crrev.com/f14109feb8f96c236dcf523b4177e2c9cbb0d3b1/third_party/WebKit/LayoutTests/external/wpt/streams/readable-streams/bad-underlying-sources-expected.txt
[delete] https://crrev.com/f14109feb8f96c236dcf523b4177e2c9cbb0d3b1/third_party/WebKit/LayoutTests/external/wpt/streams/readable-streams/bad-underlying-sources.dedicatedworker-expected.txt
[delete] https://crrev.com/f14109feb8f96c236dcf523b4177e2c9cbb0d3b1/third_party/WebKit/LayoutTests/external/wpt/streams/readable-streams/bad-underlying-sources.serviceworker.https-expected.txt
[delete] https://crrev.com/f14109feb8f96c236dcf523b4177e2c9cbb0d3b1/third_party/WebKit/LayoutTests/external/wpt/streams/readable-streams/bad-underlying-sources.sharedworker-expected.txt
[delete] https://crrev.com/f14109feb8f96c236dcf523b4177e2c9cbb0d3b1/third_party/WebKit/LayoutTests/external/wpt/streams/readable-streams/default-reader-expected.txt
[delete] https://crrev.com/f14109feb8f96c236dcf523b4177e2c9cbb0d3b1/third_party/WebKit/LayoutTests/external/wpt/streams/readable-streams/default-reader.dedicatedworker-expected.txt
[delete] https://crrev.com/f14109feb8f96c236dcf523b4177e2c9cbb0d3b1/third_party/WebKit/LayoutTests/external/wpt/streams/readable-streams/default-reader.serviceworker.https-expected.txt
[delete] https://crrev.com/f14109feb8f96c236dcf523b4177e2c9cbb0d3b1/third_party/WebKit/LayoutTests/external/wpt/streams/readable-streams/default-reader.sharedworker-expected.txt
[delete] https://crrev.com/f14109feb8f96c236dcf523b4177e2c9cbb0d3b1/third_party/WebKit/LayoutTests/external/wpt/streams/readable-streams/garbage-collection-expected.txt
[delete] https://crrev.com/f14109feb8f96c236dcf523b4177e2c9cbb0d3b1/third_party/WebKit/LayoutTests/external/wpt/streams/readable-streams/garbage-collection.dedicatedworker-expected.txt
[delete] https://crrev.com/f14109feb8f96c236dcf523b4177e2c9cbb0d3b1/third_party/WebKit/LayoutTests/external/wpt/streams/readable-streams/garbage-collection.serviceworker.https-expected.txt
[delete] https://crrev.com/f14109feb8f96c236dcf523b4177e2c9cbb0d3b1/third_party/WebKit/LayoutTests/external/wpt/streams/readable-streams/garbage-collection.sharedworker-expected.txt
[delete] https://crrev.com/f14109feb8f96c236dcf523b4177e2c9cbb0d3b1/third_party/WebKit/LayoutTests/external/wpt/streams/readable-streams/general-expected.txt
[delete] https://crrev.com/f14109feb8f96c236dcf523b4177e2c9cbb0d3b1/third_party/WebKit/LayoutTests/external/wpt/streams/readable-streams/general.dedicatedworker-expected.txt
[delete] https://crrev.com/f14109feb8f96c236dcf523b4177e2c9cbb0d3b1/third_party/WebKit/LayoutTests/external/wpt/streams/readable-streams/general.serviceworker.https-expected.txt
[delete] https://crrev.com/f14109feb8f96c236dcf523b4177e2c9cbb0d3b1/third_party/WebKit/LayoutTests/external/wpt/streams/readable-streams/general.sharedworker-expected.txt
[add] https://crrev.com/77dce2d64b6142e168be8dbce94301a2cc827bf9/third_party/WebKit/LayoutTests/external/wpt/streams/readable-streams/patched-global.dedicatedworker.html
[add] https://crrev.com/77dce2d64b6142e168be8dbce94301a2cc827bf9/third_party/WebKit/LayoutTests/external/wpt/streams/readable-streams/patched-global.html
[add] https://crrev.com/77dce2d64b6142e168be8dbce94301a2cc827bf9/third_party/WebKit/LayoutTests/external/wpt/streams/readable-streams/patched-global.js
[add] https://crrev.com/77dce2d64b6142e168be8dbce94301a2cc827bf9/third_party/WebKit/LayoutTests/external/wpt/streams/readable-streams/patched-global.serviceworker.https.html
[add] https://crrev.com/77dce2d64b6142e168be8dbce94301a2cc827bf9/third_party/WebKit/LayoutTests/external/wpt/streams/readable-streams/patched-global.sharedworker.html
[modify] https://crrev.com/77dce2d64b6142e168be8dbce94301a2cc827bf9/third_party/WebKit/Source/core/streams/CommonOperations.js
[modify] https://crrev.com/77dce2d64b6142e168be8dbce94301a2cc827bf9/third_party/WebKit/Source/core/streams/ReadableStream.js
[modify] https://crrev.com/77dce2d64b6142e168be8dbce94301a2cc827bf9/third_party/WebKit/Source/core/streams/TransformStream.js

Status: Fixed (was: Assigned)
Closing this since the hard part is done.

Issue 866388 covers newer updates.

Sign in to add a comment