<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[265548] trunk</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/265548">265548</a></dd>
<dt>Author</dt> <dd>youenn@apple.com</dd>
<dt>Date</dt> <dd>2020-08-12 05:25:49 -0700 (Wed, 12 Aug 2020)</dd>
</dl>

<h3>Log Message</h3>
<pre>Refresh WritableStream up to spec
https://bugs.webkit.org/show_bug.cgi?id=215267

Reviewed by Geoff Garen.

LayoutTests/imported/w3c:

* web-platform-tests/encoding/streams/realms.window-expected.txt:
* web-platform-tests/fetch/api/response/response-stream-disturbed-by-pipe.any-expected.txt:
* web-platform-tests/fetch/api/response/response-stream-disturbed-by-pipe.any.worker-expected.txt:
* web-platform-tests/streams/idlharness.any-expected.txt:
* web-platform-tests/streams/idlharness.any.worker-expected.txt:
* web-platform-tests/streams/piping/abort.any-expected.txt:
* web-platform-tests/streams/piping/abort.any.worker-expected.txt:
* web-platform-tests/streams/piping/close-propagation-backward.any-expected.txt:
* web-platform-tests/streams/piping/close-propagation-backward.any.worker-expected.txt:
* web-platform-tests/streams/piping/close-propagation-forward.any-expected.txt:
* web-platform-tests/streams/piping/close-propagation-forward.any.worker-expected.txt:
* web-platform-tests/streams/piping/error-propagation-backward.any-expected.txt:
* web-platform-tests/streams/piping/error-propagation-backward.any.worker-expected.txt:
* web-platform-tests/streams/piping/error-propagation-forward.any-expected.txt:
* web-platform-tests/streams/piping/error-propagation-forward.any.worker-expected.txt:
* web-platform-tests/streams/piping/flow-control.any-expected.txt:
* web-platform-tests/streams/piping/flow-control.any.worker-expected.txt:
* web-platform-tests/streams/piping/general.any-expected.txt:
* web-platform-tests/streams/piping/general.any.worker-expected.txt:
* web-platform-tests/streams/piping/multiple-propagation.any-expected.txt:
* web-platform-tests/streams/piping/multiple-propagation.any.worker-expected.txt:
* web-platform-tests/streams/piping/pipe-through.any-expected.txt:
* web-platform-tests/streams/piping/pipe-through.any.worker-expected.txt:
* web-platform-tests/streams/piping/then-interception.any-expected.txt:
* web-platform-tests/streams/piping/then-interception.any.worker-expected.txt:
* web-platform-tests/streams/piping/throwing-options.any-expected.txt:
* web-platform-tests/streams/transform-streams/patched-global.any.worker-expected.txt:
* web-platform-tests/streams/readable-streams/patched-global.any-expected.txt:
* web-platform-tests/streams/readable-streams/patched-global.any.worker-expected.txt:
* web-platform-tests/streams/readable-streams/reentrant-strategies.any-expected.txt:
* web-platform-tests/streams/readable-streams/reentrant-strategies.any.worker-expected.txt:
* web-platform-tests/streams/transform-streams/reentrant-strategies.any.worker-expected.txt:
* web-platform-tests/streams/writable-streams/aborting.any-expected.txt:
* web-platform-tests/streams/writable-streams/aborting.any.worker-expected.txt:
* web-platform-tests/streams/writable-streams/bad-strategies.any-expected.txt:
* web-platform-tests/streams/writable-streams/bad-strategies.any.worker-expected.txt:
* web-platform-tests/streams/writable-streams/bad-underlying-sinks.any-expected.txt:
* web-platform-tests/streams/writable-streams/bad-underlying-sinks.any.worker-expected.txt:
* web-platform-tests/streams/writable-streams/byte-length-queuing-strategy.any-expected.txt:
* web-platform-tests/streams/writable-streams/byte-length-queuing-strategy.any.worker-expected.txt:
* web-platform-tests/streams/writable-streams/close.any-expected.txt:
* web-platform-tests/streams/writable-streams/close.any.worker-expected.txt:
* web-platform-tests/streams/writable-streams/constructor.any-expected.txt:
* web-platform-tests/streams/writable-streams/constructor.any.worker-expected.txt:
* web-platform-tests/streams/writable-streams/count-queuing-strategy.any-expected.txt:
* web-platform-tests/streams/writable-streams/count-queuing-strategy.any.worker-expected.txt:
* web-platform-tests/streams/writable-streams/error.any-expected.txt:
* web-platform-tests/streams/writable-streams/error.any.worker-expected.txt:
* web-platform-tests/streams/writable-streams/floating-point-total-queue-size.any-expected.txt:
* web-platform-tests/streams/writable-streams/floating-point-total-queue-size.any.worker-expected.txt:
* web-platform-tests/streams/writable-streams/general.any-expected.txt:
* web-platform-tests/streams/writable-streams/general.any.worker-expected.txt:
* web-platform-tests/streams/writable-streams/properties.any-expected.txt:
* web-platform-tests/streams/writable-streams/properties.any.worker-expected.txt:
* web-platform-tests/streams/writable-streams/reentrant-strategy.any-expected.txt:
* web-platform-tests/streams/writable-streams/reentrant-strategy.any.worker-expected.txt:
* web-platform-tests/streams/writable-streams/start.any-expected.txt:
* web-platform-tests/streams/writable-streams/start.any.js:
* web-platform-tests/streams/writable-streams/start.any.worker-expected.txt:
* web-platform-tests/streams/writable-streams/write.any-expected.txt:
* web-platform-tests/streams/writable-streams/write.any.worker-expected.txt:
* web-platform-tests/workers/semantics/interface-objects/001.worker-expected.txt:
* web-platform-tests/workers/semantics/interface-objects/002.worker-expected.txt:

Source/WebCore:

Update according latest spec, including WebIDL, controller and writer.
Covered by rebased tests.

* CMakeLists.txt:
* DerivedSources-input.xcfilelist:
* DerivedSources-output.xcfilelist:
* DerivedSources.make:
* Modules/streams/StreamInternals.js:
* Modules/streams/WritableStream.idl:
* Modules/streams/WritableStream.js:
* Modules/streams/WritableStreamDefaultController.idl: Added.
* Modules/streams/WritableStreamDefaultController.js: Added.
* Modules/streams/WritableStreamDefaultWriter.idl: Added.
* Modules/streams/WritableStreamDefaultWriter.js: Added.
* Modules/streams/WritableStreamInternals.js:
* Sources.txt:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/WebCoreBuiltinNames.h:

Source/WebKit:

* Shared/WebPreferences.yaml:
Add a dedicated runtime flag, off by default.

Tools:

Put console log in stderr as this makes some tests flaky otherwise.

* DumpRenderTree/TestOptions.cpp:
(shouldDumpJSConsoleLogInStdErr):
* WebKitTestRunner/TestOptions.cpp:
(WTR::shouldDumpJSConsoleLogInStdErr):

LayoutTests:

* js/dom/builtin-getter-name-expected.txt:
* js/dom/builtin-getter-name.html:
* streams/pipe-to-expected.txt:
* streams/reference-implementation/bad-strategies-expected.txt:
* streams/reference-implementation/bad-underlying-sinks-expected.txt:
* streams/reference-implementation/brand-checks-expected.txt:
* streams/reference-implementation/byte-length-queuing-strategy-expected.txt:
* streams/reference-implementation/count-queuing-strategy-expected.txt:
* streams/reference-implementation/pipe-through-expected.txt:
* streams/reference-implementation/pipe-to-expected.txt:
* streams/reference-implementation/pipe-to-options-expected.txt:
* streams/reference-implementation/readable-stream-templated-expected.txt:
* streams/reference-implementation/writable-stream-abort-expected.txt: Removed.
* streams/reference-implementation/writable-stream-abort.html: Removed.
Removed as not up to date.
We should probably do so with all the reference implementation tests.
* streams/reference-implementation/writable-stream-expected.txt:</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsChangeLog">trunk/LayoutTests/ChangeLog</a></li>
<li><a href="#trunkLayoutTestsTestExpectations">trunk/LayoutTests/TestExpectations</a></li>
<li><a href="#trunkLayoutTestsimportedw3cChangeLog">trunk/LayoutTests/imported/w3c/ChangeLog</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsencodingstreamsrealmswindowexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/encoding/streams/realms.window-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapiresponseresponsestreamdisturbedbypipeanyexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/response/response-stream-disturbed-by-pipe.any-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapiresponseresponsestreamdisturbedbypipeanyworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/response/response-stream-disturbed-by-pipe.any.worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsstreamsidlharnessanyexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/streams/idlharness.any-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsstreamsidlharnessanyworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/streams/idlharness.any.worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsstreamspipingabortanyexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/abort.any-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsstreamspipingabortanyworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/abort.any.worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsstreamspipingclosepropagationbackwardanyexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/close-propagation-backward.any-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsstreamspipingclosepropagationbackwardanyworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/close-propagation-backward.any.worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsstreamspipingclosepropagationforwardanyexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/close-propagation-forward.any-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsstreamspipingclosepropagationforwardanyworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/close-propagation-forward.any.worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsstreamspipingerrorpropagationbackwardanyexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/error-propagation-backward.any-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsstreamspipingerrorpropagationbackwardanyworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/error-propagation-backward.any.worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsstreamspipingerrorpropagationforwardanyexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/error-propagation-forward.any-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsstreamspipingerrorpropagationforwardanyworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/error-propagation-forward.any.worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsstreamspipingflowcontrolanyexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/flow-control.any-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsstreamspipingflowcontrolanyworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/flow-control.any.worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsstreamspipinggeneralanyexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/general.any-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsstreamspipinggeneralanyworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/general.any.worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsstreamspipingmultiplepropagationanyexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/multiple-propagation.any-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsstreamspipingmultiplepropagationanyworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/multiple-propagation.any.worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsstreamspipingpipethroughanyexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/pipe-through.any-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsstreamspipingpipethroughanyworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/pipe-through.any.worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsstreamspipingtheninterceptionanyworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/then-interception.any.worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsstreamspipingthrowingoptionsanyexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/throwing-options.any-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsstreamspipingthrowingoptionsanyworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/throwing-options.any.worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsstreamsreadablestreamspatchedglobalanyexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/patched-global.any-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsstreamsreadablestreamspatchedglobalanyworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/patched-global.any.worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsstreamsreadablestreamsreentrantstrategiesanyexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/reentrant-strategies.any-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsstreamsreadablestreamsreentrantstrategiesanyworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/reentrant-strategies.any.worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsstreamstransformstreamsreentrantstrategiesanyworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/streams/transform-streams/reentrant-strategies.any.worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsstreamswritablestreamsabortinganyexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/aborting.any-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsstreamswritablestreamsabortinganyworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/aborting.any.worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsstreamswritablestreamsbadstrategiesanyexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/bad-strategies.any-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsstreamswritablestreamsbadstrategiesanyworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/bad-strategies.any.worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsstreamswritablestreamsbadunderlyingsinksanyexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/bad-underlying-sinks.any-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsstreamswritablestreamsbadunderlyingsinksanyworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/bad-underlying-sinks.any.worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsstreamswritablestreamsbytelengthqueuingstrategyanyexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/byte-length-queuing-strategy.any-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsstreamswritablestreamsbytelengthqueuingstrategyanyworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/byte-length-queuing-strategy.any.worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsstreamswritablestreamscloseanyexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/close.any-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsstreamswritablestreamscloseanyworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/close.any.worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsstreamswritablestreamsconstructoranyexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/constructor.any-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsstreamswritablestreamsconstructoranyworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/constructor.any.worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsstreamswritablestreamscountqueuingstrategyanyexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/count-queuing-strategy.any-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsstreamswritablestreamscountqueuingstrategyanyworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/count-queuing-strategy.any.worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsstreamswritablestreamserroranyexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/error.any-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsstreamswritablestreamserroranyworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/error.any.worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsstreamswritablestreamsfloatingpointtotalqueuesizeanyexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/floating-point-total-queue-size.any-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsstreamswritablestreamsfloatingpointtotalqueuesizeanyworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/floating-point-total-queue-size.any.worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsstreamswritablestreamsgeneralanyexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/general.any-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsstreamswritablestreamsgeneralanyworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/general.any.worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsstreamswritablestreamspropertiesanyexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/properties.any-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsstreamswritablestreamspropertiesanyworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/properties.any.worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsstreamswritablestreamsreentrantstrategyanyexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/reentrant-strategy.any-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsstreamswritablestreamsreentrantstrategyanyworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/reentrant-strategy.any.worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsstreamswritablestreamsstartanyexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/start.any-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsstreamswritablestreamsstartanyworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/start.any.worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsstreamswritablestreamswriteanyexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/write.any-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsstreamswritablestreamswriteanyworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/write.any.worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsworkerssemanticsinterfaceobjects001workerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/workers/semantics/interface-objects/001.worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsworkerssemanticsinterfaceobjects002workerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/workers/semantics/interface-objects/002.worker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsjsdombuiltingetternameexpectedtxt">trunk/LayoutTests/js/dom/builtin-getter-name-expected.txt</a></li>
<li><a href="#trunkLayoutTestsjsdombuiltingetternamehtml">trunk/LayoutTests/js/dom/builtin-getter-name.html</a></li>
<li><a href="#trunkLayoutTestsplatformwinTestExpectations">trunk/LayoutTests/platform/win/TestExpectations</a></li>
<li><a href="#trunkLayoutTestsstreamspipetoexpectedtxt">trunk/LayoutTests/streams/pipe-to-expected.txt</a></li>
<li><a href="#trunkLayoutTestsstreamsreferenceimplementationbadstrategiesexpectedtxt">trunk/LayoutTests/streams/reference-implementation/bad-strategies-expected.txt</a></li>
<li><a href="#trunkLayoutTestsstreamsreferenceimplementationbadunderlyingsinksexpectedtxt">trunk/LayoutTests/streams/reference-implementation/bad-underlying-sinks-expected.txt</a></li>
<li><a href="#trunkLayoutTestsstreamsreferenceimplementationbrandchecksexpectedtxt">trunk/LayoutTests/streams/reference-implementation/brand-checks-expected.txt</a></li>
<li><a href="#trunkLayoutTestsstreamsreferenceimplementationbytelengthqueuingstrategyexpectedtxt">trunk/LayoutTests/streams/reference-implementation/byte-length-queuing-strategy-expected.txt</a></li>
<li><a href="#trunkLayoutTestsstreamsreferenceimplementationcountqueuingstrategyexpectedtxt">trunk/LayoutTests/streams/reference-implementation/count-queuing-strategy-expected.txt</a></li>
<li><a href="#trunkLayoutTestsstreamsreferenceimplementationpipethroughexpectedtxt">trunk/LayoutTests/streams/reference-implementation/pipe-through-expected.txt</a></li>
<li><a href="#trunkLayoutTestsstreamsreferenceimplementationpipetoexpectedtxt">trunk/LayoutTests/streams/reference-implementation/pipe-to-expected.txt</a></li>
<li><a href="#trunkLayoutTestsstreamsreferenceimplementationpipetooptionsexpectedtxt">trunk/LayoutTests/streams/reference-implementation/pipe-to-options-expected.txt</a></li>
<li><a href="#trunkLayoutTestsstreamsreferenceimplementationreadablestreamtemplatedexpectedtxt">trunk/LayoutTests/streams/reference-implementation/readable-stream-templated-expected.txt</a></li>
<li><a href="#trunkLayoutTestsstreamsreferenceimplementationwritablestreamexpectedtxt">trunk/LayoutTests/streams/reference-implementation/writable-stream-expected.txt</a></li>
<li><a href="#trunkSourceWebCoreCMakeListstxt">trunk/Source/WebCore/CMakeLists.txt</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreDerivedSourcesinputxcfilelist">trunk/Source/WebCore/DerivedSources-input.xcfilelist</a></li>
<li><a href="#trunkSourceWebCoreDerivedSourcesoutputxcfilelist">trunk/Source/WebCore/DerivedSources-output.xcfilelist</a></li>
<li><a href="#trunkSourceWebCoreDerivedSourcesmake">trunk/Source/WebCore/DerivedSources.make</a></li>
<li><a href="#trunkSourceWebCoreModulesstreamsStreamInternalsjs">trunk/Source/WebCore/Modules/streams/StreamInternals.js</a></li>
<li><a href="#trunkSourceWebCoreModulesstreamsWritableStreamidl">trunk/Source/WebCore/Modules/streams/WritableStream.idl</a></li>
<li><a href="#trunkSourceWebCoreModulesstreamsWritableStreamjs">trunk/Source/WebCore/Modules/streams/WritableStream.js</a></li>
<li><a href="#trunkSourceWebCoreModulesstreamsWritableStreamInternalsjs">trunk/Source/WebCore/Modules/streams/WritableStreamInternals.js</a></li>
<li><a href="#trunkSourceWebCoreSourcestxt">trunk/Source/WebCore/Sources.txt</a></li>
<li><a href="#trunkSourceWebCoreWebCorexcodeprojprojectpbxproj">trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj</a></li>
<li><a href="#trunkSourceWebCorebindingsjsWebCoreBuiltinNamesh">trunk/Source/WebCore/bindings/js/WebCoreBuiltinNames.h</a></li>
<li><a href="#trunkSourceWebKitChangeLog">trunk/Source/WebKit/ChangeLog</a></li>
<li><a href="#trunkSourceWebKitSharedWebPreferencesyaml">trunk/Source/WebKit/Shared/WebPreferences.yaml</a></li>
<li><a href="#trunkToolsChangeLog">trunk/Tools/ChangeLog</a></li>
<li><a href="#trunkToolsDumpRenderTreeTestOptionscpp">trunk/Tools/DumpRenderTree/TestOptions.cpp</a></li>
<li><a href="#trunkToolsWebKitTestRunnerTestOptionscpp">trunk/Tools/WebKitTestRunner/TestOptions.cpp</a></li>
</ul>

<h3>Added Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreModulesstreamsWritableStreamDefaultControlleridl">trunk/Source/WebCore/Modules/streams/WritableStreamDefaultController.idl</a></li>
<li><a href="#trunkSourceWebCoreModulesstreamsWritableStreamDefaultControllerjs">trunk/Source/WebCore/Modules/streams/WritableStreamDefaultController.js</a></li>
<li><a href="#trunkSourceWebCoreModulesstreamsWritableStreamDefaultWriteridl">trunk/Source/WebCore/Modules/streams/WritableStreamDefaultWriter.idl</a></li>
<li><a href="#trunkSourceWebCoreModulesstreamsWritableStreamDefaultWriterjs">trunk/Source/WebCore/Modules/streams/WritableStreamDefaultWriter.js</a></li>
</ul>

<h3>Removed Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsstreamsreferenceimplementationwritablestreamabortexpectedtxt">trunk/LayoutTests/streams/reference-implementation/writable-stream-abort-expected.txt</a></li>
<li><a href="#trunkLayoutTestsstreamsreferenceimplementationwritablestreamaborthtml">trunk/LayoutTests/streams/reference-implementation/writable-stream-abort.html</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkLayoutTestsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/ChangeLog (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/ChangeLog      2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/LayoutTests/ChangeLog 2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -1,3 +1,28 @@
</span><ins>+2020-08-12  Youenn Fablet  <youenn@apple.com>
+
+        Refresh WritableStream up to spec
+        https://bugs.webkit.org/show_bug.cgi?id=215267
+
+        Reviewed by Geoff Garen.
+
+        * js/dom/builtin-getter-name-expected.txt:
+        * js/dom/builtin-getter-name.html:
+        * streams/pipe-to-expected.txt:
+        * streams/reference-implementation/bad-strategies-expected.txt:
+        * streams/reference-implementation/bad-underlying-sinks-expected.txt:
+        * streams/reference-implementation/brand-checks-expected.txt:
+        * streams/reference-implementation/byte-length-queuing-strategy-expected.txt:
+        * streams/reference-implementation/count-queuing-strategy-expected.txt:
+        * streams/reference-implementation/pipe-through-expected.txt:
+        * streams/reference-implementation/pipe-to-expected.txt:
+        * streams/reference-implementation/pipe-to-options-expected.txt:
+        * streams/reference-implementation/readable-stream-templated-expected.txt:
+        * streams/reference-implementation/writable-stream-abort-expected.txt: Removed.
+        * streams/reference-implementation/writable-stream-abort.html: Removed.
+        Removed as not up to date.
+        We should probably do so with all the reference implementation tests.
+        * streams/reference-implementation/writable-stream-expected.txt:
+
</ins><span class="cx"> 2020-08-06  Sergio Villar Senin  <svillar@igalia.com>
</span><span class="cx"> 
</span><span class="cx">         [WebXR] Update WebXR WPT directory
</span></span></pre></div>
<a id="trunkLayoutTestsTestExpectations"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/TestExpectations (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/TestExpectations       2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/LayoutTests/TestExpectations  2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -354,6 +354,9 @@
</span><span class="cx"> imported/w3c/web-platform-tests/server-timing/navigation_timing_idl.html [ Skip ]
</span><span class="cx"> imported/w3c/web-platform-tests/server-timing/navigation_timing_idl.https.html [ Skip ]
</span><span class="cx"> 
</span><ins>+# Tests to reenable once pipe algorithm is updated.
+imported/w3c/web-platform-tests/streams/piping [ Skip ]
+
</ins><span class="cx"> # Console log lines may appear in a different order so we silence them.
</span><span class="cx"> imported/w3c/web-platform-tests/html/browsers/history/the-location-interface/location-protocol-setter-non-broken.html [ DumpJSConsoleLogInStdErr Failure Pass ]
</span><span class="cx"> imported/w3c/web-platform-tests/html/browsers/history/the-location-interface/location-protocol-setter-non-broken-weird.html [ DumpJSConsoleLogInStdErr ]
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/ChangeLog (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/ChangeLog 2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/LayoutTests/imported/w3c/ChangeLog    2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -1,3 +1,74 @@
</span><ins>+2020-08-12  Youenn Fablet  <youenn@apple.com>
+
+        Refresh WritableStream up to spec
+        https://bugs.webkit.org/show_bug.cgi?id=215267
+
+        Reviewed by Geoff Garen.
+
+        * web-platform-tests/encoding/streams/realms.window-expected.txt:
+        * web-platform-tests/fetch/api/response/response-stream-disturbed-by-pipe.any-expected.txt:
+        * web-platform-tests/fetch/api/response/response-stream-disturbed-by-pipe.any.worker-expected.txt:
+        * web-platform-tests/streams/idlharness.any-expected.txt:
+        * web-platform-tests/streams/idlharness.any.worker-expected.txt:
+        * web-platform-tests/streams/piping/abort.any-expected.txt:
+        * web-platform-tests/streams/piping/abort.any.worker-expected.txt:
+        * web-platform-tests/streams/piping/close-propagation-backward.any-expected.txt:
+        * web-platform-tests/streams/piping/close-propagation-backward.any.worker-expected.txt:
+        * web-platform-tests/streams/piping/close-propagation-forward.any-expected.txt:
+        * web-platform-tests/streams/piping/close-propagation-forward.any.worker-expected.txt:
+        * web-platform-tests/streams/piping/error-propagation-backward.any-expected.txt:
+        * web-platform-tests/streams/piping/error-propagation-backward.any.worker-expected.txt:
+        * web-platform-tests/streams/piping/error-propagation-forward.any-expected.txt:
+        * web-platform-tests/streams/piping/error-propagation-forward.any.worker-expected.txt:
+        * web-platform-tests/streams/piping/flow-control.any-expected.txt:
+        * web-platform-tests/streams/piping/flow-control.any.worker-expected.txt:
+        * web-platform-tests/streams/piping/general.any-expected.txt:
+        * web-platform-tests/streams/piping/general.any.worker-expected.txt:
+        * web-platform-tests/streams/piping/multiple-propagation.any-expected.txt:
+        * web-platform-tests/streams/piping/multiple-propagation.any.worker-expected.txt:
+        * web-platform-tests/streams/piping/pipe-through.any-expected.txt:
+        * web-platform-tests/streams/piping/pipe-through.any.worker-expected.txt:
+        * web-platform-tests/streams/piping/then-interception.any-expected.txt:
+        * web-platform-tests/streams/piping/then-interception.any.worker-expected.txt:
+        * web-platform-tests/streams/piping/throwing-options.any-expected.txt:
+        * web-platform-tests/streams/transform-streams/patched-global.any.worker-expected.txt:
+        * web-platform-tests/streams/readable-streams/patched-global.any-expected.txt:
+        * web-platform-tests/streams/readable-streams/patched-global.any.worker-expected.txt:
+        * web-platform-tests/streams/readable-streams/reentrant-strategies.any-expected.txt:
+        * web-platform-tests/streams/readable-streams/reentrant-strategies.any.worker-expected.txt:
+        * web-platform-tests/streams/transform-streams/reentrant-strategies.any.worker-expected.txt:
+        * web-platform-tests/streams/writable-streams/aborting.any-expected.txt:
+        * web-platform-tests/streams/writable-streams/aborting.any.worker-expected.txt:
+        * web-platform-tests/streams/writable-streams/bad-strategies.any-expected.txt:
+        * web-platform-tests/streams/writable-streams/bad-strategies.any.worker-expected.txt:
+        * web-platform-tests/streams/writable-streams/bad-underlying-sinks.any-expected.txt:
+        * web-platform-tests/streams/writable-streams/bad-underlying-sinks.any.worker-expected.txt:
+        * web-platform-tests/streams/writable-streams/byte-length-queuing-strategy.any-expected.txt:
+        * web-platform-tests/streams/writable-streams/byte-length-queuing-strategy.any.worker-expected.txt:
+        * web-platform-tests/streams/writable-streams/close.any-expected.txt:
+        * web-platform-tests/streams/writable-streams/close.any.worker-expected.txt:
+        * web-platform-tests/streams/writable-streams/constructor.any-expected.txt:
+        * web-platform-tests/streams/writable-streams/constructor.any.worker-expected.txt:
+        * web-platform-tests/streams/writable-streams/count-queuing-strategy.any-expected.txt:
+        * web-platform-tests/streams/writable-streams/count-queuing-strategy.any.worker-expected.txt:
+        * web-platform-tests/streams/writable-streams/error.any-expected.txt:
+        * web-platform-tests/streams/writable-streams/error.any.worker-expected.txt:
+        * web-platform-tests/streams/writable-streams/floating-point-total-queue-size.any-expected.txt:
+        * web-platform-tests/streams/writable-streams/floating-point-total-queue-size.any.worker-expected.txt:
+        * web-platform-tests/streams/writable-streams/general.any-expected.txt:
+        * web-platform-tests/streams/writable-streams/general.any.worker-expected.txt:
+        * web-platform-tests/streams/writable-streams/properties.any-expected.txt:
+        * web-platform-tests/streams/writable-streams/properties.any.worker-expected.txt:
+        * web-platform-tests/streams/writable-streams/reentrant-strategy.any-expected.txt:
+        * web-platform-tests/streams/writable-streams/reentrant-strategy.any.worker-expected.txt:
+        * web-platform-tests/streams/writable-streams/start.any-expected.txt:
+        * web-platform-tests/streams/writable-streams/start.any.js:
+        * web-platform-tests/streams/writable-streams/start.any.worker-expected.txt:
+        * web-platform-tests/streams/writable-streams/write.any-expected.txt:
+        * web-platform-tests/streams/writable-streams/write.any.worker-expected.txt:
+        * web-platform-tests/workers/semantics/interface-objects/001.worker-expected.txt:
+        * web-platform-tests/workers/semantics/interface-objects/002.worker-expected.txt:
+
</ins><span class="cx"> 2020-08-06  Sergio Villar Senin  <svillar@igalia.com>
</span><span class="cx"> 
</span><span class="cx">         [WebXR] Update WebXR WPT directory
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsencodingstreamsrealmswindowexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/encoding/streams/realms.window-expected.txt (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/encoding/streams/realms.window-expected.txt    2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/encoding/streams/realms.window-expected.txt       2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -1,6 +1,42 @@
</span><del>-CONSOLE MESSAGE: TypeError: new WritableStream().getWriter is not a function. (In 'new WritableStream().getWriter()', 'new WritableStream().getWriter' is undefined)
-CONSOLE MESSAGE: Unhandled Promise Rejection: TypeError: undefined is not an object (evaluating 'methodRealm.WritableStreamDefaultWriter.prototype')
</del><ins>+CONSOLE MESSAGE: TypeError: undefined is not a constructor (evaluating 'new parent.constructorRealm.TextEncoderStream()')
+CONSOLE MESSAGE: TypeError: undefined is not a constructor (evaluating 'new parent.constructorRealm.TextEncoderStream')
+CONSOLE MESSAGE: TypeError: undefined is not a constructor (evaluating 'new parent.constructorRealm.TextEncoderStream')
+CONSOLE MESSAGE: TypeError: undefined is not an object (evaluating 'window.realmsId7.writable')
+CONSOLE MESSAGE: TypeError: undefined is not an object (evaluating 'window.realmsId7.readable')
+CONSOLE MESSAGE: TypeError: undefined is not a constructor (evaluating 'new parent.constructorRealm.TextEncoderStream')
+CONSOLE MESSAGE: TypeError: undefined is not an object (evaluating 'window.realmsId15.readable')
+CONSOLE MESSAGE: TypeError: undefined is not an object (evaluating 'window.realmsId15.writable')
+CONSOLE MESSAGE: TypeError: undefined is not a constructor (evaluating 'new parent.constructorRealm.TextEncoderStream')
+CONSOLE MESSAGE: TypeError: undefined is not an object (evaluating 'window.realmsId23.readable')
+CONSOLE MESSAGE: TypeError: undefined is not an object (evaluating 'window.realmsId23.writable')
+CONSOLE MESSAGE: TypeError: undefined is not a constructor (evaluating 'new parent.constructorRealm.TextDecoderStream()')
+CONSOLE MESSAGE: TypeError: undefined is not a constructor (evaluating 'new parent.constructorRealm.TextDecoderStream')
+CONSOLE MESSAGE: TypeError: undefined is not a constructor (evaluating 'new parent.constructorRealm.TextDecoderStream')
+CONSOLE MESSAGE: TypeError: undefined is not an object (evaluating 'window.realmsId37.writable')
+CONSOLE MESSAGE: TypeError: undefined is not an object (evaluating 'window.realmsId37.readable')
+CONSOLE MESSAGE: TypeError: undefined is not a constructor (evaluating 'new parent.constructorRealm.TextDecoderStream')
+CONSOLE MESSAGE: TypeError: undefined is not an object (evaluating 'window.realmsId45.readable')
+CONSOLE MESSAGE: TypeError: undefined is not an object (evaluating 'window.realmsId45.writable')
+CONSOLE MESSAGE: TypeError: undefined is not a constructor (evaluating 'new parent.constructorRealm.TextDecoderStream')
+CONSOLE MESSAGE: TypeError: undefined is not an object (evaluating 'window.realmsId53.readable')
+CONSOLE MESSAGE: TypeError: undefined is not an object (evaluating 'window.realmsId53.writable')
+CONSOLE MESSAGE: TypeError: undefined is not a constructor (evaluating 'new parent.constructorRealm.TextDecoderStream('utf-8', {fatal: true})')
+CONSOLE MESSAGE: TypeError: undefined is not an object (evaluating 'window.realmsId61.readable')
+CONSOLE MESSAGE: TypeError: undefined is not an object (evaluating 'window.realmsId61.writable')
+CONSOLE MESSAGE: TypeError: undefined is not a constructor (evaluating 'new parent.constructorRealm.TextDecoderStream('utf-8', {fatal: true})')
+CONSOLE MESSAGE: TypeError: undefined is not an object (evaluating 'window.realmsId69.readable')
+CONSOLE MESSAGE: TypeError: undefined is not an object (evaluating 'window.realmsId69.writable')
</ins><span class="cx"> 
</span><del>-Harness Error (FAIL), message = Unhandled rejection: undefined is not an object (evaluating 'methodRealm.WritableStreamDefaultWriter.prototype')
</del><ins>+FAIL a TextEncoderStream object should be associated with the realm the constructor came from promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'obj.constructor')"
+FAIL TextEncoderStream's readable and writable attributes should come from the same realm as the constructor definition promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'methodRealm[classname].prototype')"
+FAIL the output chunks when read is called after write should come from the same realm as the constructor of TextEncoderStream promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'result.constructor')"
+FAIL the output chunks when write is called with a pending read should come from the same realm as the constructor of TextEncoderStream promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'result.constructor')"
+FAIL TypeError for unconvertable chunk should come from constructor realm of TextEncoderStream assert_unreached: Should have rejected: write TypeError should come from constructor realm Reached unreachable code
+FAIL a TextDecoderStream object should be associated with the realm the constructor came from promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'obj.constructor')"
+FAIL TextDecoderStream's readable and writable attributes should come from the same realm as the constructor definition promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'methodRealm[classname].prototype')"
+FAIL the result object when read is called after write should come from the same realm as the constructor of TextDecoderStream promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'result.constructor')"
+FAIL the result object when write is called with a pending read should come from the same realm as the constructor of TextDecoderStream promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'result.constructor')"
+FAIL TypeError for chunk with the wrong type should come from constructor realm of TextDecoderStream assert_unreached: Should have rejected: write TypeError should come from constructor realm Reached unreachable code
+FAIL TypeError for invalid chunk should come from constructor realm of TextDecoderStream assert_unreached: Should have rejected: write TypeError should come from constructor realm Reached unreachable code
+FAIL TypeError for incomplete input should come from constructor realm of TextDecoderStream assert_unreached: Should have rejected: close TypeError should come from constructor realm Reached unreachable code
</ins><span class="cx"> 
</span><del>-
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapiresponseresponsestreamdisturbedbypipeanyexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/response/response-stream-disturbed-by-pipe.any-expected.txt (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/response/response-stream-disturbed-by-pipe.any-expected.txt  2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/response/response-stream-disturbed-by-pipe.any-expected.txt     2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -1,4 +1,4 @@
</span><span class="cx"> 
</span><del>-PASS using pipeTo on Response body should disturb it synchronously 
-PASS using pipeThrough on Response body should disturb it synchronously 
</del><ins>+FAIL using pipeTo on Response body should disturb it synchronously |this| is not a Promise
+FAIL using pipeThrough on Response body should disturb it synchronously |this| is not a Promise
</ins><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapiresponseresponsestreamdisturbedbypipeanyworkerexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/response/response-stream-disturbed-by-pipe.any.worker-expected.txt (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/response/response-stream-disturbed-by-pipe.any.worker-expected.txt   2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/response/response-stream-disturbed-by-pipe.any.worker-expected.txt      2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -1,4 +1,4 @@
</span><span class="cx"> 
</span><del>-FAIL using pipeTo on Response body should disturb it synchronously Can't find variable: WritableStream
-FAIL using pipeThrough on Response body should disturb it synchronously Can't find variable: WritableStream
</del><ins>+FAIL using pipeTo on Response body should disturb it synchronously |this| is not a Promise
+FAIL using pipeThrough on Response body should disturb it synchronously |this| is not a Promise
</ins><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsstreamsidlharnessanyexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/streams/idlharness.any-expected.txt (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/streams/idlharness.any-expected.txt    2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/streams/idlharness.any-expected.txt       2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -125,52 +125,54 @@
</span><span class="cx"> PASS WritableStream interface: existence and properties of interface prototype object 
</span><span class="cx"> PASS WritableStream interface: existence and properties of interface prototype object's "constructor" property 
</span><span class="cx"> PASS WritableStream interface: existence and properties of interface prototype object's @@unscopables property 
</span><del>-FAIL WritableStream interface: attribute locked assert_true: The prototype object must have a property "locked" expected true got false
</del><ins>+PASS WritableStream interface: attribute locked 
</ins><span class="cx"> FAIL WritableStream interface: operation abort(optional any) assert_equals: property has wrong .length expected 0 but got 1
</span><span class="cx"> PASS WritableStream interface: operation close() 
</span><del>-FAIL WritableStream interface: operation getWriter() assert_own_property: interface prototype object missing non-static operation expected property "getWriter" missing
</del><ins>+PASS WritableStream interface: operation getWriter() 
</ins><span class="cx"> PASS WritableStream must be primary interface of new WritableStream() 
</span><span class="cx"> PASS Stringification of new WritableStream() 
</span><del>-FAIL WritableStream interface: new WritableStream() must inherit property "locked" with the proper type assert_inherits: property "locked" not found in prototype chain
</del><ins>+PASS WritableStream interface: new WritableStream() must inherit property "locked" with the proper type 
</ins><span class="cx"> PASS WritableStream interface: new WritableStream() must inherit property "abort(optional any)" with the proper type 
</span><span class="cx"> PASS WritableStream interface: calling abort(optional any) on new WritableStream() with too few arguments must throw TypeError 
</span><span class="cx"> PASS WritableStream interface: new WritableStream() must inherit property "close()" with the proper type 
</span><del>-FAIL WritableStream interface: new WritableStream() must inherit property "getWriter()" with the proper type assert_inherits: property "getWriter" not found in prototype chain
-FAIL WritableStreamDefaultWriter interface: existence and properties of interface object assert_own_property: self does not have own property "WritableStreamDefaultWriter" expected property "WritableStreamDefaultWriter" missing
-FAIL WritableStreamDefaultWriter interface object length assert_own_property: self does not have own property "WritableStreamDefaultWriter" expected property "WritableStreamDefaultWriter" missing
-FAIL WritableStreamDefaultWriter interface object name assert_own_property: self does not have own property "WritableStreamDefaultWriter" expected property "WritableStreamDefaultWriter" missing
-FAIL WritableStreamDefaultWriter interface: existence and properties of interface prototype object assert_own_property: self does not have own property "WritableStreamDefaultWriter" expected property "WritableStreamDefaultWriter" missing
-FAIL WritableStreamDefaultWriter interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "WritableStreamDefaultWriter" expected property "WritableStreamDefaultWriter" missing
-FAIL WritableStreamDefaultWriter interface: existence and properties of interface prototype object's @@unscopables property assert_own_property: self does not have own property "WritableStreamDefaultWriter" expected property "WritableStreamDefaultWriter" missing
-FAIL WritableStreamDefaultWriter interface: attribute closed assert_own_property: self does not have own property "WritableStreamDefaultWriter" expected property "WritableStreamDefaultWriter" missing
-FAIL WritableStreamDefaultWriter interface: attribute desiredSize assert_own_property: self does not have own property "WritableStreamDefaultWriter" expected property "WritableStreamDefaultWriter" missing
-FAIL WritableStreamDefaultWriter interface: attribute ready assert_own_property: self does not have own property "WritableStreamDefaultWriter" expected property "WritableStreamDefaultWriter" missing
-FAIL WritableStreamDefaultWriter interface: operation abort(optional any) assert_own_property: self does not have own property "WritableStreamDefaultWriter" expected property "WritableStreamDefaultWriter" missing
-FAIL WritableStreamDefaultWriter interface: operation close() assert_own_property: self does not have own property "WritableStreamDefaultWriter" expected property "WritableStreamDefaultWriter" missing
-FAIL WritableStreamDefaultWriter interface: operation releaseLock() assert_own_property: self does not have own property "WritableStreamDefaultWriter" expected property "WritableStreamDefaultWriter" missing
-FAIL WritableStreamDefaultWriter interface: operation write(optional any) assert_own_property: self does not have own property "WritableStreamDefaultWriter" expected property "WritableStreamDefaultWriter" missing
-FAIL WritableStreamDefaultWriter must be primary interface of (new WritableStream()).getWriter() assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: (new WritableStream()).getWriter is not a function. (In '(new WritableStream()).getWriter()', '(new WritableStream()).getWriter' is undefined)"
-FAIL Stringification of (new WritableStream()).getWriter() assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: (new WritableStream()).getWriter is not a function. (In '(new WritableStream()).getWriter()', '(new WritableStream()).getWriter' is undefined)"
-FAIL WritableStreamDefaultWriter interface: (new WritableStream()).getWriter() must inherit property "closed" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: (new WritableStream()).getWriter is not a function. (In '(new WritableStream()).getWriter()', '(new WritableStream()).getWriter' is undefined)"
-FAIL WritableStreamDefaultWriter interface: (new WritableStream()).getWriter() must inherit property "desiredSize" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: (new WritableStream()).getWriter is not a function. (In '(new WritableStream()).getWriter()', '(new WritableStream()).getWriter' is undefined)"
-FAIL WritableStreamDefaultWriter interface: (new WritableStream()).getWriter() must inherit property "ready" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: (new WritableStream()).getWriter is not a function. (In '(new WritableStream()).getWriter()', '(new WritableStream()).getWriter' is undefined)"
-FAIL WritableStreamDefaultWriter interface: (new WritableStream()).getWriter() must inherit property "abort(optional any)" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: (new WritableStream()).getWriter is not a function. (In '(new WritableStream()).getWriter()', '(new WritableStream()).getWriter' is undefined)"
-FAIL WritableStreamDefaultWriter interface: calling abort(optional any) on (new WritableStream()).getWriter() with too few arguments must throw TypeError assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: (new WritableStream()).getWriter is not a function. (In '(new WritableStream()).getWriter()', '(new WritableStream()).getWriter' is undefined)"
-FAIL WritableStreamDefaultWriter interface: (new WritableStream()).getWriter() must inherit property "close()" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: (new WritableStream()).getWriter is not a function. (In '(new WritableStream()).getWriter()', '(new WritableStream()).getWriter' is undefined)"
-FAIL WritableStreamDefaultWriter interface: (new WritableStream()).getWriter() must inherit property "releaseLock()" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: (new WritableStream()).getWriter is not a function. (In '(new WritableStream()).getWriter()', '(new WritableStream()).getWriter' is undefined)"
-FAIL WritableStreamDefaultWriter interface: (new WritableStream()).getWriter() must inherit property "write(optional any)" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: (new WritableStream()).getWriter is not a function. (In '(new WritableStream()).getWriter()', '(new WritableStream()).getWriter' is undefined)"
-FAIL WritableStreamDefaultWriter interface: calling write(optional any) on (new WritableStream()).getWriter() with too few arguments must throw TypeError assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: (new WritableStream()).getWriter is not a function. (In '(new WritableStream()).getWriter()', '(new WritableStream()).getWriter' is undefined)"
-FAIL WritableStreamDefaultController interface: existence and properties of interface object assert_own_property: self does not have own property "WritableStreamDefaultController" expected property "WritableStreamDefaultController" missing
-FAIL WritableStreamDefaultController interface object length assert_own_property: self does not have own property "WritableStreamDefaultController" expected property "WritableStreamDefaultController" missing
-FAIL WritableStreamDefaultController interface object name assert_own_property: self does not have own property "WritableStreamDefaultController" expected property "WritableStreamDefaultController" missing
-FAIL WritableStreamDefaultController interface: existence and properties of interface prototype object assert_own_property: self does not have own property "WritableStreamDefaultController" expected property "WritableStreamDefaultController" missing
-FAIL WritableStreamDefaultController interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "WritableStreamDefaultController" expected property "WritableStreamDefaultController" missing
-FAIL WritableStreamDefaultController interface: existence and properties of interface prototype object's @@unscopables property assert_own_property: self does not have own property "WritableStreamDefaultController" expected property "WritableStreamDefaultController" missing
-FAIL WritableStreamDefaultController interface: operation error(optional any) assert_own_property: self does not have own property "WritableStreamDefaultController" expected property "WritableStreamDefaultController" missing
-FAIL WritableStreamDefaultController must be primary interface of self.writableStreamDefaultController assert_equals: wrong typeof object expected "object" but got "function"
-FAIL Stringification of self.writableStreamDefaultController assert_equals: wrong typeof object expected "object" but got "function"
-FAIL WritableStreamDefaultController interface: self.writableStreamDefaultController must inherit property "error(optional any)" with the proper type assert_equals: wrong typeof object expected "object" but got "function"
-FAIL WritableStreamDefaultController interface: calling error(optional any) on self.writableStreamDefaultController with too few arguments must throw TypeError assert_equals: wrong typeof object expected "object" but got "function"
</del><ins>+PASS WritableStream interface: new WritableStream() must inherit property "getWriter()" with the proper type 
+PASS WritableStreamDefaultWriter interface: existence and properties of interface object 
+PASS WritableStreamDefaultWriter interface object length 
+PASS WritableStreamDefaultWriter interface object name 
+PASS WritableStreamDefaultWriter interface: existence and properties of interface prototype object 
+PASS WritableStreamDefaultWriter interface: existence and properties of interface prototype object's "constructor" property 
+PASS WritableStreamDefaultWriter interface: existence and properties of interface prototype object's @@unscopables property 
+PASS WritableStreamDefaultWriter interface: attribute closed 
+PASS WritableStreamDefaultWriter interface: attribute desiredSize 
+PASS WritableStreamDefaultWriter interface: attribute ready 
+FAIL WritableStreamDefaultWriter interface: operation abort(optional any) assert_equals: property has wrong .length expected 0 but got 1
+PASS WritableStreamDefaultWriter interface: operation close() 
+PASS WritableStreamDefaultWriter interface: operation releaseLock() 
+FAIL WritableStreamDefaultWriter interface: operation write(optional any) assert_equals: property has wrong .length expected 0 but got 1
+PASS WritableStreamDefaultWriter must be primary interface of (new WritableStream()).getWriter() 
+PASS Stringification of (new WritableStream()).getWriter() 
+PASS WritableStreamDefaultWriter interface: (new WritableStream()).getWriter() must inherit property "closed" with the proper type 
+PASS WritableStreamDefaultWriter interface: (new WritableStream()).getWriter() must inherit property "desiredSize" with the proper type 
+PASS WritableStreamDefaultWriter interface: (new WritableStream()).getWriter() must inherit property "ready" with the proper type 
+PASS WritableStreamDefaultWriter interface: (new WritableStream()).getWriter() must inherit property "abort(optional any)" with the proper type 
+PASS WritableStreamDefaultWriter interface: calling abort(optional any) on (new WritableStream()).getWriter() with too few arguments must throw TypeError 
+PASS WritableStreamDefaultWriter interface: (new WritableStream()).getWriter() must inherit property "close()" with the proper type 
+PASS WritableStreamDefaultWriter interface: (new WritableStream()).getWriter() must inherit property "releaseLock()" with the proper type 
+PASS WritableStreamDefaultWriter interface: (new WritableStream()).getWriter() must inherit property "write(optional any)" with the proper type 
+PASS WritableStreamDefaultWriter interface: calling write(optional any) on (new WritableStream()).getWriter() with too few arguments must throw TypeError 
+FAIL WritableStreamDefaultController interface: existence and properties of interface object assert_throws_js: interface object didn't throw TypeError when called as a constructor function "function () {
+                new interface_object();
+            }" did not throw
+PASS WritableStreamDefaultController interface object length 
+PASS WritableStreamDefaultController interface object name 
+PASS WritableStreamDefaultController interface: existence and properties of interface prototype object 
+PASS WritableStreamDefaultController interface: existence and properties of interface prototype object's "constructor" property 
+PASS WritableStreamDefaultController interface: existence and properties of interface prototype object's @@unscopables property 
+FAIL WritableStreamDefaultController interface: operation error(optional any) assert_equals: property has wrong .length expected 0 but got 1
+PASS WritableStreamDefaultController must be primary interface of self.writableStreamDefaultController 
+PASS Stringification of self.writableStreamDefaultController 
+PASS WritableStreamDefaultController interface: self.writableStreamDefaultController must inherit property "error(optional any)" with the proper type 
+PASS WritableStreamDefaultController interface: calling error(optional any) on self.writableStreamDefaultController with too few arguments must throw TypeError 
</ins><span class="cx"> FAIL TransformStream interface: existence and properties of interface object assert_own_property: self does not have own property "TransformStream" expected property "TransformStream" missing
</span><span class="cx"> FAIL TransformStream interface object length assert_own_property: self does not have own property "TransformStream" expected property "TransformStream" missing
</span><span class="cx"> FAIL TransformStream interface object name assert_own_property: self does not have own property "TransformStream" expected property "TransformStream" missing
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsstreamsidlharnessanyworkerexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/streams/idlharness.any.worker-expected.txt (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/streams/idlharness.any.worker-expected.txt     2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/streams/idlharness.any.worker-expected.txt        2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -119,58 +119,60 @@
</span><span class="cx"> }" ("TypeError")
</span><span class="cx"> PASS ReadableStreamBYOBRequest interface: self.readableStreamByobRequest must inherit property "respondWithNewView(ArrayBufferView)" with the proper type 
</span><span class="cx"> PASS ReadableStreamBYOBRequest interface: calling respondWithNewView(ArrayBufferView) on self.readableStreamByobRequest with too few arguments must throw TypeError 
</span><del>-FAIL WritableStream interface: existence and properties of interface object assert_own_property: self does not have own property "WritableStream" expected property "WritableStream" missing
-FAIL WritableStream interface object length assert_own_property: self does not have own property "WritableStream" expected property "WritableStream" missing
-FAIL WritableStream interface object name assert_own_property: self does not have own property "WritableStream" expected property "WritableStream" missing
-FAIL WritableStream interface: existence and properties of interface prototype object assert_own_property: self does not have own property "WritableStream" expected property "WritableStream" missing
-FAIL WritableStream interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "WritableStream" expected property "WritableStream" missing
-FAIL WritableStream interface: existence and properties of interface prototype object's @@unscopables property assert_own_property: self does not have own property "WritableStream" expected property "WritableStream" missing
-FAIL WritableStream interface: attribute locked assert_own_property: self does not have own property "WritableStream" expected property "WritableStream" missing
-FAIL WritableStream interface: operation abort(optional any) assert_own_property: self does not have own property "WritableStream" expected property "WritableStream" missing
-FAIL WritableStream interface: operation close() assert_own_property: self does not have own property "WritableStream" expected property "WritableStream" missing
-FAIL WritableStream interface: operation getWriter() assert_own_property: self does not have own property "WritableStream" expected property "WritableStream" missing
-FAIL WritableStream must be primary interface of new WritableStream() assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: Can't find variable: WritableStream"
-FAIL Stringification of new WritableStream() assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: Can't find variable: WritableStream"
-FAIL WritableStream interface: new WritableStream() must inherit property "locked" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: Can't find variable: WritableStream"
-FAIL WritableStream interface: new WritableStream() must inherit property "abort(optional any)" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: Can't find variable: WritableStream"
-FAIL WritableStream interface: calling abort(optional any) on new WritableStream() with too few arguments must throw TypeError assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: Can't find variable: WritableStream"
-FAIL WritableStream interface: new WritableStream() must inherit property "close()" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: Can't find variable: WritableStream"
-FAIL WritableStream interface: new WritableStream() must inherit property "getWriter()" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: Can't find variable: WritableStream"
-FAIL WritableStreamDefaultWriter interface: existence and properties of interface object assert_own_property: self does not have own property "WritableStreamDefaultWriter" expected property "WritableStreamDefaultWriter" missing
-FAIL WritableStreamDefaultWriter interface object length assert_own_property: self does not have own property "WritableStreamDefaultWriter" expected property "WritableStreamDefaultWriter" missing
-FAIL WritableStreamDefaultWriter interface object name assert_own_property: self does not have own property "WritableStreamDefaultWriter" expected property "WritableStreamDefaultWriter" missing
-FAIL WritableStreamDefaultWriter interface: existence and properties of interface prototype object assert_own_property: self does not have own property "WritableStreamDefaultWriter" expected property "WritableStreamDefaultWriter" missing
-FAIL WritableStreamDefaultWriter interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "WritableStreamDefaultWriter" expected property "WritableStreamDefaultWriter" missing
-FAIL WritableStreamDefaultWriter interface: existence and properties of interface prototype object's @@unscopables property assert_own_property: self does not have own property "WritableStreamDefaultWriter" expected property "WritableStreamDefaultWriter" missing
-FAIL WritableStreamDefaultWriter interface: attribute closed assert_own_property: self does not have own property "WritableStreamDefaultWriter" expected property "WritableStreamDefaultWriter" missing
-FAIL WritableStreamDefaultWriter interface: attribute desiredSize assert_own_property: self does not have own property "WritableStreamDefaultWriter" expected property "WritableStreamDefaultWriter" missing
-FAIL WritableStreamDefaultWriter interface: attribute ready assert_own_property: self does not have own property "WritableStreamDefaultWriter" expected property "WritableStreamDefaultWriter" missing
-FAIL WritableStreamDefaultWriter interface: operation abort(optional any) assert_own_property: self does not have own property "WritableStreamDefaultWriter" expected property "WritableStreamDefaultWriter" missing
-FAIL WritableStreamDefaultWriter interface: operation close() assert_own_property: self does not have own property "WritableStreamDefaultWriter" expected property "WritableStreamDefaultWriter" missing
-FAIL WritableStreamDefaultWriter interface: operation releaseLock() assert_own_property: self does not have own property "WritableStreamDefaultWriter" expected property "WritableStreamDefaultWriter" missing
-FAIL WritableStreamDefaultWriter interface: operation write(optional any) assert_own_property: self does not have own property "WritableStreamDefaultWriter" expected property "WritableStreamDefaultWriter" missing
-FAIL WritableStreamDefaultWriter must be primary interface of (new WritableStream()).getWriter() assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: Can't find variable: WritableStream"
-FAIL Stringification of (new WritableStream()).getWriter() assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: Can't find variable: WritableStream"
-FAIL WritableStreamDefaultWriter interface: (new WritableStream()).getWriter() must inherit property "closed" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: Can't find variable: WritableStream"
-FAIL WritableStreamDefaultWriter interface: (new WritableStream()).getWriter() must inherit property "desiredSize" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: Can't find variable: WritableStream"
-FAIL WritableStreamDefaultWriter interface: (new WritableStream()).getWriter() must inherit property "ready" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: Can't find variable: WritableStream"
-FAIL WritableStreamDefaultWriter interface: (new WritableStream()).getWriter() must inherit property "abort(optional any)" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: Can't find variable: WritableStream"
-FAIL WritableStreamDefaultWriter interface: calling abort(optional any) on (new WritableStream()).getWriter() with too few arguments must throw TypeError assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: Can't find variable: WritableStream"
-FAIL WritableStreamDefaultWriter interface: (new WritableStream()).getWriter() must inherit property "close()" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: Can't find variable: WritableStream"
-FAIL WritableStreamDefaultWriter interface: (new WritableStream()).getWriter() must inherit property "releaseLock()" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: Can't find variable: WritableStream"
-FAIL WritableStreamDefaultWriter interface: (new WritableStream()).getWriter() must inherit property "write(optional any)" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: Can't find variable: WritableStream"
-FAIL WritableStreamDefaultWriter interface: calling write(optional any) on (new WritableStream()).getWriter() with too few arguments must throw TypeError assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: Can't find variable: WritableStream"
-FAIL WritableStreamDefaultController interface: existence and properties of interface object assert_own_property: self does not have own property "WritableStreamDefaultController" expected property "WritableStreamDefaultController" missing
-FAIL WritableStreamDefaultController interface object length assert_own_property: self does not have own property "WritableStreamDefaultController" expected property "WritableStreamDefaultController" missing
-FAIL WritableStreamDefaultController interface object name assert_own_property: self does not have own property "WritableStreamDefaultController" expected property "WritableStreamDefaultController" missing
-FAIL WritableStreamDefaultController interface: existence and properties of interface prototype object assert_own_property: self does not have own property "WritableStreamDefaultController" expected property "WritableStreamDefaultController" missing
-FAIL WritableStreamDefaultController interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "WritableStreamDefaultController" expected property "WritableStreamDefaultController" missing
-FAIL WritableStreamDefaultController interface: existence and properties of interface prototype object's @@unscopables property assert_own_property: self does not have own property "WritableStreamDefaultController" expected property "WritableStreamDefaultController" missing
-FAIL WritableStreamDefaultController interface: operation error(optional any) assert_own_property: self does not have own property "WritableStreamDefaultController" expected property "WritableStreamDefaultController" missing
-FAIL WritableStreamDefaultController must be primary interface of self.writableStreamDefaultController assert_equals: wrong typeof object expected "object" but got "undefined"
-FAIL Stringification of self.writableStreamDefaultController assert_equals: wrong typeof object expected "object" but got "undefined"
-FAIL WritableStreamDefaultController interface: self.writableStreamDefaultController must inherit property "error(optional any)" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined"
-FAIL WritableStreamDefaultController interface: calling error(optional any) on self.writableStreamDefaultController with too few arguments must throw TypeError assert_equals: wrong typeof object expected "object" but got "undefined"
</del><ins>+PASS WritableStream interface: existence and properties of interface object 
+PASS WritableStream interface object length 
+PASS WritableStream interface object name 
+PASS WritableStream interface: existence and properties of interface prototype object 
+PASS WritableStream interface: existence and properties of interface prototype object's "constructor" property 
+PASS WritableStream interface: existence and properties of interface prototype object's @@unscopables property 
+PASS WritableStream interface: attribute locked 
+FAIL WritableStream interface: operation abort(optional any) assert_equals: property has wrong .length expected 0 but got 1
+PASS WritableStream interface: operation close() 
+PASS WritableStream interface: operation getWriter() 
+PASS WritableStream must be primary interface of new WritableStream() 
+PASS Stringification of new WritableStream() 
+PASS WritableStream interface: new WritableStream() must inherit property "locked" with the proper type 
+PASS WritableStream interface: new WritableStream() must inherit property "abort(optional any)" with the proper type 
+PASS WritableStream interface: calling abort(optional any) on new WritableStream() with too few arguments must throw TypeError 
+PASS WritableStream interface: new WritableStream() must inherit property "close()" with the proper type 
+PASS WritableStream interface: new WritableStream() must inherit property "getWriter()" with the proper type 
+PASS WritableStreamDefaultWriter interface: existence and properties of interface object 
+PASS WritableStreamDefaultWriter interface object length 
+PASS WritableStreamDefaultWriter interface object name 
+PASS WritableStreamDefaultWriter interface: existence and properties of interface prototype object 
+PASS WritableStreamDefaultWriter interface: existence and properties of interface prototype object's "constructor" property 
+PASS WritableStreamDefaultWriter interface: existence and properties of interface prototype object's @@unscopables property 
+PASS WritableStreamDefaultWriter interface: attribute closed 
+PASS WritableStreamDefaultWriter interface: attribute desiredSize 
+PASS WritableStreamDefaultWriter interface: attribute ready 
+FAIL WritableStreamDefaultWriter interface: operation abort(optional any) assert_equals: property has wrong .length expected 0 but got 1
+PASS WritableStreamDefaultWriter interface: operation close() 
+PASS WritableStreamDefaultWriter interface: operation releaseLock() 
+FAIL WritableStreamDefaultWriter interface: operation write(optional any) assert_equals: property has wrong .length expected 0 but got 1
+PASS WritableStreamDefaultWriter must be primary interface of (new WritableStream()).getWriter() 
+PASS Stringification of (new WritableStream()).getWriter() 
+PASS WritableStreamDefaultWriter interface: (new WritableStream()).getWriter() must inherit property "closed" with the proper type 
+PASS WritableStreamDefaultWriter interface: (new WritableStream()).getWriter() must inherit property "desiredSize" with the proper type 
+PASS WritableStreamDefaultWriter interface: (new WritableStream()).getWriter() must inherit property "ready" with the proper type 
+PASS WritableStreamDefaultWriter interface: (new WritableStream()).getWriter() must inherit property "abort(optional any)" with the proper type 
+PASS WritableStreamDefaultWriter interface: calling abort(optional any) on (new WritableStream()).getWriter() with too few arguments must throw TypeError 
+PASS WritableStreamDefaultWriter interface: (new WritableStream()).getWriter() must inherit property "close()" with the proper type 
+PASS WritableStreamDefaultWriter interface: (new WritableStream()).getWriter() must inherit property "releaseLock()" with the proper type 
+PASS WritableStreamDefaultWriter interface: (new WritableStream()).getWriter() must inherit property "write(optional any)" with the proper type 
+PASS WritableStreamDefaultWriter interface: calling write(optional any) on (new WritableStream()).getWriter() with too few arguments must throw TypeError 
+FAIL WritableStreamDefaultController interface: existence and properties of interface object assert_throws_js: interface object didn't throw TypeError when called as a constructor function "function () {
+                new interface_object();
+            }" did not throw
+PASS WritableStreamDefaultController interface object length 
+PASS WritableStreamDefaultController interface object name 
+PASS WritableStreamDefaultController interface: existence and properties of interface prototype object 
+PASS WritableStreamDefaultController interface: existence and properties of interface prototype object's "constructor" property 
+PASS WritableStreamDefaultController interface: existence and properties of interface prototype object's @@unscopables property 
+FAIL WritableStreamDefaultController interface: operation error(optional any) assert_equals: property has wrong .length expected 0 but got 1
+PASS WritableStreamDefaultController must be primary interface of self.writableStreamDefaultController 
+PASS Stringification of self.writableStreamDefaultController 
+PASS WritableStreamDefaultController interface: self.writableStreamDefaultController must inherit property "error(optional any)" with the proper type 
+PASS WritableStreamDefaultController interface: calling error(optional any) on self.writableStreamDefaultController with too few arguments must throw TypeError 
</ins><span class="cx"> FAIL TransformStream interface: existence and properties of interface object assert_own_property: self does not have own property "TransformStream" expected property "TransformStream" missing
</span><span class="cx"> FAIL TransformStream interface object length assert_own_property: self does not have own property "TransformStream" expected property "TransformStream" missing
</span><span class="cx"> FAIL TransformStream interface object name assert_own_property: self does not have own property "TransformStream" expected property "TransformStream" missing
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsstreamspipingabortanyexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/abort.any-expected.txt (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/abort.any-expected.txt  2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/abort.any-expected.txt     2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -1,58 +1,25 @@
</span><del>-CONSOLE MESSAGE: Unhandled Promise Rejection: failed to abort
-CONSOLE MESSAGE: Unhandled Promise Rejection: TypeError: cancel() called on a reader owned by no readable stream
-CONSOLE MESSAGE: Unhandled Promise Rejection: failed to abort
-CONSOLE MESSAGE: Unhandled Promise Rejection: TypeError: cancel() called on a reader owned by no readable stream
-CONSOLE MESSAGE: Unhandled Promise Rejection: failed to abort
-CONSOLE MESSAGE: Unhandled Promise Rejection: TypeError: cancel() called on a reader owned by no readable stream
-CONSOLE MESSAGE: Unhandled Promise Rejection: failed to abort
-CONSOLE MESSAGE: Unhandled Promise Rejection: TypeError: cancel() called on a reader owned by no readable stream
-CONSOLE MESSAGE: Unhandled Promise Rejection: failed to abort
-CONSOLE MESSAGE: Unhandled Promise Rejection: TypeError: cancel() called on a reader owned by no readable stream
-CONSOLE MESSAGE: Unhandled Promise Rejection: failed to abort
-CONSOLE MESSAGE: Unhandled Promise Rejection: TypeError: cancel() called on a reader owned by no readable stream
-CONSOLE MESSAGE: Unhandled Promise Rejection: failed to abort
-CONSOLE MESSAGE: Unhandled Promise Rejection: TypeError: cancel() called on a reader owned by no readable stream
-CONSOLE MESSAGE: Unhandled Promise Rejection: failed to abort
-CONSOLE MESSAGE: Unhandled Promise Rejection: failed to abort
-CONSOLE MESSAGE: Unhandled Promise Rejection: failed to abort
-CONSOLE MESSAGE: Unhandled Promise Rejection: failed to abort
-CONSOLE MESSAGE: Unhandled Promise Rejection: failed to abort
-CONSOLE MESSAGE: Unhandled Promise Rejection: TypeError: cancel() called on a reader owned by no readable stream
-CONSOLE MESSAGE: Unhandled Promise Rejection: failed to abort
-CONSOLE MESSAGE: Unhandled Promise Rejection: TypeError: cancel() called on a reader owned by no readable stream
-CONSOLE MESSAGE: Unhandled Promise Rejection: error1: error1
-CONSOLE MESSAGE: Unhandled Promise Rejection: failed to abort
-CONSOLE MESSAGE: Unhandled Promise Rejection: TypeError: cancel() called on a reader owned by no readable stream
-CONSOLE MESSAGE: Unhandled Promise Rejection: error2: error2
-CONSOLE MESSAGE: Unhandled Promise Rejection: TypeError: cancel() called on a reader owned by no readable stream
-CONSOLE MESSAGE: Unhandled Promise Rejection: error1: error1
-CONSOLE MESSAGE: Unhandled Promise Rejection: error1: error1
-CONSOLE MESSAGE: Unhandled Promise Rejection: error1: error1
-CONSOLE MESSAGE: Unhandled Promise Rejection: error1: error1
</del><span class="cx"> 
</span><del>-Harness Error (FAIL), message = Unhandled rejection: error1
</del><ins>+FAIL a signal argument 'null' should cause pipeTo() to reject |this| is not a Promise
+FAIL a signal argument 'AbortSignal' should cause pipeTo() to reject |this| is not a Promise
+FAIL a signal argument 'true' should cause pipeTo() to reject |this| is not a Promise
+FAIL a signal argument '-1' should cause pipeTo() to reject |this| is not a Promise
+FAIL a signal argument '[object AbortSignal]' should cause pipeTo() to reject |this| is not a Promise
+FAIL an aborted signal should cause the writable stream to reject with an AbortError |this| is not a Promise
+FAIL all the AbortError objects should be the same object |this| is not a Promise
+FAIL preventCancel should prevent canceling the readable |this| is not a Promise
+FAIL preventAbort should prevent aborting the readable |this| is not a Promise
+FAIL preventCancel and preventAbort should prevent canceling the readable and aborting the readable |this| is not a Promise
+FAIL abort should prevent further reads |this| is not a Promise
+FAIL all pending writes should complete on abort |this| is not a Promise
+FAIL a rejection from underlyingSource.cancel() should be returned by pipeTo() |this| is not a Promise
+FAIL a rejection from underlyingSink.abort() should be returned by pipeTo() |this| is not a Promise
+FAIL a rejection from underlyingSink.abort() should be preferred to one from underlyingSource.cancel() |this| is not a Promise
+FAIL abort signal takes priority over closed readable |this| is not a Promise
+FAIL abort signal takes priority over errored readable |this| is not a Promise
+FAIL abort signal takes priority over closed writable promise_test: Unhandled rejection with value: object "TypeError: |this| is not a Promise"
+FAIL abort signal takes priority over errored writable |this| is not a Promise
+FAIL abort should do nothing after the readable is closed |this| is not a Promise
+FAIL abort should do nothing after the readable is errored |this| is not a Promise
+FAIL abort should do nothing after the readable is errored, even with pending writes |this| is not a Promise
+FAIL abort should do nothing after the writable is errored |this| is not a Promise
</ins><span class="cx"> 
</span><del>-FAIL a signal argument 'null' should cause pipeTo() to reject promise_rejects_js: pipeTo should reject function "function () { throw e }" threw "failed to abort" with type "string", not an object
-FAIL a signal argument 'AbortSignal' should cause pipeTo() to reject promise_rejects_js: pipeTo should reject function "function () { throw e }" threw "failed to abort" with type "string", not an object
-FAIL a signal argument 'true' should cause pipeTo() to reject promise_rejects_js: pipeTo should reject function "function () { throw e }" threw "failed to abort" with type "string", not an object
-FAIL a signal argument '-1' should cause pipeTo() to reject promise_rejects_js: pipeTo should reject function "function () { throw e }" threw "failed to abort" with type "string", not an object
-FAIL a signal argument '[object AbortSignal]' should cause pipeTo() to reject promise_rejects_js: pipeTo should reject function "function () { throw e }" threw "failed to abort" with type "string", not an object
-FAIL an aborted signal should cause the writable stream to reject with an AbortError promise_rejects_dom: pipeTo should reject function "function () { throw e }" threw "failed to abort" with type "string", not an object
-FAIL all the AbortError objects should be the same object promise_test: Unhandled rejection with value: object "TypeError: ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)"
-FAIL preventCancel should prevent canceling the readable promise_rejects_dom: pipeTo should reject function "function () { throw e }" threw "failed to abort" with type "string", not an object
-FAIL preventAbort should prevent aborting the readable promise_rejects_dom: pipeTo should reject function "function () { throw e }" threw "failed to abort" with type "string", not an object
-FAIL preventCancel and preventAbort should prevent canceling the readable and aborting the readable promise_rejects_dom: pipeTo should reject function "function () { throw e }" threw "failed to abort" with type "string", not an object
-FAIL abort should prevent further reads assert_unreached: Should have rejected: pipeTo should reject Reached unreachable code
-FAIL all pending writes should complete on abort assert_unreached: Should have rejected: pipeTo should reject Reached unreachable code
-FAIL a rejection from underlyingSource.cancel() should be returned by pipeTo() promise_rejects_exactly: pipeTo should reject function "function () { throw e }" threw "failed to abort" but we expected it to throw object "error1: error1"
-FAIL a rejection from underlyingSink.abort() should be returned by pipeTo() promise_rejects_exactly: pipeTo should reject function "function () { throw e }" threw "failed to abort" but we expected it to throw object "error1: error1"
-FAIL a rejection from underlyingSink.abort() should be preferred to one from underlyingSource.cancel() promise_rejects_exactly: pipeTo should reject function "function () { throw e }" threw "failed to abort" but we expected it to throw object "error2: error2"
-FAIL abort signal takes priority over closed readable assert_unreached: Should have rejected: pipeTo should reject Reached unreachable code
-FAIL abort signal takes priority over errored readable promise_rejects_dom: pipeTo should reject function "function () { throw e }" threw object "error1: error1" that is not a DOMException AbortError: property "code" is equal to undefined, expected 20
-FAIL abort signal takes priority over closed writable ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL abort signal takes priority over errored writable controller.error is not a function. (In 'controller.error(error1)', 'controller.error' is undefined)
-FAIL abort should do nothing after the readable is closed promise_test: Unhandled rejection with value: object "TypeError: ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)"
-FAIL abort should do nothing after the readable is errored promise_test: Unhandled rejection with value: object "TypeError: ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)"
-FAIL abort should do nothing after the readable is errored, even with pending writes promise_test: Unhandled rejection with value: object "TypeError: ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)"
-FAIL abort should do nothing after the writable is errored promise_test: Unhandled rejection with value: object "TypeError: writeController.error is not a function. (In 'writeController.error(error1)', 'writeController.error' is undefined)"
-
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsstreamspipingabortanyworkerexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/abort.any.worker-expected.txt (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/abort.any.worker-expected.txt   2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/abort.any.worker-expected.txt      2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -1,25 +1,25 @@
</span><span class="cx"> 
</span><del>-FAIL a signal argument 'null' should cause pipeTo() to reject Can't find variable: WritableStream
-FAIL a signal argument 'AbortSignal' should cause pipeTo() to reject Can't find variable: WritableStream
-FAIL a signal argument 'true' should cause pipeTo() to reject Can't find variable: WritableStream
-FAIL a signal argument '-1' should cause pipeTo() to reject Can't find variable: WritableStream
-FAIL a signal argument '[object AbortSignal]' should cause pipeTo() to reject Can't find variable: WritableStream
-FAIL an aborted signal should cause the writable stream to reject with an AbortError Can't find variable: WritableStream
-FAIL all the AbortError objects should be the same object Can't find variable: WritableStream
-FAIL preventCancel should prevent canceling the readable Can't find variable: WritableStream
-FAIL preventAbort should prevent aborting the readable Can't find variable: WritableStream
-FAIL preventCancel and preventAbort should prevent canceling the readable and aborting the readable Can't find variable: WritableStream
-FAIL abort should prevent further reads Can't find variable: WritableStream
-FAIL all pending writes should complete on abort Can't find variable: WritableStream
-FAIL a rejection from underlyingSource.cancel() should be returned by pipeTo() Can't find variable: WritableStream
-FAIL a rejection from underlyingSink.abort() should be returned by pipeTo() Can't find variable: WritableStream
-FAIL a rejection from underlyingSink.abort() should be preferred to one from underlyingSource.cancel() Can't find variable: WritableStream
-FAIL abort signal takes priority over closed readable Can't find variable: WritableStream
-FAIL abort signal takes priority over errored readable Can't find variable: WritableStream
-FAIL abort signal takes priority over closed writable Can't find variable: WritableStream
-FAIL abort signal takes priority over errored writable Can't find variable: WritableStream
-FAIL abort should do nothing after the readable is closed Can't find variable: WritableStream
-FAIL abort should do nothing after the readable is errored Can't find variable: WritableStream
-FAIL abort should do nothing after the readable is errored, even with pending writes Can't find variable: WritableStream
-FAIL abort should do nothing after the writable is errored Can't find variable: WritableStream
</del><ins>+FAIL a signal argument 'null' should cause pipeTo() to reject |this| is not a Promise
+FAIL a signal argument 'AbortSignal' should cause pipeTo() to reject |this| is not a Promise
+FAIL a signal argument 'true' should cause pipeTo() to reject |this| is not a Promise
+FAIL a signal argument '-1' should cause pipeTo() to reject |this| is not a Promise
+FAIL a signal argument '[object AbortSignal]' should cause pipeTo() to reject |this| is not a Promise
+FAIL an aborted signal should cause the writable stream to reject with an AbortError |this| is not a Promise
+FAIL all the AbortError objects should be the same object |this| is not a Promise
+FAIL preventCancel should prevent canceling the readable |this| is not a Promise
+FAIL preventAbort should prevent aborting the readable |this| is not a Promise
+FAIL preventCancel and preventAbort should prevent canceling the readable and aborting the readable |this| is not a Promise
+FAIL abort should prevent further reads |this| is not a Promise
+FAIL all pending writes should complete on abort |this| is not a Promise
+FAIL a rejection from underlyingSource.cancel() should be returned by pipeTo() |this| is not a Promise
+FAIL a rejection from underlyingSink.abort() should be returned by pipeTo() |this| is not a Promise
+FAIL a rejection from underlyingSink.abort() should be preferred to one from underlyingSource.cancel() |this| is not a Promise
+FAIL abort signal takes priority over closed readable |this| is not a Promise
+FAIL abort signal takes priority over errored readable |this| is not a Promise
+FAIL abort signal takes priority over closed writable promise_test: Unhandled rejection with value: object "TypeError: |this| is not a Promise"
+FAIL abort signal takes priority over errored writable |this| is not a Promise
+FAIL abort should do nothing after the readable is closed |this| is not a Promise
+FAIL abort should do nothing after the readable is errored |this| is not a Promise
+FAIL abort should do nothing after the readable is errored, even with pending writes |this| is not a Promise
+FAIL abort should do nothing after the writable is errored |this| is not a Promise
</ins><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsstreamspipingclosepropagationbackwardanyexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/close-propagation-backward.any-expected.txt (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/close-propagation-backward.any-expected.txt     2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/close-propagation-backward.any-expected.txt        2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -1,18 +1,18 @@
</span><span class="cx"> 
</span><del>-FAIL Closing must be propagated backward: starts closed; preventCancel omitted; fulfilled cancel promise ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL Closing must be propagated backward: starts closed; preventCancel omitted; rejected cancel promise ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL Closing must be propagated backward: starts closed; preventCancel = undefined (falsy); fulfilled cancel promise ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL Closing must be propagated backward: starts closed; preventCancel = null (falsy); fulfilled cancel promise ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL Closing must be propagated backward: starts closed; preventCancel = false (falsy); fulfilled cancel promise ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL Closing must be propagated backward: starts closed; preventCancel = 0 (falsy); fulfilled cancel promise ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL Closing must be propagated backward: starts closed; preventCancel = -0 (falsy); fulfilled cancel promise ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL Closing must be propagated backward: starts closed; preventCancel = NaN (falsy); fulfilled cancel promise ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL Closing must be propagated backward: starts closed; preventCancel =  (falsy); fulfilled cancel promise ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL Closing must be propagated backward: starts closed; preventCancel = true (truthy) ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL Closing must be propagated backward: starts closed; preventCancel = a (truthy) ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL Closing must be propagated backward: starts closed; preventCancel = 1 (truthy) ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL Closing must be propagated backward: starts closed; preventCancel = Symbol() (truthy) ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL Closing must be propagated backward: starts closed; preventCancel = [object Object] (truthy) ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL Closing must be propagated backward: starts closed; preventCancel = true, preventAbort = true ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL Closing must be propagated backward: starts closed; preventCancel = true, preventAbort = true, preventClose = true ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
</del><ins>+FAIL Closing must be propagated backward: starts closed; preventCancel omitted; fulfilled cancel promise |this| is not a Promise
+FAIL Closing must be propagated backward: starts closed; preventCancel omitted; rejected cancel promise |this| is not a Promise
+FAIL Closing must be propagated backward: starts closed; preventCancel = undefined (falsy); fulfilled cancel promise |this| is not a Promise
+FAIL Closing must be propagated backward: starts closed; preventCancel = null (falsy); fulfilled cancel promise |this| is not a Promise
+FAIL Closing must be propagated backward: starts closed; preventCancel = false (falsy); fulfilled cancel promise |this| is not a Promise
+FAIL Closing must be propagated backward: starts closed; preventCancel = 0 (falsy); fulfilled cancel promise |this| is not a Promise
+FAIL Closing must be propagated backward: starts closed; preventCancel = -0 (falsy); fulfilled cancel promise |this| is not a Promise
+FAIL Closing must be propagated backward: starts closed; preventCancel = NaN (falsy); fulfilled cancel promise |this| is not a Promise
+FAIL Closing must be propagated backward: starts closed; preventCancel =  (falsy); fulfilled cancel promise |this| is not a Promise
+FAIL Closing must be propagated backward: starts closed; preventCancel = true (truthy) |this| is not a Promise
+FAIL Closing must be propagated backward: starts closed; preventCancel = a (truthy) |this| is not a Promise
+FAIL Closing must be propagated backward: starts closed; preventCancel = 1 (truthy) |this| is not a Promise
+FAIL Closing must be propagated backward: starts closed; preventCancel = Symbol() (truthy) |this| is not a Promise
+FAIL Closing must be propagated backward: starts closed; preventCancel = [object Object] (truthy) |this| is not a Promise
+FAIL Closing must be propagated backward: starts closed; preventCancel = true, preventAbort = true |this| is not a Promise
+FAIL Closing must be propagated backward: starts closed; preventCancel = true, preventAbort = true, preventClose = true |this| is not a Promise
</ins><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsstreamspipingclosepropagationbackwardanyworkerexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/close-propagation-backward.any.worker-expected.txt (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/close-propagation-backward.any.worker-expected.txt      2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/close-propagation-backward.any.worker-expected.txt 2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -1,18 +1,18 @@
</span><span class="cx"> 
</span><del>-FAIL Closing must be propagated backward: starts closed; preventCancel omitted; fulfilled cancel promise Can't find variable: WritableStream
-FAIL Closing must be propagated backward: starts closed; preventCancel omitted; rejected cancel promise Can't find variable: WritableStream
-FAIL Closing must be propagated backward: starts closed; preventCancel = undefined (falsy); fulfilled cancel promise Can't find variable: WritableStream
-FAIL Closing must be propagated backward: starts closed; preventCancel = null (falsy); fulfilled cancel promise Can't find variable: WritableStream
-FAIL Closing must be propagated backward: starts closed; preventCancel = false (falsy); fulfilled cancel promise Can't find variable: WritableStream
-FAIL Closing must be propagated backward: starts closed; preventCancel = 0 (falsy); fulfilled cancel promise Can't find variable: WritableStream
-FAIL Closing must be propagated backward: starts closed; preventCancel = -0 (falsy); fulfilled cancel promise Can't find variable: WritableStream
-FAIL Closing must be propagated backward: starts closed; preventCancel = NaN (falsy); fulfilled cancel promise Can't find variable: WritableStream
-FAIL Closing must be propagated backward: starts closed; preventCancel =  (falsy); fulfilled cancel promise Can't find variable: WritableStream
-FAIL Closing must be propagated backward: starts closed; preventCancel = true (truthy) Can't find variable: WritableStream
-FAIL Closing must be propagated backward: starts closed; preventCancel = a (truthy) Can't find variable: WritableStream
-FAIL Closing must be propagated backward: starts closed; preventCancel = 1 (truthy) Can't find variable: WritableStream
-FAIL Closing must be propagated backward: starts closed; preventCancel = Symbol() (truthy) Can't find variable: WritableStream
-FAIL Closing must be propagated backward: starts closed; preventCancel = [object Object] (truthy) Can't find variable: WritableStream
-FAIL Closing must be propagated backward: starts closed; preventCancel = true, preventAbort = true Can't find variable: WritableStream
-FAIL Closing must be propagated backward: starts closed; preventCancel = true, preventAbort = true, preventClose = true Can't find variable: WritableStream
</del><ins>+FAIL Closing must be propagated backward: starts closed; preventCancel omitted; fulfilled cancel promise |this| is not a Promise
+FAIL Closing must be propagated backward: starts closed; preventCancel omitted; rejected cancel promise |this| is not a Promise
+FAIL Closing must be propagated backward: starts closed; preventCancel = undefined (falsy); fulfilled cancel promise |this| is not a Promise
+FAIL Closing must be propagated backward: starts closed; preventCancel = null (falsy); fulfilled cancel promise |this| is not a Promise
+FAIL Closing must be propagated backward: starts closed; preventCancel = false (falsy); fulfilled cancel promise |this| is not a Promise
+FAIL Closing must be propagated backward: starts closed; preventCancel = 0 (falsy); fulfilled cancel promise |this| is not a Promise
+FAIL Closing must be propagated backward: starts closed; preventCancel = -0 (falsy); fulfilled cancel promise |this| is not a Promise
+FAIL Closing must be propagated backward: starts closed; preventCancel = NaN (falsy); fulfilled cancel promise |this| is not a Promise
+FAIL Closing must be propagated backward: starts closed; preventCancel =  (falsy); fulfilled cancel promise |this| is not a Promise
+FAIL Closing must be propagated backward: starts closed; preventCancel = true (truthy) |this| is not a Promise
+FAIL Closing must be propagated backward: starts closed; preventCancel = a (truthy) |this| is not a Promise
+FAIL Closing must be propagated backward: starts closed; preventCancel = 1 (truthy) |this| is not a Promise
+FAIL Closing must be propagated backward: starts closed; preventCancel = Symbol() (truthy) |this| is not a Promise
+FAIL Closing must be propagated backward: starts closed; preventCancel = [object Object] (truthy) |this| is not a Promise
+FAIL Closing must be propagated backward: starts closed; preventCancel = true, preventAbort = true |this| is not a Promise
+FAIL Closing must be propagated backward: starts closed; preventCancel = true, preventAbort = true, preventClose = true |this| is not a Promise
</ins><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsstreamspipingclosepropagationforwardanyexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/close-propagation-forward.any-expected.txt (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/close-propagation-forward.any-expected.txt      2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/close-propagation-forward.any-expected.txt 2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -1,41 +1,32 @@
</span><del>-CONSOLE MESSAGE: Unhandled Promise Rejection: TypeError: cancel() called on a reader owned by no readable stream
-CONSOLE MESSAGE: Unhandled Promise Rejection: TypeError: cancel() called on a reader owned by no readable stream
-CONSOLE MESSAGE: Unhandled Promise Rejection: TypeError: cancel() called on a reader owned by no readable stream
-CONSOLE MESSAGE: Unhandled Promise Rejection: TypeError: cancel() called on a reader owned by no readable stream
-CONSOLE MESSAGE: Unhandled Promise Rejection: error1: error1!
-CONSOLE MESSAGE: Unhandled Promise Rejection: error1: error1!
-CONSOLE MESSAGE: Unhandled Promise Rejection: TypeError: cancel() called on a reader owned by no readable stream
</del><span class="cx"> 
</span><del>-Harness Error (FAIL), message = Unhandled rejection: cancel() called on a reader owned by no readable stream
</del><ins>+FAIL Closing must be propagated forward: starts closed; preventClose omitted; fulfilled close promise |this| is not a Promise
+FAIL Closing must be propagated forward: starts closed; preventClose omitted; rejected close promise |this| is not a Promise
+FAIL Closing must be propagated forward: starts closed; preventClose = undefined (falsy); fulfilled close promise |this| is not a Promise
+FAIL Closing must be propagated forward: starts closed; preventClose = null (falsy); fulfilled close promise |this| is not a Promise
+FAIL Closing must be propagated forward: starts closed; preventClose = false (falsy); fulfilled close promise |this| is not a Promise
+FAIL Closing must be propagated forward: starts closed; preventClose = 0 (falsy); fulfilled close promise |this| is not a Promise
+FAIL Closing must be propagated forward: starts closed; preventClose = -0 (falsy); fulfilled close promise |this| is not a Promise
+FAIL Closing must be propagated forward: starts closed; preventClose = NaN (falsy); fulfilled close promise |this| is not a Promise
+FAIL Closing must be propagated forward: starts closed; preventClose =  (falsy); fulfilled close promise |this| is not a Promise
+FAIL Closing must be propagated forward: starts closed; preventClose = true (truthy) |this| is not a Promise
+FAIL Closing must be propagated forward: starts closed; preventClose = a (truthy) |this| is not a Promise
+FAIL Closing must be propagated forward: starts closed; preventClose = 1 (truthy) |this| is not a Promise
+FAIL Closing must be propagated forward: starts closed; preventClose = Symbol() (truthy) |this| is not a Promise
+FAIL Closing must be propagated forward: starts closed; preventClose = [object Object] (truthy) |this| is not a Promise
+FAIL Closing must be propagated forward: starts closed; preventClose = true, preventAbort = true |this| is not a Promise
+FAIL Closing must be propagated forward: starts closed; preventClose = true, preventAbort = true, preventCancel = true |this| is not a Promise
+FAIL Closing must be propagated forward: becomes closed asynchronously; preventClose omitted; fulfilled close promise |this| is not a Promise
+FAIL Closing must be propagated forward: becomes closed asynchronously; preventClose omitted; rejected close promise |this| is not a Promise
+FAIL Closing must be propagated forward: becomes closed asynchronously; preventClose = true |this| is not a Promise
+FAIL Closing must be propagated forward: becomes closed asynchronously; dest never desires chunks; preventClose omitted; fulfilled close promise |this| is not a Promise
+FAIL Closing must be propagated forward: becomes closed asynchronously; dest never desires chunks; preventClose omitted; rejected close promise |this| is not a Promise
+FAIL Closing must be propagated forward: becomes closed asynchronously; dest never desires chunks; preventClose = true |this| is not a Promise
+FAIL Closing must be propagated forward: becomes closed after one chunk; preventClose omitted; fulfilled close promise |this| is not a Promise
+FAIL Closing must be propagated forward: becomes closed after one chunk; preventClose omitted; rejected close promise |this| is not a Promise
+FAIL Closing must be propagated forward: becomes closed after one chunk; preventClose = true |this| is not a Promise
+FAIL Closing must be propagated forward: shutdown must not occur until the final write completes |this| is not a Promise
+FAIL Closing must be propagated forward: shutdown must not occur until the final write completes; preventClose = true |this| is not a Promise
+FAIL Closing must be propagated forward: shutdown must not occur until the final write completes; becomes closed after first write |this| is not a Promise
+FAIL Closing must be propagated forward: shutdown must not occur until the final write completes; becomes closed after first write; preventClose = true |this| is not a Promise
+FAIL Closing must be propagated forward: erroring the writable while flushing pending writes should error pipeTo |this| is not a Promise
</ins><span class="cx"> 
</span><del>-FAIL Closing must be propagated forward: starts closed; preventClose omitted; fulfilled close promise promise_test: Unhandled rejection with value: object "TypeError: ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)"
-FAIL Closing must be propagated forward: starts closed; preventClose omitted; rejected close promise promise_test: Unhandled rejection with value: object "TypeError: ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)"
-FAIL Closing must be propagated forward: starts closed; preventClose = undefined (falsy); fulfilled close promise promise_test: Unhandled rejection with value: object "TypeError: ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)"
-FAIL Closing must be propagated forward: starts closed; preventClose = null (falsy); fulfilled close promise promise_test: Unhandled rejection with value: object "TypeError: ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)"
-FAIL Closing must be propagated forward: starts closed; preventClose = false (falsy); fulfilled close promise promise_test: Unhandled rejection with value: object "TypeError: ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)"
-FAIL Closing must be propagated forward: starts closed; preventClose = 0 (falsy); fulfilled close promise promise_test: Unhandled rejection with value: object "TypeError: ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)"
-FAIL Closing must be propagated forward: starts closed; preventClose = -0 (falsy); fulfilled close promise promise_test: Unhandled rejection with value: object "TypeError: ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)"
-FAIL Closing must be propagated forward: starts closed; preventClose = NaN (falsy); fulfilled close promise promise_test: Unhandled rejection with value: object "TypeError: ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)"
-FAIL Closing must be propagated forward: starts closed; preventClose =  (falsy); fulfilled close promise promise_test: Unhandled rejection with value: object "TypeError: ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)"
-PASS Closing must be propagated forward: starts closed; preventClose = true (truthy) 
-PASS Closing must be propagated forward: starts closed; preventClose = a (truthy) 
-PASS Closing must be propagated forward: starts closed; preventClose = 1 (truthy) 
-PASS Closing must be propagated forward: starts closed; preventClose = Symbol() (truthy) 
-PASS Closing must be propagated forward: starts closed; preventClose = [object Object] (truthy) 
-PASS Closing must be propagated forward: starts closed; preventClose = true, preventAbort = true 
-PASS Closing must be propagated forward: starts closed; preventClose = true, preventAbort = true, preventCancel = true 
-FAIL Closing must be propagated forward: becomes closed asynchronously; preventClose omitted; fulfilled close promise promise_test: Unhandled rejection with value: object "TypeError: ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)"
-FAIL Closing must be propagated forward: becomes closed asynchronously; preventClose omitted; rejected close promise promise_test: Unhandled rejection with value: object "TypeError: ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)"
-PASS Closing must be propagated forward: becomes closed asynchronously; preventClose = true 
-FAIL Closing must be propagated forward: becomes closed asynchronously; dest never desires chunks; preventClose omitted; fulfilled close promise promise_test: Unhandled rejection with value: object "TypeError: ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)"
-FAIL Closing must be propagated forward: becomes closed asynchronously; dest never desires chunks; preventClose omitted; rejected close promise promise_test: Unhandled rejection with value: object "TypeError: ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)"
-PASS Closing must be propagated forward: becomes closed asynchronously; dest never desires chunks; preventClose = true 
-FAIL Closing must be propagated forward: becomes closed after one chunk; preventClose omitted; fulfilled close promise promise_test: Unhandled rejection with value: object "TypeError: ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)"
-FAIL Closing must be propagated forward: becomes closed after one chunk; preventClose omitted; rejected close promise promise_test: Unhandled rejection with value: object "TypeError: ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)"
-PASS Closing must be propagated forward: becomes closed after one chunk; preventClose = true 
-PASS Closing must be propagated forward: shutdown must not occur until the final write completes 
-PASS Closing must be propagated forward: shutdown must not occur until the final write completes; preventClose = true 
-PASS Closing must be propagated forward: shutdown must not occur until the final write completes; becomes closed after first write 
-PASS Closing must be propagated forward: shutdown must not occur until the final write completes; becomes closed after first write; preventClose = true 
-FAIL Closing must be propagated forward: erroring the writable while flushing pending writes should error pipeTo promise_test: Unhandled rejection with value: object "TypeError: ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)"
-
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsstreamspipingclosepropagationforwardanyworkerexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/close-propagation-forward.any.worker-expected.txt (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/close-propagation-forward.any.worker-expected.txt       2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/close-propagation-forward.any.worker-expected.txt  2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -1,32 +1,32 @@
</span><span class="cx"> 
</span><del>-FAIL Closing must be propagated forward: starts closed; preventClose omitted; fulfilled close promise Can't find variable: WritableStream
-FAIL Closing must be propagated forward: starts closed; preventClose omitted; rejected close promise Can't find variable: WritableStream
-FAIL Closing must be propagated forward: starts closed; preventClose = undefined (falsy); fulfilled close promise Can't find variable: WritableStream
-FAIL Closing must be propagated forward: starts closed; preventClose = null (falsy); fulfilled close promise Can't find variable: WritableStream
-FAIL Closing must be propagated forward: starts closed; preventClose = false (falsy); fulfilled close promise Can't find variable: WritableStream
-FAIL Closing must be propagated forward: starts closed; preventClose = 0 (falsy); fulfilled close promise Can't find variable: WritableStream
-FAIL Closing must be propagated forward: starts closed; preventClose = -0 (falsy); fulfilled close promise Can't find variable: WritableStream
-FAIL Closing must be propagated forward: starts closed; preventClose = NaN (falsy); fulfilled close promise Can't find variable: WritableStream
-FAIL Closing must be propagated forward: starts closed; preventClose =  (falsy); fulfilled close promise Can't find variable: WritableStream
-FAIL Closing must be propagated forward: starts closed; preventClose = true (truthy) Can't find variable: WritableStream
-FAIL Closing must be propagated forward: starts closed; preventClose = a (truthy) Can't find variable: WritableStream
-FAIL Closing must be propagated forward: starts closed; preventClose = 1 (truthy) Can't find variable: WritableStream
-FAIL Closing must be propagated forward: starts closed; preventClose = Symbol() (truthy) Can't find variable: WritableStream
-FAIL Closing must be propagated forward: starts closed; preventClose = [object Object] (truthy) Can't find variable: WritableStream
-FAIL Closing must be propagated forward: starts closed; preventClose = true, preventAbort = true Can't find variable: WritableStream
-FAIL Closing must be propagated forward: starts closed; preventClose = true, preventAbort = true, preventCancel = true Can't find variable: WritableStream
-FAIL Closing must be propagated forward: becomes closed asynchronously; preventClose omitted; fulfilled close promise Can't find variable: WritableStream
-FAIL Closing must be propagated forward: becomes closed asynchronously; preventClose omitted; rejected close promise Can't find variable: WritableStream
-FAIL Closing must be propagated forward: becomes closed asynchronously; preventClose = true Can't find variable: WritableStream
-FAIL Closing must be propagated forward: becomes closed asynchronously; dest never desires chunks; preventClose omitted; fulfilled close promise Can't find variable: WritableStream
-FAIL Closing must be propagated forward: becomes closed asynchronously; dest never desires chunks; preventClose omitted; rejected close promise Can't find variable: WritableStream
-FAIL Closing must be propagated forward: becomes closed asynchronously; dest never desires chunks; preventClose = true Can't find variable: WritableStream
-FAIL Closing must be propagated forward: becomes closed after one chunk; preventClose omitted; fulfilled close promise Can't find variable: WritableStream
-FAIL Closing must be propagated forward: becomes closed after one chunk; preventClose omitted; rejected close promise Can't find variable: WritableStream
-FAIL Closing must be propagated forward: becomes closed after one chunk; preventClose = true Can't find variable: WritableStream
-FAIL Closing must be propagated forward: shutdown must not occur until the final write completes Can't find variable: WritableStream
-FAIL Closing must be propagated forward: shutdown must not occur until the final write completes; preventClose = true Can't find variable: WritableStream
-FAIL Closing must be propagated forward: shutdown must not occur until the final write completes; becomes closed after first write Can't find variable: WritableStream
-FAIL Closing must be propagated forward: shutdown must not occur until the final write completes; becomes closed after first write; preventClose = true Can't find variable: WritableStream
-FAIL Closing must be propagated forward: erroring the writable while flushing pending writes should error pipeTo Can't find variable: WritableStream
</del><ins>+FAIL Closing must be propagated forward: starts closed; preventClose omitted; fulfilled close promise |this| is not a Promise
+FAIL Closing must be propagated forward: starts closed; preventClose omitted; rejected close promise |this| is not a Promise
+FAIL Closing must be propagated forward: starts closed; preventClose = undefined (falsy); fulfilled close promise |this| is not a Promise
+FAIL Closing must be propagated forward: starts closed; preventClose = null (falsy); fulfilled close promise |this| is not a Promise
+FAIL Closing must be propagated forward: starts closed; preventClose = false (falsy); fulfilled close promise |this| is not a Promise
+FAIL Closing must be propagated forward: starts closed; preventClose = 0 (falsy); fulfilled close promise |this| is not a Promise
+FAIL Closing must be propagated forward: starts closed; preventClose = -0 (falsy); fulfilled close promise |this| is not a Promise
+FAIL Closing must be propagated forward: starts closed; preventClose = NaN (falsy); fulfilled close promise |this| is not a Promise
+FAIL Closing must be propagated forward: starts closed; preventClose =  (falsy); fulfilled close promise |this| is not a Promise
+FAIL Closing must be propagated forward: starts closed; preventClose = true (truthy) |this| is not a Promise
+FAIL Closing must be propagated forward: starts closed; preventClose = a (truthy) |this| is not a Promise
+FAIL Closing must be propagated forward: starts closed; preventClose = 1 (truthy) |this| is not a Promise
+FAIL Closing must be propagated forward: starts closed; preventClose = Symbol() (truthy) |this| is not a Promise
+FAIL Closing must be propagated forward: starts closed; preventClose = [object Object] (truthy) |this| is not a Promise
+FAIL Closing must be propagated forward: starts closed; preventClose = true, preventAbort = true |this| is not a Promise
+FAIL Closing must be propagated forward: starts closed; preventClose = true, preventAbort = true, preventCancel = true |this| is not a Promise
+FAIL Closing must be propagated forward: becomes closed asynchronously; preventClose omitted; fulfilled close promise |this| is not a Promise
+FAIL Closing must be propagated forward: becomes closed asynchronously; preventClose omitted; rejected close promise |this| is not a Promise
+FAIL Closing must be propagated forward: becomes closed asynchronously; preventClose = true |this| is not a Promise
+FAIL Closing must be propagated forward: becomes closed asynchronously; dest never desires chunks; preventClose omitted; fulfilled close promise |this| is not a Promise
+FAIL Closing must be propagated forward: becomes closed asynchronously; dest never desires chunks; preventClose omitted; rejected close promise |this| is not a Promise
+FAIL Closing must be propagated forward: becomes closed asynchronously; dest never desires chunks; preventClose = true |this| is not a Promise
+FAIL Closing must be propagated forward: becomes closed after one chunk; preventClose omitted; fulfilled close promise |this| is not a Promise
+FAIL Closing must be propagated forward: becomes closed after one chunk; preventClose omitted; rejected close promise |this| is not a Promise
+FAIL Closing must be propagated forward: becomes closed after one chunk; preventClose = true |this| is not a Promise
+FAIL Closing must be propagated forward: shutdown must not occur until the final write completes |this| is not a Promise
+FAIL Closing must be propagated forward: shutdown must not occur until the final write completes; preventClose = true |this| is not a Promise
+FAIL Closing must be propagated forward: shutdown must not occur until the final write completes; becomes closed after first write |this| is not a Promise
+FAIL Closing must be propagated forward: shutdown must not occur until the final write completes; becomes closed after first write; preventClose = true |this| is not a Promise
+FAIL Closing must be propagated forward: erroring the writable while flushing pending writes should error pipeTo |this| is not a Promise
</ins><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsstreamspipingerrorpropagationbackwardanyexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/error-propagation-backward.any-expected.txt (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/error-propagation-backward.any-expected.txt     2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/error-propagation-backward.any-expected.txt        2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -1,41 +1,53 @@
</span><del>-CONSOLE MESSAGE: Unhandled Promise Rejection: error2: error2!
</del><span class="cx"> CONSOLE MESSAGE: Unhandled Promise Rejection: error1: error1!
</span><ins>+CONSOLE MESSAGE: Unhandled Promise Rejection: error1: error1!
+CONSOLE MESSAGE: Unhandled Promise Rejection: error1: error1!
+CONSOLE MESSAGE: Unhandled Promise Rejection: error1: error1!
+CONSOLE MESSAGE: Unhandled Promise Rejection: error1: error1!
+CONSOLE MESSAGE: Unhandled Promise Rejection: error1: error1!
+CONSOLE MESSAGE: Unhandled Promise Rejection: error1: error1!
+CONSOLE MESSAGE: Unhandled Promise Rejection: error1: error1!
+CONSOLE MESSAGE: Unhandled Promise Rejection: error1: error1!
+CONSOLE MESSAGE: Unhandled Promise Rejection: error1: error1!
+CONSOLE MESSAGE: Unhandled Promise Rejection: error1: error1!
+CONSOLE MESSAGE: Unhandled Promise Rejection: error1: error1!
+CONSOLE MESSAGE: Unhandled Promise Rejection: error1: error1!
+CONSOLE MESSAGE: Unhandled Promise Rejection: error1: error1!
+CONSOLE MESSAGE: Unhandled Promise Rejection: error1: error1!
+CONSOLE MESSAGE: Unhandled Promise Rejection: error1: error1!
</ins><span class="cx"> 
</span><del>-Harness Error (FAIL), message = Unhandled rejection: error1!
</del><ins>+FAIL Errors must be propagated backward: starts errored; preventCancel omitted; fulfilled cancel promise |this| is not a Promise
+FAIL Errors must be propagated backward: becomes errored before piping due to write; preventCancel omitted; fulfilled cancel promise promise_test: Unhandled rejection with value: object "TypeError: |this| is not a Promise"
+FAIL Errors must be propagated backward: becomes errored before piping due to write; preventCancel omitted; rejected cancel promise promise_test: Unhandled rejection with value: object "TypeError: |this| is not a Promise"
+FAIL Errors must be propagated backward: becomes errored before piping due to write; preventCancel = undefined (falsy); fulfilled cancel promise promise_test: Unhandled rejection with value: object "TypeError: |this| is not a Promise"
+FAIL Errors must be propagated backward: becomes errored before piping due to write; preventCancel = null (falsy); fulfilled cancel promise promise_test: Unhandled rejection with value: object "TypeError: |this| is not a Promise"
+FAIL Errors must be propagated backward: becomes errored before piping due to write; preventCancel = false (falsy); fulfilled cancel promise promise_test: Unhandled rejection with value: object "TypeError: |this| is not a Promise"
+FAIL Errors must be propagated backward: becomes errored before piping due to write; preventCancel = 0 (falsy); fulfilled cancel promise promise_test: Unhandled rejection with value: object "TypeError: |this| is not a Promise"
+FAIL Errors must be propagated backward: becomes errored before piping due to write; preventCancel = -0 (falsy); fulfilled cancel promise promise_test: Unhandled rejection with value: object "TypeError: |this| is not a Promise"
+FAIL Errors must be propagated backward: becomes errored before piping due to write; preventCancel = NaN (falsy); fulfilled cancel promise promise_test: Unhandled rejection with value: object "TypeError: |this| is not a Promise"
+FAIL Errors must be propagated backward: becomes errored before piping due to write; preventCancel =  (falsy); fulfilled cancel promise promise_test: Unhandled rejection with value: object "TypeError: |this| is not a Promise"
+FAIL Errors must be propagated backward: becomes errored before piping due to write; preventCancel = true (truthy) promise_test: Unhandled rejection with value: object "TypeError: |this| is not a Promise"
+FAIL Errors must be propagated backward: becomes errored before piping due to write; preventCancel = a (truthy) promise_test: Unhandled rejection with value: object "TypeError: |this| is not a Promise"
+FAIL Errors must be propagated backward: becomes errored before piping due to write; preventCancel = 1 (truthy) promise_test: Unhandled rejection with value: object "TypeError: |this| is not a Promise"
+FAIL Errors must be propagated backward: becomes errored before piping due to write; preventCancel = Symbol() (truthy) promise_test: Unhandled rejection with value: object "TypeError: |this| is not a Promise"
+FAIL Errors must be propagated backward: becomes errored before piping due to write; preventCancel = [object Object] (truthy) promise_test: Unhandled rejection with value: object "TypeError: |this| is not a Promise"
+FAIL Errors must be propagated backward: becomes errored before piping due to write, preventCancel = true; preventAbort = true promise_test: Unhandled rejection with value: object "TypeError: |this| is not a Promise"
+FAIL Errors must be propagated backward: becomes errored before piping due to write; preventCancel = true, preventAbort = true, preventClose = true promise_test: Unhandled rejection with value: object "TypeError: |this| is not a Promise"
+FAIL Errors must be propagated backward: becomes errored during piping due to write; preventCancel omitted; fulfilled cancel promise |this| is not a Promise
+FAIL Errors must be propagated backward: becomes errored during piping due to write; preventCancel omitted; rejected cancel promise |this| is not a Promise
+FAIL Errors must be propagated backward: becomes errored during piping due to write; preventCancel = true |this| is not a Promise
+FAIL Errors must be propagated backward: becomes errored during piping due to write, but async; preventCancel = false; fulfilled cancel promise |this| is not a Promise
+FAIL Errors must be propagated backward: becomes errored during piping due to write, but async; preventCancel = false; rejected cancel promise |this| is not a Promise
+FAIL Errors must be propagated backward: becomes errored during piping due to write, but async; preventCancel = true |this| is not a Promise
+FAIL Errors must be propagated backward: becomes errored after piping; preventCancel omitted; fulfilled cancel promise |this| is not a Promise
+FAIL Errors must be propagated backward: becomes errored after piping; preventCancel omitted; rejected cancel promise |this| is not a Promise
+FAIL Errors must be propagated backward: becomes errored after piping; preventCancel = true |this| is not a Promise
+FAIL Errors must be propagated backward: becomes errored after piping due to last write; source is closed; preventCancel omitted (but cancel is never called) |this| is not a Promise
+FAIL Errors must be propagated backward: becomes errored after piping due to last write; source is closed; preventCancel = true |this| is not a Promise
+FAIL Errors must be propagated backward: becomes errored after piping; dest never desires chunks; preventCancel = false; fulfilled cancel promise |this| is not a Promise
+FAIL Errors must be propagated backward: becomes errored after piping; dest never desires chunks; preventCancel = false; rejected cancel promise |this| is not a Promise
+FAIL Errors must be propagated backward: becomes errored after piping; dest never desires chunks; preventCancel = true |this| is not a Promise
+FAIL Errors must be propagated backward: becomes errored before piping via abort; preventCancel omitted; fulfilled cancel promise |this| is not a Promise
+FAIL Errors must be propagated backward: becomes errored before piping via abort; preventCancel omitted; rejected cancel promise |this| is not a Promise
+FAIL Errors must be propagated backward: becomes errored before piping via abort; preventCancel = true |this| is not a Promise
+FAIL Errors must be propagated backward: erroring via the controller errors once pending write completes |this| is not a Promise
</ins><span class="cx"> 
</span><del>-PASS Errors must be propagated backward: starts errored; preventCancel omitted; fulfilled cancel promise 
-FAIL Errors must be propagated backward: becomes errored before piping due to write; preventCancel omitted; fulfilled cancel promise ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL Errors must be propagated backward: becomes errored before piping due to write; preventCancel omitted; rejected cancel promise ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL Errors must be propagated backward: becomes errored before piping due to write; preventCancel = undefined (falsy); fulfilled cancel promise ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL Errors must be propagated backward: becomes errored before piping due to write; preventCancel = null (falsy); fulfilled cancel promise ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL Errors must be propagated backward: becomes errored before piping due to write; preventCancel = false (falsy); fulfilled cancel promise ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL Errors must be propagated backward: becomes errored before piping due to write; preventCancel = 0 (falsy); fulfilled cancel promise ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL Errors must be propagated backward: becomes errored before piping due to write; preventCancel = -0 (falsy); fulfilled cancel promise ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL Errors must be propagated backward: becomes errored before piping due to write; preventCancel = NaN (falsy); fulfilled cancel promise ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL Errors must be propagated backward: becomes errored before piping due to write; preventCancel =  (falsy); fulfilled cancel promise ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL Errors must be propagated backward: becomes errored before piping due to write; preventCancel = true (truthy) ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL Errors must be propagated backward: becomes errored before piping due to write; preventCancel = a (truthy) ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL Errors must be propagated backward: becomes errored before piping due to write; preventCancel = 1 (truthy) ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL Errors must be propagated backward: becomes errored before piping due to write; preventCancel = Symbol() (truthy) ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL Errors must be propagated backward: becomes errored before piping due to write; preventCancel = [object Object] (truthy) ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL Errors must be propagated backward: becomes errored before piping due to write, preventCancel = true; preventAbort = true ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL Errors must be propagated backward: becomes errored before piping due to write; preventCancel = true, preventAbort = true, preventClose = true ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-PASS Errors must be propagated backward: becomes errored during piping due to write; preventCancel omitted; fulfilled cancel promise 
-FAIL Errors must be propagated backward: becomes errored during piping due to write; preventCancel omitted; rejected cancel promise promise_rejects_exactly: pipeTo must reject with the cancel error function "function () { throw e }" threw object "error1: error1!" but we expected it to throw object "error2: error2!"
-TIMEOUT Errors must be propagated backward: becomes errored during piping due to write; preventCancel = true Test timed out
-NOTRUN Errors must be propagated backward: becomes errored during piping due to write, but async; preventCancel = false; fulfilled cancel promise 
-NOTRUN Errors must be propagated backward: becomes errored during piping due to write, but async; preventCancel = false; rejected cancel promise 
-NOTRUN Errors must be propagated backward: becomes errored during piping due to write, but async; preventCancel = true 
-NOTRUN Errors must be propagated backward: becomes errored after piping; preventCancel omitted; fulfilled cancel promise 
-NOTRUN Errors must be propagated backward: becomes errored after piping; preventCancel omitted; rejected cancel promise 
-NOTRUN Errors must be propagated backward: becomes errored after piping; preventCancel = true 
-NOTRUN Errors must be propagated backward: becomes errored after piping due to last write; source is closed; preventCancel omitted (but cancel is never called) 
-NOTRUN Errors must be propagated backward: becomes errored after piping due to last write; source is closed; preventCancel = true 
-NOTRUN Errors must be propagated backward: becomes errored after piping; dest never desires chunks; preventCancel = false; fulfilled cancel promise 
-NOTRUN Errors must be propagated backward: becomes errored after piping; dest never desires chunks; preventCancel = false; rejected cancel promise 
-NOTRUN Errors must be propagated backward: becomes errored after piping; dest never desires chunks; preventCancel = true 
-NOTRUN Errors must be propagated backward: becomes errored before piping via abort; preventCancel omitted; fulfilled cancel promise 
-NOTRUN Errors must be propagated backward: becomes errored before piping via abort; preventCancel omitted; rejected cancel promise 
-NOTRUN Errors must be propagated backward: becomes errored before piping via abort; preventCancel = true 
-NOTRUN Errors must be propagated backward: erroring via the controller errors once pending write completes 
-
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsstreamspipingerrorpropagationbackwardanyworkerexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/error-propagation-backward.any.worker-expected.txt (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/error-propagation-backward.any.worker-expected.txt      2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/error-propagation-backward.any.worker-expected.txt 2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -1,37 +1,37 @@
</span><span class="cx"> 
</span><del>-FAIL Errors must be propagated backward: starts errored; preventCancel omitted; fulfilled cancel promise Can't find variable: WritableStream
-FAIL Errors must be propagated backward: becomes errored before piping due to write; preventCancel omitted; fulfilled cancel promise Can't find variable: WritableStream
-FAIL Errors must be propagated backward: becomes errored before piping due to write; preventCancel omitted; rejected cancel promise Can't find variable: WritableStream
-FAIL Errors must be propagated backward: becomes errored before piping due to write; preventCancel = undefined (falsy); fulfilled cancel promise Can't find variable: WritableStream
-FAIL Errors must be propagated backward: becomes errored before piping due to write; preventCancel = null (falsy); fulfilled cancel promise Can't find variable: WritableStream
-FAIL Errors must be propagated backward: becomes errored before piping due to write; preventCancel = false (falsy); fulfilled cancel promise Can't find variable: WritableStream
-FAIL Errors must be propagated backward: becomes errored before piping due to write; preventCancel = 0 (falsy); fulfilled cancel promise Can't find variable: WritableStream
-FAIL Errors must be propagated backward: becomes errored before piping due to write; preventCancel = -0 (falsy); fulfilled cancel promise Can't find variable: WritableStream
-FAIL Errors must be propagated backward: becomes errored before piping due to write; preventCancel = NaN (falsy); fulfilled cancel promise Can't find variable: WritableStream
-FAIL Errors must be propagated backward: becomes errored before piping due to write; preventCancel =  (falsy); fulfilled cancel promise Can't find variable: WritableStream
-FAIL Errors must be propagated backward: becomes errored before piping due to write; preventCancel = true (truthy) Can't find variable: WritableStream
-FAIL Errors must be propagated backward: becomes errored before piping due to write; preventCancel = a (truthy) Can't find variable: WritableStream
-FAIL Errors must be propagated backward: becomes errored before piping due to write; preventCancel = 1 (truthy) Can't find variable: WritableStream
-FAIL Errors must be propagated backward: becomes errored before piping due to write; preventCancel = Symbol() (truthy) Can't find variable: WritableStream
-FAIL Errors must be propagated backward: becomes errored before piping due to write; preventCancel = [object Object] (truthy) Can't find variable: WritableStream
-FAIL Errors must be propagated backward: becomes errored before piping due to write, preventCancel = true; preventAbort = true Can't find variable: WritableStream
-FAIL Errors must be propagated backward: becomes errored before piping due to write; preventCancel = true, preventAbort = true, preventClose = true Can't find variable: WritableStream
-FAIL Errors must be propagated backward: becomes errored during piping due to write; preventCancel omitted; fulfilled cancel promise Can't find variable: WritableStream
-FAIL Errors must be propagated backward: becomes errored during piping due to write; preventCancel omitted; rejected cancel promise Can't find variable: WritableStream
-FAIL Errors must be propagated backward: becomes errored during piping due to write; preventCancel = true Can't find variable: WritableStream
-FAIL Errors must be propagated backward: becomes errored during piping due to write, but async; preventCancel = false; fulfilled cancel promise Can't find variable: WritableStream
-FAIL Errors must be propagated backward: becomes errored during piping due to write, but async; preventCancel = false; rejected cancel promise Can't find variable: WritableStream
-FAIL Errors must be propagated backward: becomes errored during piping due to write, but async; preventCancel = true Can't find variable: WritableStream
-FAIL Errors must be propagated backward: becomes errored after piping; preventCancel omitted; fulfilled cancel promise Can't find variable: WritableStream
-FAIL Errors must be propagated backward: becomes errored after piping; preventCancel omitted; rejected cancel promise Can't find variable: WritableStream
-FAIL Errors must be propagated backward: becomes errored after piping; preventCancel = true Can't find variable: WritableStream
-FAIL Errors must be propagated backward: becomes errored after piping due to last write; source is closed; preventCancel omitted (but cancel is never called) Can't find variable: WritableStream
-FAIL Errors must be propagated backward: becomes errored after piping due to last write; source is closed; preventCancel = true Can't find variable: WritableStream
-FAIL Errors must be propagated backward: becomes errored after piping; dest never desires chunks; preventCancel = false; fulfilled cancel promise Can't find variable: WritableStream
-FAIL Errors must be propagated backward: becomes errored after piping; dest never desires chunks; preventCancel = false; rejected cancel promise Can't find variable: WritableStream
-FAIL Errors must be propagated backward: becomes errored after piping; dest never desires chunks; preventCancel = true Can't find variable: WritableStream
-FAIL Errors must be propagated backward: becomes errored before piping via abort; preventCancel omitted; fulfilled cancel promise Can't find variable: WritableStream
-FAIL Errors must be propagated backward: becomes errored before piping via abort; preventCancel omitted; rejected cancel promise Can't find variable: WritableStream
-FAIL Errors must be propagated backward: becomes errored before piping via abort; preventCancel = true Can't find variable: WritableStream
-FAIL Errors must be propagated backward: erroring via the controller errors once pending write completes Can't find variable: WritableStream
</del><ins>+FAIL Errors must be propagated backward: starts errored; preventCancel omitted; fulfilled cancel promise |this| is not a Promise
+FAIL Errors must be propagated backward: becomes errored before piping due to write; preventCancel omitted; fulfilled cancel promise promise_test: Unhandled rejection with value: object "TypeError: |this| is not a Promise"
+FAIL Errors must be propagated backward: becomes errored before piping due to write; preventCancel omitted; rejected cancel promise promise_test: Unhandled rejection with value: object "TypeError: |this| is not a Promise"
+FAIL Errors must be propagated backward: becomes errored before piping due to write; preventCancel = undefined (falsy); fulfilled cancel promise promise_test: Unhandled rejection with value: object "TypeError: |this| is not a Promise"
+FAIL Errors must be propagated backward: becomes errored before piping due to write; preventCancel = null (falsy); fulfilled cancel promise promise_test: Unhandled rejection with value: object "TypeError: |this| is not a Promise"
+FAIL Errors must be propagated backward: becomes errored before piping due to write; preventCancel = false (falsy); fulfilled cancel promise promise_test: Unhandled rejection with value: object "TypeError: |this| is not a Promise"
+FAIL Errors must be propagated backward: becomes errored before piping due to write; preventCancel = 0 (falsy); fulfilled cancel promise promise_test: Unhandled rejection with value: object "TypeError: |this| is not a Promise"
+FAIL Errors must be propagated backward: becomes errored before piping due to write; preventCancel = -0 (falsy); fulfilled cancel promise promise_test: Unhandled rejection with value: object "TypeError: |this| is not a Promise"
+FAIL Errors must be propagated backward: becomes errored before piping due to write; preventCancel = NaN (falsy); fulfilled cancel promise promise_test: Unhandled rejection with value: object "TypeError: |this| is not a Promise"
+FAIL Errors must be propagated backward: becomes errored before piping due to write; preventCancel =  (falsy); fulfilled cancel promise promise_test: Unhandled rejection with value: object "TypeError: |this| is not a Promise"
+FAIL Errors must be propagated backward: becomes errored before piping due to write; preventCancel = true (truthy) promise_test: Unhandled rejection with value: object "TypeError: |this| is not a Promise"
+FAIL Errors must be propagated backward: becomes errored before piping due to write; preventCancel = a (truthy) promise_test: Unhandled rejection with value: object "TypeError: |this| is not a Promise"
+FAIL Errors must be propagated backward: becomes errored before piping due to write; preventCancel = 1 (truthy) promise_test: Unhandled rejection with value: object "TypeError: |this| is not a Promise"
+FAIL Errors must be propagated backward: becomes errored before piping due to write; preventCancel = Symbol() (truthy) promise_test: Unhandled rejection with value: object "TypeError: |this| is not a Promise"
+FAIL Errors must be propagated backward: becomes errored before piping due to write; preventCancel = [object Object] (truthy) promise_test: Unhandled rejection with value: object "TypeError: |this| is not a Promise"
+FAIL Errors must be propagated backward: becomes errored before piping due to write, preventCancel = true; preventAbort = true promise_test: Unhandled rejection with value: object "TypeError: |this| is not a Promise"
+FAIL Errors must be propagated backward: becomes errored before piping due to write; preventCancel = true, preventAbort = true, preventClose = true promise_test: Unhandled rejection with value: object "TypeError: |this| is not a Promise"
+FAIL Errors must be propagated backward: becomes errored during piping due to write; preventCancel omitted; fulfilled cancel promise |this| is not a Promise
+FAIL Errors must be propagated backward: becomes errored during piping due to write; preventCancel omitted; rejected cancel promise |this| is not a Promise
+FAIL Errors must be propagated backward: becomes errored during piping due to write; preventCancel = true |this| is not a Promise
+FAIL Errors must be propagated backward: becomes errored during piping due to write, but async; preventCancel = false; fulfilled cancel promise |this| is not a Promise
+FAIL Errors must be propagated backward: becomes errored during piping due to write, but async; preventCancel = false; rejected cancel promise |this| is not a Promise
+FAIL Errors must be propagated backward: becomes errored during piping due to write, but async; preventCancel = true |this| is not a Promise
+FAIL Errors must be propagated backward: becomes errored after piping; preventCancel omitted; fulfilled cancel promise |this| is not a Promise
+FAIL Errors must be propagated backward: becomes errored after piping; preventCancel omitted; rejected cancel promise |this| is not a Promise
+FAIL Errors must be propagated backward: becomes errored after piping; preventCancel = true |this| is not a Promise
+FAIL Errors must be propagated backward: becomes errored after piping due to last write; source is closed; preventCancel omitted (but cancel is never called) |this| is not a Promise
+FAIL Errors must be propagated backward: becomes errored after piping due to last write; source is closed; preventCancel = true |this| is not a Promise
+FAIL Errors must be propagated backward: becomes errored after piping; dest never desires chunks; preventCancel = false; fulfilled cancel promise |this| is not a Promise
+FAIL Errors must be propagated backward: becomes errored after piping; dest never desires chunks; preventCancel = false; rejected cancel promise |this| is not a Promise
+FAIL Errors must be propagated backward: becomes errored after piping; dest never desires chunks; preventCancel = true |this| is not a Promise
+FAIL Errors must be propagated backward: becomes errored before piping via abort; preventCancel omitted; fulfilled cancel promise |this| is not a Promise
+FAIL Errors must be propagated backward: becomes errored before piping via abort; preventCancel omitted; rejected cancel promise |this| is not a Promise
+FAIL Errors must be propagated backward: becomes errored before piping via abort; preventCancel = true |this| is not a Promise
+FAIL Errors must be propagated backward: erroring via the controller errors once pending write completes |this| is not a Promise
</ins><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsstreamspipingerrorpropagationforwardanyexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/error-propagation-forward.any-expected.txt (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/error-propagation-forward.any-expected.txt      2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/error-propagation-forward.any-expected.txt 2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -1,22 +1,13 @@
</span><span class="cx"> CONSOLE MESSAGE: Unhandled Promise Rejection: error1: error1!
</span><del>-CONSOLE MESSAGE: Unhandled Promise Rejection: TypeError: cancel() called on a reader owned by no readable stream
</del><span class="cx"> CONSOLE MESSAGE: Unhandled Promise Rejection: error1: error1!
</span><del>-CONSOLE MESSAGE: Unhandled Promise Rejection: TypeError: cancel() called on a reader owned by no readable stream
</del><span class="cx"> CONSOLE MESSAGE: Unhandled Promise Rejection: error2: error2!
</span><span class="cx"> CONSOLE MESSAGE: Unhandled Promise Rejection: error1: error1!
</span><del>-CONSOLE MESSAGE: Unhandled Promise Rejection: TypeError: cancel() called on a reader owned by no readable stream
</del><span class="cx"> CONSOLE MESSAGE: Unhandled Promise Rejection: error1: error1!
</span><del>-CONSOLE MESSAGE: Unhandled Promise Rejection: TypeError: cancel() called on a reader owned by no readable stream
</del><span class="cx"> CONSOLE MESSAGE: Unhandled Promise Rejection: error1: error1!
</span><del>-CONSOLE MESSAGE: Unhandled Promise Rejection: TypeError: cancel() called on a reader owned by no readable stream
</del><span class="cx"> CONSOLE MESSAGE: Unhandled Promise Rejection: error1: error1!
</span><del>-CONSOLE MESSAGE: Unhandled Promise Rejection: TypeError: cancel() called on a reader owned by no readable stream
</del><span class="cx"> CONSOLE MESSAGE: Unhandled Promise Rejection: error1: error1!
</span><del>-CONSOLE MESSAGE: Unhandled Promise Rejection: TypeError: cancel() called on a reader owned by no readable stream
</del><span class="cx"> CONSOLE MESSAGE: Unhandled Promise Rejection: error1: error1!
</span><del>-CONSOLE MESSAGE: Unhandled Promise Rejection: TypeError: cancel() called on a reader owned by no readable stream
</del><span class="cx"> CONSOLE MESSAGE: Unhandled Promise Rejection: error1: error1!
</span><del>-CONSOLE MESSAGE: Unhandled Promise Rejection: TypeError: cancel() called on a reader owned by no readable stream
</del><span class="cx"> CONSOLE MESSAGE: Unhandled Promise Rejection: error1: error1!
</span><span class="cx"> CONSOLE MESSAGE: Unhandled Promise Rejection: error1: error1!
</span><span class="cx"> CONSOLE MESSAGE: Unhandled Promise Rejection: error1: error1!
</span><span class="lines">@@ -24,72 +15,37 @@
</span><span class="cx"> CONSOLE MESSAGE: Unhandled Promise Rejection: error1: error1!
</span><span class="cx"> CONSOLE MESSAGE: Unhandled Promise Rejection: error1: error1!
</span><span class="cx"> CONSOLE MESSAGE: Unhandled Promise Rejection: error1: error1!
</span><del>-CONSOLE MESSAGE: Unhandled Promise Rejection: error1: error1!
-CONSOLE MESSAGE: Unhandled Promise Rejection: TypeError: cancel() called on a reader owned by no readable stream
-CONSOLE MESSAGE: Unhandled Promise Rejection: error1: error1!
-CONSOLE MESSAGE: Unhandled Promise Rejection: TypeError: cancel() called on a reader owned by no readable stream
-CONSOLE MESSAGE: Unhandled Promise Rejection: error2: error2!
-CONSOLE MESSAGE: Unhandled Promise Rejection: error1: error1!
-CONSOLE MESSAGE: Unhandled Promise Rejection: error1: error1!
-CONSOLE MESSAGE: Unhandled Promise Rejection: TypeError: cancel() called on a reader owned by no readable stream
-CONSOLE MESSAGE: Unhandled Promise Rejection: error1: error1!
-CONSOLE MESSAGE: Unhandled Promise Rejection: TypeError: cancel() called on a reader owned by no readable stream
-CONSOLE MESSAGE: Unhandled Promise Rejection: error2: error2!
-CONSOLE MESSAGE: Unhandled Promise Rejection: error1: error1!
-CONSOLE MESSAGE: Unhandled Promise Rejection: error1: error1!
-CONSOLE MESSAGE: Unhandled Promise Rejection: TypeError: cancel() called on a reader owned by no readable stream
-CONSOLE MESSAGE: Unhandled Promise Rejection: error1: error1!
-CONSOLE MESSAGE: Unhandled Promise Rejection: TypeError: cancel() called on a reader owned by no readable stream
-CONSOLE MESSAGE: Unhandled Promise Rejection: error2: error2!
-CONSOLE MESSAGE: Unhandled Promise Rejection: error1: error1!
-CONSOLE MESSAGE: Unhandled Promise Rejection: error1: error1!
-CONSOLE MESSAGE: Unhandled Promise Rejection: TypeError: cancel() called on a reader owned by no readable stream
-CONSOLE MESSAGE: Unhandled Promise Rejection: error1: error1!
-CONSOLE MESSAGE: Unhandled Promise Rejection: TypeError: cancel() called on a reader owned by no readable stream
-CONSOLE MESSAGE: Unhandled Promise Rejection: error2: error2!
-CONSOLE MESSAGE: Unhandled Promise Rejection: error1: error1!
-CONSOLE MESSAGE: Unhandled Promise Rejection: error1: error1!
-CONSOLE MESSAGE: Unhandled Promise Rejection: error1: error1!
-CONSOLE MESSAGE: Unhandled Promise Rejection: TypeError: cancel() called on a reader owned by no readable stream
-CONSOLE MESSAGE: Unhandled Promise Rejection: error1: error1!
-CONSOLE MESSAGE: Unhandled Promise Rejection: error1: error1!
-CONSOLE MESSAGE: Unhandled Promise Rejection: error1: error1!
-CONSOLE MESSAGE: Unhandled Promise Rejection: error1: error1!
-CONSOLE MESSAGE: Unhandled Promise Rejection: TypeError: cancel() called on a reader owned by no readable stream
-CONSOLE MESSAGE: Unhandled Promise Rejection: error1: error1!
</del><span class="cx"> 
</span><del>-Harness Error (FAIL), message = Unhandled rejection: error1!
</del><ins>+FAIL Errors must be propagated forward: starts errored; preventAbort = false; fulfilled abort promise |this| is not a Promise
+FAIL Errors must be propagated forward: starts errored; preventAbort = false; rejected abort promise |this| is not a Promise
+FAIL Errors must be propagated forward: starts errored; preventAbort = undefined (falsy); fulfilled abort promise |this| is not a Promise
+FAIL Errors must be propagated forward: starts errored; preventAbort = null (falsy); fulfilled abort promise |this| is not a Promise
+FAIL Errors must be propagated forward: starts errored; preventAbort = false (falsy); fulfilled abort promise |this| is not a Promise
+FAIL Errors must be propagated forward: starts errored; preventAbort = 0 (falsy); fulfilled abort promise |this| is not a Promise
+FAIL Errors must be propagated forward: starts errored; preventAbort = -0 (falsy); fulfilled abort promise |this| is not a Promise
+FAIL Errors must be propagated forward: starts errored; preventAbort = NaN (falsy); fulfilled abort promise |this| is not a Promise
+FAIL Errors must be propagated forward: starts errored; preventAbort =  (falsy); fulfilled abort promise |this| is not a Promise
+FAIL Errors must be propagated forward: starts errored; preventAbort = true (truthy) |this| is not a Promise
+FAIL Errors must be propagated forward: starts errored; preventAbort = a (truthy) |this| is not a Promise
+FAIL Errors must be propagated forward: starts errored; preventAbort = 1 (truthy) |this| is not a Promise
+FAIL Errors must be propagated forward: starts errored; preventAbort = Symbol() (truthy) |this| is not a Promise
+FAIL Errors must be propagated forward: starts errored; preventAbort = [object Object] (truthy) |this| is not a Promise
+FAIL Errors must be propagated forward: starts errored; preventAbort = true, preventCancel = true |this| is not a Promise
+FAIL Errors must be propagated forward: starts errored; preventAbort = true, preventCancel = true, preventClose = true |this| is not a Promise
+FAIL Errors must be propagated forward: becomes errored while empty; preventAbort = false; fulfilled abort promise |this| is not a Promise
+FAIL Errors must be propagated forward: becomes errored while empty; preventAbort = false; rejected abort promise |this| is not a Promise
+FAIL Errors must be propagated forward: becomes errored while empty; preventAbort = true |this| is not a Promise
+FAIL Errors must be propagated forward: becomes errored while empty; dest never desires chunks; preventAbort = false; fulfilled abort promise |this| is not a Promise
+FAIL Errors must be propagated forward: becomes errored while empty; dest never desires chunks; preventAbort = false; rejected abort promise |this| is not a Promise
+FAIL Errors must be propagated forward: becomes errored while empty; dest never desires chunks; preventAbort = true |this| is not a Promise
+FAIL Errors must be propagated forward: becomes errored after one chunk; preventAbort = false; fulfilled abort promise |this| is not a Promise
+FAIL Errors must be propagated forward: becomes errored after one chunk; preventAbort = false; rejected abort promise |this| is not a Promise
+FAIL Errors must be propagated forward: becomes errored after one chunk; preventAbort = true |this| is not a Promise
+FAIL Errors must be propagated forward: becomes errored after one chunk; dest never desires chunks; preventAbort = false; fulfilled abort promise |this| is not a Promise
+FAIL Errors must be propagated forward: becomes errored after one chunk; dest never desires chunks; preventAbort = false; rejected abort promise |this| is not a Promise
+FAIL Errors must be propagated forward: becomes errored after one chunk; dest never desires chunks; preventAbort = true |this| is not a Promise
+FAIL Errors must be propagated forward: shutdown must not occur until the final write completes |this| is not a Promise
+FAIL Errors must be propagated forward: shutdown must not occur until the final write completes; preventAbort = true |this| is not a Promise
+FAIL Errors must be propagated forward: shutdown must not occur until the final write completes; becomes errored after first write |this| is not a Promise
+FAIL Errors must be propagated forward: shutdown must not occur until the final write completes; becomes errored after first write; preventAbort = true |this| is not a Promise
</ins><span class="cx"> 
</span><del>-PASS Errors must be propagated forward: starts errored; preventAbort = false; fulfilled abort promise 
-FAIL Errors must be propagated forward: starts errored; preventAbort = false; rejected abort promise promise_rejects_exactly: pipeTo must reject with the abort error function "function () { throw e }" threw object "error1: error1!" but we expected it to throw object "error2: error2!"
-PASS Errors must be propagated forward: starts errored; preventAbort = undefined (falsy); fulfilled abort promise 
-PASS Errors must be propagated forward: starts errored; preventAbort = null (falsy); fulfilled abort promise 
-PASS Errors must be propagated forward: starts errored; preventAbort = false (falsy); fulfilled abort promise 
-PASS Errors must be propagated forward: starts errored; preventAbort = 0 (falsy); fulfilled abort promise 
-PASS Errors must be propagated forward: starts errored; preventAbort = -0 (falsy); fulfilled abort promise 
-PASS Errors must be propagated forward: starts errored; preventAbort = NaN (falsy); fulfilled abort promise 
-PASS Errors must be propagated forward: starts errored; preventAbort =  (falsy); fulfilled abort promise 
-PASS Errors must be propagated forward: starts errored; preventAbort = true (truthy) 
-PASS Errors must be propagated forward: starts errored; preventAbort = a (truthy) 
-PASS Errors must be propagated forward: starts errored; preventAbort = 1 (truthy) 
-PASS Errors must be propagated forward: starts errored; preventAbort = Symbol() (truthy) 
-PASS Errors must be propagated forward: starts errored; preventAbort = [object Object] (truthy) 
-PASS Errors must be propagated forward: starts errored; preventAbort = true, preventCancel = true 
-PASS Errors must be propagated forward: starts errored; preventAbort = true, preventCancel = true, preventClose = true 
-PASS Errors must be propagated forward: becomes errored while empty; preventAbort = false; fulfilled abort promise 
-FAIL Errors must be propagated forward: becomes errored while empty; preventAbort = false; rejected abort promise promise_rejects_exactly: pipeTo must reject with the abort error function "function () { throw e }" threw object "error1: error1!" but we expected it to throw object "error2: error2!"
-PASS Errors must be propagated forward: becomes errored while empty; preventAbort = true 
-PASS Errors must be propagated forward: becomes errored while empty; dest never desires chunks; preventAbort = false; fulfilled abort promise 
-FAIL Errors must be propagated forward: becomes errored while empty; dest never desires chunks; preventAbort = false; rejected abort promise promise_rejects_exactly: pipeTo must reject with the abort error function "function () { throw e }" threw object "error1: error1!" but we expected it to throw object "error2: error2!"
-PASS Errors must be propagated forward: becomes errored while empty; dest never desires chunks; preventAbort = true 
-PASS Errors must be propagated forward: becomes errored after one chunk; preventAbort = false; fulfilled abort promise 
-FAIL Errors must be propagated forward: becomes errored after one chunk; preventAbort = false; rejected abort promise promise_rejects_exactly: pipeTo must reject with the abort error function "function () { throw e }" threw object "error1: error1!" but we expected it to throw object "error2: error2!"
-PASS Errors must be propagated forward: becomes errored after one chunk; preventAbort = true 
-FAIL Errors must be propagated forward: becomes errored after one chunk; dest never desires chunks; preventAbort = false; fulfilled abort promise assert_array_equals: lengths differ, expected array ["abort", object "error1: error1!"] length 2, got ["write", "Hello", "abort", object "error1: error1!"] length 4
-FAIL Errors must be propagated forward: becomes errored after one chunk; dest never desires chunks; preventAbort = false; rejected abort promise promise_rejects_exactly: pipeTo must reject with the abort error function "function () { throw e }" threw object "error1: error1!" but we expected it to throw object "error2: error2!"
-FAIL Errors must be propagated forward: becomes errored after one chunk; dest never desires chunks; preventAbort = true assert_array_equals: lengths differ, expected array [] length 0, got ["write", "Hello"] length 2
-FAIL Errors must be propagated forward: shutdown must not occur until the final write completes assert_array_equals: lengths differ, expected array ["write", "a"] length 2, got ["write", "a", "abort", object "error1: error1!"] length 4
-FAIL Errors must be propagated forward: shutdown must not occur until the final write completes; preventAbort = true assert_equals: the pipe must not be complete expected false but got true
-FAIL Errors must be propagated forward: shutdown must not occur until the final write completes; becomes errored after first write assert_array_equals: the second chunk must have been written, but abort must not have happened yet expected property 2 to be "write" but got "abort" (expected array ["write", "a", "write", "b"] got ["write", "a", "abort", object "error1: error1!"])
-FAIL Errors must be propagated forward: shutdown must not occur until the final write completes; becomes errored after first write; preventAbort = true assert_false: the pipe should not complete while the second write is pending expected false got true
-
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsstreamspipingerrorpropagationforwardanyworkerexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/error-propagation-forward.any.worker-expected.txt (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/error-propagation-forward.any.worker-expected.txt       2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/error-propagation-forward.any.worker-expected.txt  2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -1,34 +1,34 @@
</span><span class="cx"> 
</span><del>-FAIL Errors must be propagated forward: starts errored; preventAbort = false; fulfilled abort promise Can't find variable: WritableStream
-FAIL Errors must be propagated forward: starts errored; preventAbort = false; rejected abort promise Can't find variable: WritableStream
-FAIL Errors must be propagated forward: starts errored; preventAbort = undefined (falsy); fulfilled abort promise Can't find variable: WritableStream
-FAIL Errors must be propagated forward: starts errored; preventAbort = null (falsy); fulfilled abort promise Can't find variable: WritableStream
-FAIL Errors must be propagated forward: starts errored; preventAbort = false (falsy); fulfilled abort promise Can't find variable: WritableStream
-FAIL Errors must be propagated forward: starts errored; preventAbort = 0 (falsy); fulfilled abort promise Can't find variable: WritableStream
-FAIL Errors must be propagated forward: starts errored; preventAbort = -0 (falsy); fulfilled abort promise Can't find variable: WritableStream
-FAIL Errors must be propagated forward: starts errored; preventAbort = NaN (falsy); fulfilled abort promise Can't find variable: WritableStream
-FAIL Errors must be propagated forward: starts errored; preventAbort =  (falsy); fulfilled abort promise Can't find variable: WritableStream
-FAIL Errors must be propagated forward: starts errored; preventAbort = true (truthy) Can't find variable: WritableStream
-FAIL Errors must be propagated forward: starts errored; preventAbort = a (truthy) Can't find variable: WritableStream
-FAIL Errors must be propagated forward: starts errored; preventAbort = 1 (truthy) Can't find variable: WritableStream
-FAIL Errors must be propagated forward: starts errored; preventAbort = Symbol() (truthy) Can't find variable: WritableStream
-FAIL Errors must be propagated forward: starts errored; preventAbort = [object Object] (truthy) Can't find variable: WritableStream
-FAIL Errors must be propagated forward: starts errored; preventAbort = true, preventCancel = true Can't find variable: WritableStream
-FAIL Errors must be propagated forward: starts errored; preventAbort = true, preventCancel = true, preventClose = true Can't find variable: WritableStream
-FAIL Errors must be propagated forward: becomes errored while empty; preventAbort = false; fulfilled abort promise Can't find variable: WritableStream
-FAIL Errors must be propagated forward: becomes errored while empty; preventAbort = false; rejected abort promise Can't find variable: WritableStream
-FAIL Errors must be propagated forward: becomes errored while empty; preventAbort = true Can't find variable: WritableStream
-FAIL Errors must be propagated forward: becomes errored while empty; dest never desires chunks; preventAbort = false; fulfilled abort promise Can't find variable: WritableStream
-FAIL Errors must be propagated forward: becomes errored while empty; dest never desires chunks; preventAbort = false; rejected abort promise Can't find variable: WritableStream
-FAIL Errors must be propagated forward: becomes errored while empty; dest never desires chunks; preventAbort = true Can't find variable: WritableStream
-FAIL Errors must be propagated forward: becomes errored after one chunk; preventAbort = false; fulfilled abort promise Can't find variable: WritableStream
-FAIL Errors must be propagated forward: becomes errored after one chunk; preventAbort = false; rejected abort promise Can't find variable: WritableStream
-FAIL Errors must be propagated forward: becomes errored after one chunk; preventAbort = true Can't find variable: WritableStream
-FAIL Errors must be propagated forward: becomes errored after one chunk; dest never desires chunks; preventAbort = false; fulfilled abort promise Can't find variable: WritableStream
-FAIL Errors must be propagated forward: becomes errored after one chunk; dest never desires chunks; preventAbort = false; rejected abort promise Can't find variable: WritableStream
-FAIL Errors must be propagated forward: becomes errored after one chunk; dest never desires chunks; preventAbort = true Can't find variable: WritableStream
-FAIL Errors must be propagated forward: shutdown must not occur until the final write completes Can't find variable: WritableStream
-FAIL Errors must be propagated forward: shutdown must not occur until the final write completes; preventAbort = true Can't find variable: WritableStream
-FAIL Errors must be propagated forward: shutdown must not occur until the final write completes; becomes errored after first write Can't find variable: WritableStream
-FAIL Errors must be propagated forward: shutdown must not occur until the final write completes; becomes errored after first write; preventAbort = true Can't find variable: WritableStream
</del><ins>+FAIL Errors must be propagated forward: starts errored; preventAbort = false; fulfilled abort promise |this| is not a Promise
+FAIL Errors must be propagated forward: starts errored; preventAbort = false; rejected abort promise |this| is not a Promise
+FAIL Errors must be propagated forward: starts errored; preventAbort = undefined (falsy); fulfilled abort promise |this| is not a Promise
+FAIL Errors must be propagated forward: starts errored; preventAbort = null (falsy); fulfilled abort promise |this| is not a Promise
+FAIL Errors must be propagated forward: starts errored; preventAbort = false (falsy); fulfilled abort promise |this| is not a Promise
+FAIL Errors must be propagated forward: starts errored; preventAbort = 0 (falsy); fulfilled abort promise |this| is not a Promise
+FAIL Errors must be propagated forward: starts errored; preventAbort = -0 (falsy); fulfilled abort promise |this| is not a Promise
+FAIL Errors must be propagated forward: starts errored; preventAbort = NaN (falsy); fulfilled abort promise |this| is not a Promise
+FAIL Errors must be propagated forward: starts errored; preventAbort =  (falsy); fulfilled abort promise |this| is not a Promise
+FAIL Errors must be propagated forward: starts errored; preventAbort = true (truthy) |this| is not a Promise
+FAIL Errors must be propagated forward: starts errored; preventAbort = a (truthy) |this| is not a Promise
+FAIL Errors must be propagated forward: starts errored; preventAbort = 1 (truthy) |this| is not a Promise
+FAIL Errors must be propagated forward: starts errored; preventAbort = Symbol() (truthy) |this| is not a Promise
+FAIL Errors must be propagated forward: starts errored; preventAbort = [object Object] (truthy) |this| is not a Promise
+FAIL Errors must be propagated forward: starts errored; preventAbort = true, preventCancel = true |this| is not a Promise
+FAIL Errors must be propagated forward: starts errored; preventAbort = true, preventCancel = true, preventClose = true |this| is not a Promise
+FAIL Errors must be propagated forward: becomes errored while empty; preventAbort = false; fulfilled abort promise |this| is not a Promise
+FAIL Errors must be propagated forward: becomes errored while empty; preventAbort = false; rejected abort promise |this| is not a Promise
+FAIL Errors must be propagated forward: becomes errored while empty; preventAbort = true |this| is not a Promise
+FAIL Errors must be propagated forward: becomes errored while empty; dest never desires chunks; preventAbort = false; fulfilled abort promise |this| is not a Promise
+FAIL Errors must be propagated forward: becomes errored while empty; dest never desires chunks; preventAbort = false; rejected abort promise |this| is not a Promise
+FAIL Errors must be propagated forward: becomes errored while empty; dest never desires chunks; preventAbort = true |this| is not a Promise
+FAIL Errors must be propagated forward: becomes errored after one chunk; preventAbort = false; fulfilled abort promise |this| is not a Promise
+FAIL Errors must be propagated forward: becomes errored after one chunk; preventAbort = false; rejected abort promise |this| is not a Promise
+FAIL Errors must be propagated forward: becomes errored after one chunk; preventAbort = true |this| is not a Promise
+FAIL Errors must be propagated forward: becomes errored after one chunk; dest never desires chunks; preventAbort = false; fulfilled abort promise |this| is not a Promise
+FAIL Errors must be propagated forward: becomes errored after one chunk; dest never desires chunks; preventAbort = false; rejected abort promise |this| is not a Promise
+FAIL Errors must be propagated forward: becomes errored after one chunk; dest never desires chunks; preventAbort = true |this| is not a Promise
+FAIL Errors must be propagated forward: shutdown must not occur until the final write completes |this| is not a Promise
+FAIL Errors must be propagated forward: shutdown must not occur until the final write completes; preventAbort = true |this| is not a Promise
+FAIL Errors must be propagated forward: shutdown must not occur until the final write completes; becomes errored after first write |this| is not a Promise
+FAIL Errors must be propagated forward: shutdown must not occur until the final write completes; becomes errored after first write; preventAbort = true |this| is not a Promise
</ins><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsstreamspipingflowcontrolanyexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/flow-control.any-expected.txt (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/flow-control.any-expected.txt   2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/flow-control.any-expected.txt      2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -1,7 +1,14 @@
</span><ins>+CONSOLE MESSAGE: Unhandled Promise Rejection: TypeError: writableStreamDefaultWriterRelease
+CONSOLE MESSAGE: Unhandled Promise Rejection: TypeError: writableStreamDefaultWriterRelease
+CONSOLE MESSAGE: Unhandled Promise Rejection: TypeError: writableStreamDefaultWriterRelease
+CONSOLE MESSAGE: Unhandled Promise Rejection: TypeError: writableStreamDefaultWriterRelease
+CONSOLE MESSAGE: Unhandled Promise Rejection: TypeError: writableStreamDefaultWriterRelease
</ins><span class="cx"> 
</span><del>-FAIL Piping from a non-empty ReadableStream into a WritableStream that does not desire chunks promise_test: Unhandled rejection with value: object "TypeError: ws.controller.error is not a function. (In 'ws.controller.error(error1)', 'ws.controller.error' is undefined)"
-FAIL Piping from a non-empty ReadableStream into a WritableStream that does not desire chunks, but then does ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL Piping from an empty ReadableStream into a WritableStream that does not desire chunks, but then the readable stream becomes non-empty and the writable stream starts desiring chunks ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL Piping from a ReadableStream to a WritableStream that desires more chunks before finishing with previous ones ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL Piping to a WritableStream that does not consume the writes fast enough exerts backpressure on the ReadableStream assert_array_equals: at step 4, the desiredSize at the last enqueue (step 3) must have been 0 expected property 1 to be 0 but got 1 (expected array [1, 0] got [1, 1])
</del><ins>+Harness Error (FAIL), message = Unhandled rejection: writableStreamDefaultWriterRelease
</ins><span class="cx"> 
</span><ins>+FAIL Piping from a non-empty ReadableStream into a WritableStream that does not desire chunks |this| is not a Promise
+FAIL Piping from a non-empty ReadableStream into a WritableStream that does not desire chunks, but then does |this| is not a Promise
+FAIL Piping from an empty ReadableStream into a WritableStream that does not desire chunks, but then the readable stream becomes non-empty and the writable stream starts desiring chunks promise_test: Unhandled rejection with value: object "TypeError: |this| is not a Promise"
+FAIL Piping from a ReadableStream to a WritableStream that desires more chunks before finishing with previous ones |this| is not a Promise
+FAIL Piping to a WritableStream that does not consume the writes fast enough exerts backpressure on the ReadableStream promise_test: Unhandled rejection with value: object "TypeError: |this| is not a Promise"
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsstreamspipingflowcontrolanyworkerexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/flow-control.any.worker-expected.txt (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/flow-control.any.worker-expected.txt    2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/flow-control.any.worker-expected.txt       2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -1,7 +1,9 @@
</span><span class="cx"> 
</span><del>-FAIL Piping from a non-empty ReadableStream into a WritableStream that does not desire chunks Can't find variable: WritableStream
-FAIL Piping from a non-empty ReadableStream into a WritableStream that does not desire chunks, but then does Can't find variable: WritableStream
-FAIL Piping from an empty ReadableStream into a WritableStream that does not desire chunks, but then the readable stream becomes non-empty and the writable stream starts desiring chunks Can't find variable: WritableStream
-FAIL Piping from a ReadableStream to a WritableStream that desires more chunks before finishing with previous ones Can't find variable: WritableStream
-FAIL Piping to a WritableStream that does not consume the writes fast enough exerts backpressure on the ReadableStream Can't find variable: WritableStream
</del><ins>+Harness Error (FAIL), message = Unhandled rejection: writableStreamDefaultWriterRelease
</ins><span class="cx"> 
</span><ins>+FAIL Piping from a non-empty ReadableStream into a WritableStream that does not desire chunks |this| is not a Promise
+FAIL Piping from a non-empty ReadableStream into a WritableStream that does not desire chunks, but then does |this| is not a Promise
+FAIL Piping from an empty ReadableStream into a WritableStream that does not desire chunks, but then the readable stream becomes non-empty and the writable stream starts desiring chunks promise_test: Unhandled rejection with value: object "TypeError: |this| is not a Promise"
+FAIL Piping from a ReadableStream to a WritableStream that desires more chunks before finishing with previous ones |this| is not a Promise
+FAIL Piping to a WritableStream that does not consume the writes fast enough exerts backpressure on the ReadableStream promise_test: Unhandled rejection with value: object "TypeError: |this| is not a Promise"
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsstreamspipinggeneralanyexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/general.any-expected.txt (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/general.any-expected.txt        2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/general.any-expected.txt   2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -1,24 +1,17 @@
</span><del>-CONSOLE MESSAGE: Unhandled Promise Rejection: TypeError: The WritableStream.ready getter can only be used on instances of WritableStream
</del><span class="cx"> CONSOLE MESSAGE: Unhandled Promise Rejection: undefined
</span><span class="cx"> CONSOLE MESSAGE: Unhandled Promise Rejection: undefined
</span><del>-CONSOLE MESSAGE: Unhandled Promise Rejection: TypeError: cancel() called on a reader owned by no readable stream
-CONSOLE MESSAGE: Unhandled Promise Rejection: undefined
-CONSOLE MESSAGE: Unhandled Promise Rejection: undefined
-CONSOLE MESSAGE: Unhandled Promise Rejection: undefined
</del><span class="cx"> 
</span><del>-Harness Error (FAIL), message = Unhandled rejection: The WritableStream.ready getter can only be used on instances of WritableStream
-
-FAIL Piping must lock both the ReadableStream and WritableStream assert_false: sanity check: the WritableStream must not start locked expected false got undefined
-FAIL Piping finishing must unlock both the ReadableStream and WritableStream assert_false: the WritableStream must become unlocked expected false got undefined
</del><ins>+FAIL Piping must lock both the ReadableStream and WritableStream |this| is not a Promise
+FAIL Piping finishing must unlock both the ReadableStream and WritableStream |this| is not a Promise
</ins><span class="cx"> FAIL pipeTo must check the brand of its ReadableStream this value Can only call ReadableStream.getReader on instances of ReadableStream
</span><del>-PASS pipeTo must check the brand of its WritableStream argument 
-FAIL pipeTo must fail if the ReadableStream is locked, and not lock the WritableStream assert_false: sanity check: the WritableStream does not start locked expected false got undefined
-FAIL pipeTo must fail if the WritableStream is locked, and not lock the ReadableStream ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL Piping from a ReadableStream from which lots of chunks are synchronously readable promise_test: Unhandled rejection with value: object "TypeError: ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)"
-PASS Piping from a ReadableStream for which a chunk becomes asynchronously readable after the pipeTo 
-PASS an undefined rejection from pull should cause pipeTo() to reject when preventAbort is true 
-PASS an undefined rejection from pull should cause pipeTo() to reject when preventAbort is false 
-PASS an undefined rejection from write should cause pipeTo() to reject when preventCancel is true 
-PASS an undefined rejection from write should cause pipeTo() to reject when preventCancel is false 
-FAIL pipeTo() should reject if an option getter grabs a writer ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
</del><ins>+FAIL pipeTo must check the brand of its WritableStream argument |this| is not a Promise
+FAIL pipeTo must fail if the ReadableStream is locked, and not lock the WritableStream ReadableStream is locked
+FAIL pipeTo must fail if the WritableStream is locked, and not lock the ReadableStream |this| is not a Promise
+FAIL Piping from a ReadableStream from which lots of chunks are synchronously readable |this| is not a Promise
+FAIL Piping from a ReadableStream for which a chunk becomes asynchronously readable after the pipeTo |this| is not a Promise
+FAIL an undefined rejection from pull should cause pipeTo() to reject when preventAbort is true |this| is not a Promise
+FAIL an undefined rejection from pull should cause pipeTo() to reject when preventAbort is false |this| is not a Promise
+FAIL an undefined rejection from write should cause pipeTo() to reject when preventCancel is true |this| is not a Promise
+FAIL an undefined rejection from write should cause pipeTo() to reject when preventCancel is false |this| is not a Promise
+FAIL pipeTo() should reject if an option getter grabs a writer |this| is not a Promise
</ins><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsstreamspipinggeneralanyworkerexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/general.any.worker-expected.txt (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/general.any.worker-expected.txt 2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/general.any.worker-expected.txt    2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -1,15 +1,15 @@
</span><span class="cx"> 
</span><del>-FAIL Piping must lock both the ReadableStream and WritableStream Can't find variable: WritableStream
-FAIL Piping finishing must unlock both the ReadableStream and WritableStream Can't find variable: WritableStream
-FAIL pipeTo must check the brand of its ReadableStream this value Can't find variable: WritableStream
-FAIL pipeTo must check the brand of its WritableStream argument Can't find variable: WritableStream
-FAIL pipeTo must fail if the ReadableStream is locked, and not lock the WritableStream Can't find variable: WritableStream
-FAIL pipeTo must fail if the WritableStream is locked, and not lock the ReadableStream Can't find variable: WritableStream
-FAIL Piping from a ReadableStream from which lots of chunks are synchronously readable Can't find variable: WritableStream
-FAIL Piping from a ReadableStream for which a chunk becomes asynchronously readable after the pipeTo Can't find variable: WritableStream
-FAIL an undefined rejection from pull should cause pipeTo() to reject when preventAbort is true Can't find variable: WritableStream
-FAIL an undefined rejection from pull should cause pipeTo() to reject when preventAbort is false Can't find variable: WritableStream
-FAIL an undefined rejection from write should cause pipeTo() to reject when preventCancel is true Can't find variable: WritableStream
-FAIL an undefined rejection from write should cause pipeTo() to reject when preventCancel is false Can't find variable: WritableStream
-FAIL pipeTo() should reject if an option getter grabs a writer Can't find variable: WritableStream
</del><ins>+FAIL Piping must lock both the ReadableStream and WritableStream |this| is not a Promise
+FAIL Piping finishing must unlock both the ReadableStream and WritableStream |this| is not a Promise
+FAIL pipeTo must check the brand of its ReadableStream this value Can only call ReadableStream.getReader on instances of ReadableStream
+FAIL pipeTo must check the brand of its WritableStream argument |this| is not a Promise
+FAIL pipeTo must fail if the ReadableStream is locked, and not lock the WritableStream ReadableStream is locked
+FAIL pipeTo must fail if the WritableStream is locked, and not lock the ReadableStream |this| is not a Promise
+FAIL Piping from a ReadableStream from which lots of chunks are synchronously readable |this| is not a Promise
+FAIL Piping from a ReadableStream for which a chunk becomes asynchronously readable after the pipeTo |this| is not a Promise
+FAIL an undefined rejection from pull should cause pipeTo() to reject when preventAbort is true |this| is not a Promise
+FAIL an undefined rejection from pull should cause pipeTo() to reject when preventAbort is false |this| is not a Promise
+FAIL an undefined rejection from write should cause pipeTo() to reject when preventCancel is true |this| is not a Promise
+FAIL an undefined rejection from write should cause pipeTo() to reject when preventCancel is false |this| is not a Promise
+FAIL pipeTo() should reject if an option getter grabs a writer |this| is not a Promise
</ins><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsstreamspipingmultiplepropagationanyexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/multiple-propagation.any-expected.txt (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/multiple-propagation.any-expected.txt   2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/multiple-propagation.any-expected.txt      2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -1,11 +1,25 @@
</span><ins>+CONSOLE MESSAGE: Unhandled Promise Rejection: error1: error1!
+CONSOLE MESSAGE: Unhandled Promise Rejection: error2: error2!
+CONSOLE MESSAGE: Unhandled Promise Rejection: error1: error1!
+CONSOLE MESSAGE: Unhandled Promise Rejection: error1: error1!
+CONSOLE MESSAGE: Unhandled Promise Rejection: error2: error2!
+CONSOLE MESSAGE: Unhandled Promise Rejection: error1: error1!
+CONSOLE MESSAGE: Unhandled Promise Rejection: TypeError: writableStreamDefaultWriterRelease
+CONSOLE MESSAGE: Unhandled Promise Rejection: error1: error1!
+CONSOLE MESSAGE: Unhandled Promise Rejection: TypeError: writableStreamDefaultWriterRelease
+CONSOLE MESSAGE: Unhandled Promise Rejection: error1: error1!
+CONSOLE MESSAGE: Unhandled Promise Rejection: error2: error2!
+CONSOLE MESSAGE: Unhandled Promise Rejection: TypeError: writableStreamDefaultWriterRelease
</ins><span class="cx"> 
</span><del>-FAIL Piping from an errored readable stream to an erroring writable stream c.error is not a function. (In 'c.error(error2)', 'c.error' is undefined)
-FAIL Piping from an errored readable stream to an errored writable stream promise_test: Unhandled rejection with value: object "TypeError: c.error is not a function. (In 'c.error(error2)', 'c.error' is undefined)"
-FAIL Piping from an errored readable stream to an erroring writable stream; preventAbort = true c.error is not a function. (In 'c.error(error2)', 'c.error' is undefined)
-FAIL Piping from an errored readable stream to an errored writable stream; preventAbort = true promise_test: Unhandled rejection with value: object "TypeError: c.error is not a function. (In 'c.error(error2)', 'c.error' is undefined)"
-FAIL Piping from an errored readable stream to a closing writable stream ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL Piping from an errored readable stream to a closed writable stream ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL Piping from a closed readable stream to an erroring writable stream c.error is not a function. (In 'c.error(error1)', 'c.error' is undefined)
-FAIL Piping from a closed readable stream to an errored writable stream promise_test: Unhandled rejection with value: object "TypeError: c.error is not a function. (In 'c.error(error2)', 'c.error' is undefined)"
-FAIL Piping from a closed readable stream to a closed writable stream ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
</del><ins>+Harness Error (FAIL), message = Unhandled rejection: writableStreamDefaultWriterRelease
</ins><span class="cx"> 
</span><ins>+FAIL Piping from an errored readable stream to an erroring writable stream |this| is not a Promise
+FAIL Piping from an errored readable stream to an errored writable stream promise_test: Unhandled rejection with value: object "TypeError: |this| is not a Promise"
+FAIL Piping from an errored readable stream to an erroring writable stream; preventAbort = true |this| is not a Promise
+FAIL Piping from an errored readable stream to an errored writable stream; preventAbort = true promise_test: Unhandled rejection with value: object "TypeError: |this| is not a Promise"
+FAIL Piping from an errored readable stream to a closing writable stream |this| is not a Promise
+FAIL Piping from an errored readable stream to a closed writable stream promise_test: Unhandled rejection with value: object "TypeError: |this| is not a Promise"
+FAIL Piping from a closed readable stream to an erroring writable stream |this| is not a Promise
+FAIL Piping from a closed readable stream to an errored writable stream promise_test: Unhandled rejection with value: object "TypeError: |this| is not a Promise"
+FAIL Piping from a closed readable stream to a closed writable stream |this| is not a Promise
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsstreamspipingmultiplepropagationanyworkerexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/multiple-propagation.any.worker-expected.txt (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/multiple-propagation.any.worker-expected.txt    2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/multiple-propagation.any.worker-expected.txt       2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -1,11 +1,13 @@
</span><span class="cx"> 
</span><del>-FAIL Piping from an errored readable stream to an erroring writable stream Can't find variable: WritableStream
-FAIL Piping from an errored readable stream to an errored writable stream promise_test: Unhandled rejection with value: object "ReferenceError: Can't find variable: WritableStream"
-FAIL Piping from an errored readable stream to an erroring writable stream; preventAbort = true Can't find variable: WritableStream
-FAIL Piping from an errored readable stream to an errored writable stream; preventAbort = true promise_test: Unhandled rejection with value: object "ReferenceError: Can't find variable: WritableStream"
-FAIL Piping from an errored readable stream to a closing writable stream Can't find variable: WritableStream
-FAIL Piping from an errored readable stream to a closed writable stream Can't find variable: WritableStream
-FAIL Piping from a closed readable stream to an erroring writable stream Can't find variable: WritableStream
-FAIL Piping from a closed readable stream to an errored writable stream promise_test: Unhandled rejection with value: object "ReferenceError: Can't find variable: WritableStream"
-FAIL Piping from a closed readable stream to a closed writable stream Can't find variable: WritableStream
</del><ins>+Harness Error (FAIL), message = Unhandled rejection: writableStreamDefaultWriterRelease
</ins><span class="cx"> 
</span><ins>+FAIL Piping from an errored readable stream to an erroring writable stream |this| is not a Promise
+FAIL Piping from an errored readable stream to an errored writable stream promise_test: Unhandled rejection with value: object "TypeError: |this| is not a Promise"
+FAIL Piping from an errored readable stream to an erroring writable stream; preventAbort = true |this| is not a Promise
+FAIL Piping from an errored readable stream to an errored writable stream; preventAbort = true promise_test: Unhandled rejection with value: object "TypeError: |this| is not a Promise"
+FAIL Piping from an errored readable stream to a closing writable stream |this| is not a Promise
+FAIL Piping from an errored readable stream to a closed writable stream promise_test: Unhandled rejection with value: object "TypeError: |this| is not a Promise"
+FAIL Piping from a closed readable stream to an erroring writable stream |this| is not a Promise
+FAIL Piping from a closed readable stream to an errored writable stream promise_test: Unhandled rejection with value: object "TypeError: |this| is not a Promise"
+FAIL Piping from a closed readable stream to a closed writable stream |this| is not a Promise
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsstreamspipingpipethroughanyexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/pipe-through.any-expected.txt (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/pipe-through.any-expected.txt   2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/pipe-through.any-expected.txt      2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -1,68 +1,23 @@
</span><del>-CONSOLE MESSAGE: Unhandled Promise Rejection: TypeError: The WritableStream.ready getter can only be used on instances of WritableStream
</del><span class="cx"> CONSOLE MESSAGE: Unhandled Promise Rejection: undefined
</span><span class="cx"> 
</span><del>-Harness Error (FAIL), message = Unhandled rejection
-
-PASS Piping through a duck-typed pass-through transform stream should work 
-FAIL Piping through a transform errored on the writable end does not cause an unhandled promise rejection c.error is not a function. (In 'c.error(new Error('this rejection should not be reported as unhandled'))', 'c.error' is undefined)
-PASS pipeThrough should not call pipeTo on this 
</del><ins>+FAIL Piping through a duck-typed pass-through transform stream should work |this| is not a Promise
+FAIL Piping through a transform errored on the writable end does not cause an unhandled promise rejection |this| is not a Promise
+FAIL pipeThrough should not call pipeTo on this |this| is not a Promise
</ins><span class="cx"> FAIL pipeThrough should not call pipeTo on the ReadableStream prototype assert_false: the monkey-patched pipeTo should not have been called expected false got true
</span><span class="cx"> PASS pipeThrough should brand-check this and not allow 'null' 
</span><del>-FAIL pipeThrough should brand-check readable and not allow 'null' assert_throws_js: pipeThrough should brand-check readable function "() => rs.pipeThrough({
-        get writable() {
-          writableGetterCalled = true;
-          return new WritableStream();
-        },
-        readable
-      })" did not throw
</del><ins>+FAIL pipeThrough should brand-check readable and not allow 'null' assert_false: writable should not have been accessed expected false got true
</ins><span class="cx"> PASS pipeThrough should brand-check this and not allow 'undefined' 
</span><del>-FAIL pipeThrough should brand-check readable and not allow 'undefined' assert_throws_js: pipeThrough should brand-check readable function "() => rs.pipeThrough({
-        get writable() {
-          writableGetterCalled = true;
-          return new WritableStream();
-        },
-        readable
-      })" did not throw
</del><ins>+FAIL pipeThrough should brand-check readable and not allow 'undefined' assert_false: writable should not have been accessed expected false got true
</ins><span class="cx"> PASS pipeThrough should brand-check this and not allow '0' 
</span><del>-FAIL pipeThrough should brand-check readable and not allow '0' assert_throws_js: pipeThrough should brand-check readable function "() => rs.pipeThrough({
-        get writable() {
-          writableGetterCalled = true;
-          return new WritableStream();
-        },
-        readable
-      })" did not throw
</del><ins>+FAIL pipeThrough should brand-check readable and not allow '0' assert_false: writable should not have been accessed expected false got true
</ins><span class="cx"> PASS pipeThrough should brand-check this and not allow 'NaN' 
</span><del>-FAIL pipeThrough should brand-check readable and not allow 'NaN' assert_throws_js: pipeThrough should brand-check readable function "() => rs.pipeThrough({
-        get writable() {
-          writableGetterCalled = true;
-          return new WritableStream();
-        },
-        readable
-      })" did not throw
</del><ins>+FAIL pipeThrough should brand-check readable and not allow 'NaN' assert_false: writable should not have been accessed expected false got true
</ins><span class="cx"> PASS pipeThrough should brand-check this and not allow 'true' 
</span><del>-FAIL pipeThrough should brand-check readable and not allow 'true' assert_throws_js: pipeThrough should brand-check readable function "() => rs.pipeThrough({
-        get writable() {
-          writableGetterCalled = true;
-          return new WritableStream();
-        },
-        readable
-      })" did not throw
</del><ins>+FAIL pipeThrough should brand-check readable and not allow 'true' assert_false: writable should not have been accessed expected false got true
</ins><span class="cx"> PASS pipeThrough should brand-check this and not allow 'ReadableStream' 
</span><del>-FAIL pipeThrough should brand-check readable and not allow 'ReadableStream' assert_throws_js: pipeThrough should brand-check readable function "() => rs.pipeThrough({
-        get writable() {
-          writableGetterCalled = true;
-          return new WritableStream();
-        },
-        readable
-      })" did not throw
</del><ins>+FAIL pipeThrough should brand-check readable and not allow 'ReadableStream' assert_false: writable should not have been accessed expected false got true
</ins><span class="cx"> PASS pipeThrough should brand-check this and not allow '[object ReadableStream]' 
</span><del>-FAIL pipeThrough should brand-check readable and not allow '[object ReadableStream]' assert_throws_js: pipeThrough should brand-check readable function "() => rs.pipeThrough({
-        get writable() {
-          writableGetterCalled = true;
-          return new WritableStream();
-        },
-        readable
-      })" did not throw
</del><ins>+FAIL pipeThrough should brand-check readable and not allow '[object ReadableStream]' assert_false: writable should not have been accessed expected false got true
</ins><span class="cx"> PASS pipeThrough should brand-check writable and not allow 'null' 
</span><span class="cx"> PASS pipeThrough should brand-check writable and not allow 'undefined' 
</span><span class="cx"> PASS pipeThrough should brand-check writable and not allow '0' 
</span><span class="lines">@@ -69,26 +24,20 @@
</span><span class="cx"> PASS pipeThrough should brand-check writable and not allow 'NaN' 
</span><span class="cx"> PASS pipeThrough should brand-check writable and not allow 'true' 
</span><span class="cx"> PASS pipeThrough should brand-check writable and not allow 'WritableStream' 
</span><del>-FAIL pipeThrough should brand-check writable and not allow '[object WritableStream]' assert_throws_js: pipeThrough should brand-check writable function "() => rs.pipeThrough({
-      get readable() {
-        readableGetterCalled = true;
-        return new ReadableStream();
-      },
-      writable
-    })" did not throw
</del><ins>+PASS pipeThrough should brand-check writable and not allow '[object WritableStream]' 
</ins><span class="cx"> PASS pipeThrough should rethrow errors from accessing readable or writable 
</span><del>-FAIL invalid values of signal should throw; specifically 'null' assert_throws_js: pipeThrough should throw function "() => rs.pipeThrough(uninterestingReadableWritablePair(), { signal })" did not throw
-FAIL invalid values of signal should throw; specifically '0' assert_throws_js: pipeThrough should throw function "() => rs.pipeThrough(uninterestingReadableWritablePair(), { signal })" did not throw
-FAIL invalid values of signal should throw; specifically 'NaN' assert_throws_js: pipeThrough should throw function "() => rs.pipeThrough(uninterestingReadableWritablePair(), { signal })" did not throw
-FAIL invalid values of signal should throw; specifically 'true' assert_throws_js: pipeThrough should throw function "() => rs.pipeThrough(uninterestingReadableWritablePair(), { signal })" did not throw
-FAIL invalid values of signal should throw; specifically 'AbortSignal' assert_throws_js: pipeThrough should throw function "() => rs.pipeThrough(uninterestingReadableWritablePair(), { signal })" did not throw
-FAIL invalid values of signal should throw; specifically '[object AbortSignal]' assert_throws_js: pipeThrough should throw function "() => rs.pipeThrough(uninterestingReadableWritablePair(), { signal })" did not throw
-PASS pipeThrough should accept a real AbortSignal 
</del><ins>+PASS invalid values of signal should throw; specifically 'null' 
+PASS invalid values of signal should throw; specifically '0' 
+PASS invalid values of signal should throw; specifically 'NaN' 
+PASS invalid values of signal should throw; specifically 'true' 
+PASS invalid values of signal should throw; specifically 'AbortSignal' 
+PASS invalid values of signal should throw; specifically '[object AbortSignal]' 
+FAIL pipeThrough should accept a real AbortSignal |this| is not a Promise
</ins><span class="cx"> PASS pipeThrough should throw if this is locked 
</span><del>-FAIL pipeThrough should throw if writable is locked writable.getWriter is not a function. (In 'writable.getWriter()', 'writable.getWriter' is undefined)
-PASS pipeThrough should not care if readable is locked 
-FAIL preventCancel should work controller.error is not a function. (In 'controller.error()', 'controller.error' is undefined)
-PASS preventClose should work 
-PASS preventAbort should work 
</del><ins>+PASS pipeThrough should throw if writable is locked 
+FAIL pipeThrough should not care if readable is locked |this| is not a Promise
+FAIL preventCancel should work |this| is not a Promise
+FAIL preventClose should work |this| is not a Promise
+FAIL preventAbort should work |this| is not a Promise
</ins><span class="cx"> PASS pipeThrough() should throw if an option getter grabs a writer 
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsstreamspipingpipethroughanyworkerexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/pipe-through.any.worker-expected.txt (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/pipe-through.any.worker-expected.txt    2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/pipe-through.any.worker-expected.txt       2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -1,79 +1,42 @@
</span><del>-CONSOLE MESSAGE: ReferenceError: Can't find variable: WritableStream
</del><span class="cx"> 
</span><del>-Harness Error (FAIL), message = ReferenceError: Can't find variable: WritableStream
</del><ins>+FAIL Piping through a duck-typed pass-through transform stream should work |this| is not a Promise
+FAIL Piping through a transform errored on the writable end does not cause an unhandled promise rejection |this| is not a Promise
+FAIL pipeThrough should not call pipeTo on this |this| is not a Promise
+FAIL pipeThrough should not call pipeTo on the ReadableStream prototype assert_false: the monkey-patched pipeTo should not have been called expected false got true
+PASS pipeThrough should brand-check this and not allow 'null' 
+FAIL pipeThrough should brand-check readable and not allow 'null' assert_false: writable should not have been accessed expected false got true
+PASS pipeThrough should brand-check this and not allow 'undefined' 
+FAIL pipeThrough should brand-check readable and not allow 'undefined' assert_false: writable should not have been accessed expected false got true
+PASS pipeThrough should brand-check this and not allow '0' 
+FAIL pipeThrough should brand-check readable and not allow '0' assert_false: writable should not have been accessed expected false got true
+PASS pipeThrough should brand-check this and not allow 'NaN' 
+FAIL pipeThrough should brand-check readable and not allow 'NaN' assert_false: writable should not have been accessed expected false got true
+PASS pipeThrough should brand-check this and not allow 'true' 
+FAIL pipeThrough should brand-check readable and not allow 'true' assert_false: writable should not have been accessed expected false got true
+PASS pipeThrough should brand-check this and not allow 'ReadableStream' 
+FAIL pipeThrough should brand-check readable and not allow 'ReadableStream' assert_false: writable should not have been accessed expected false got true
+PASS pipeThrough should brand-check this and not allow '[object ReadableStream]' 
+FAIL pipeThrough should brand-check readable and not allow '[object ReadableStream]' assert_false: writable should not have been accessed expected false got true
+PASS pipeThrough should brand-check writable and not allow 'null' 
+PASS pipeThrough should brand-check writable and not allow 'undefined' 
+PASS pipeThrough should brand-check writable and not allow '0' 
+PASS pipeThrough should brand-check writable and not allow 'NaN' 
+PASS pipeThrough should brand-check writable and not allow 'true' 
+PASS pipeThrough should brand-check writable and not allow 'WritableStream' 
+PASS pipeThrough should brand-check writable and not allow '[object WritableStream]' 
+PASS pipeThrough should rethrow errors from accessing readable or writable 
+PASS invalid values of signal should throw; specifically 'null' 
+PASS invalid values of signal should throw; specifically '0' 
+PASS invalid values of signal should throw; specifically 'NaN' 
+PASS invalid values of signal should throw; specifically 'true' 
+PASS invalid values of signal should throw; specifically 'AbortSignal' 
+PASS invalid values of signal should throw; specifically '[object AbortSignal]' 
+FAIL pipeThrough should accept a real AbortSignal |this| is not a Promise
+PASS pipeThrough should throw if this is locked 
+PASS pipeThrough should throw if writable is locked 
+FAIL pipeThrough should not care if readable is locked |this| is not a Promise
+FAIL preventCancel should work |this| is not a Promise
+FAIL preventClose should work |this| is not a Promise
+FAIL preventAbort should work |this| is not a Promise
+PASS pipeThrough() should throw if an option getter grabs a writer 
</ins><span class="cx"> 
</span><del>-FAIL Piping through a duck-typed pass-through transform stream should work Can't find variable: WritableStream
-FAIL Piping through a transform errored on the writable end does not cause an unhandled promise rejection Can't find variable: WritableStream
-FAIL pipeThrough should not call pipeTo on this Can't find variable: WritableStream
-FAIL pipeThrough should not call pipeTo on the ReadableStream prototype Can't find variable: WritableStream
-FAIL pipeThrough should brand-check this and not allow 'null' Can't find variable: WritableStream
-FAIL pipeThrough should brand-check readable and not allow 'null' assert_throws_js: pipeThrough should brand-check readable function "() => rs.pipeThrough({
-        get writable() {
-          writableGetterCalled = true;
-          return new WritableStream();
-        },
-        readable
-      })" threw object "ReferenceError: Can't find variable: WritableStream" ("ReferenceError") expected instance of function "function TypeError() {
-    [native code]
-}" ("TypeError")
-FAIL pipeThrough should brand-check this and not allow 'undefined' Can't find variable: WritableStream
-FAIL pipeThrough should brand-check readable and not allow 'undefined' assert_throws_js: pipeThrough should brand-check readable function "() => rs.pipeThrough({
-        get writable() {
-          writableGetterCalled = true;
-          return new WritableStream();
-        },
-        readable
-      })" threw object "ReferenceError: Can't find variable: WritableStream" ("ReferenceError") expected instance of function "function TypeError() {
-    [native code]
-}" ("TypeError")
-FAIL pipeThrough should brand-check this and not allow '0' Can't find variable: WritableStream
-FAIL pipeThrough should brand-check readable and not allow '0' assert_throws_js: pipeThrough should brand-check readable function "() => rs.pipeThrough({
-        get writable() {
-          writableGetterCalled = true;
-          return new WritableStream();
-        },
-        readable
-      })" threw object "ReferenceError: Can't find variable: WritableStream" ("ReferenceError") expected instance of function "function TypeError() {
-    [native code]
-}" ("TypeError")
-FAIL pipeThrough should brand-check this and not allow 'NaN' Can't find variable: WritableStream
-FAIL pipeThrough should brand-check readable and not allow 'NaN' assert_throws_js: pipeThrough should brand-check readable function "() => rs.pipeThrough({
-        get writable() {
-          writableGetterCalled = true;
-          return new WritableStream();
-        },
-        readable
-      })" threw object "ReferenceError: Can't find variable: WritableStream" ("ReferenceError") expected instance of function "function TypeError() {
-    [native code]
-}" ("TypeError")
-FAIL pipeThrough should brand-check this and not allow 'true' Can't find variable: WritableStream
-FAIL pipeThrough should brand-check readable and not allow 'true' assert_throws_js: pipeThrough should brand-check readable function "() => rs.pipeThrough({
-        get writable() {
-          writableGetterCalled = true;
-          return new WritableStream();
-        },
-        readable
-      })" threw object "ReferenceError: Can't find variable: WritableStream" ("ReferenceError") expected instance of function "function TypeError() {
-    [native code]
-}" ("TypeError")
-FAIL pipeThrough should brand-check this and not allow 'ReadableStream' Can't find variable: WritableStream
-FAIL pipeThrough should brand-check readable and not allow 'ReadableStream' assert_throws_js: pipeThrough should brand-check readable function "() => rs.pipeThrough({
-        get writable() {
-          writableGetterCalled = true;
-          return new WritableStream();
-        },
-        readable
-      })" threw object "ReferenceError: Can't find variable: WritableStream" ("ReferenceError") expected instance of function "function TypeError() {
-    [native code]
-}" ("TypeError")
-FAIL pipeThrough should brand-check this and not allow '[object ReadableStream]' Can't find variable: WritableStream
-FAIL pipeThrough should brand-check readable and not allow '[object ReadableStream]' assert_throws_js: pipeThrough should brand-check readable function "() => rs.pipeThrough({
-        get writable() {
-          writableGetterCalled = true;
-          return new WritableStream();
-        },
-        readable
-      })" threw object "ReferenceError: Can't find variable: WritableStream" ("ReferenceError") expected instance of function "function TypeError() {
-    [native code]
-}" ("TypeError")
-
</del></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsstreamspipingtheninterceptionanyworkerexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/then-interception.any.worker-expected.txt (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/then-interception.any.worker-expected.txt       2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/then-interception.any.worker-expected.txt  2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -1,4 +1,6 @@
</span><span class="cx"> 
</span><del>-FAIL piping should not be observable promise_test: Unhandled rejection with value: object "ReferenceError: Can't find variable: WritableStream"
-FAIL tee should not be observable promise_test: Unhandled rejection with value: object "ReferenceError: Can't find variable: WritableStream"
</del><ins>+Harness Error (TIMEOUT), message = null
</ins><span class="cx"> 
</span><ins>+FAIL piping should not be observable promise_test: Unhandled rejection with value: object "TypeError: |this| is not a Promise"
+FAIL tee should not be observable promise_test: Unhandled rejection with value: object "TypeError: |this| is not a Promise"
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsstreamspipingthrowingoptionsanyexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/throwing-options.any-expected.txt (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/throwing-options.any-expected.txt       2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/throwing-options.any-expected.txt  2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -1,6 +1,4 @@
</span><span class="cx"> 
</span><del>-Harness Error (TIMEOUT), message = null
-
</del><span class="cx"> FAIL pipeTo should stop after getting preventAbort throws preventAbort
</span><span class="cx"> FAIL pipeThrough should stop after getting preventAbort throws assert_throws_js: pipeThrough should throw function "() => new ReadableStream().pipeThrough(new TransformStream(), options)" threw object "ReferenceError: Can't find variable: TransformStream" ("ReferenceError") expected instance of function "function Error() {
</span><span class="cx">     [native code]
</span><span class="lines">@@ -13,7 +11,7 @@
</span><span class="cx"> FAIL pipeThrough should stop after getting preventClose throws assert_throws_js: pipeThrough should throw function "() => new ReadableStream().pipeThrough(new TransformStream(), options)" threw object "ReferenceError: Can't find variable: TransformStream" ("ReferenceError") expected instance of function "function Error() {
</span><span class="cx">     [native code]
</span><span class="cx"> }" ("Error")
</span><del>-TIMEOUT pipeTo should stop after getting signal throws Test timed out
</del><ins>+FAIL pipeTo should stop after getting signal throws |this| is not a Promise
</ins><span class="cx"> FAIL pipeThrough should stop after getting signal throws assert_throws_js: pipeThrough should throw function "() => new ReadableStream().pipeThrough(new TransformStream(), options)" threw object "ReferenceError: Can't find variable: TransformStream" ("ReferenceError") expected instance of function "function Error() {
</span><span class="cx">     [native code]
</span><span class="cx"> }" ("Error")
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsstreamspipingthrowingoptionsanyworkerexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/throwing-options.any.worker-expected.txt (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/throwing-options.any.worker-expected.txt        2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/streams/piping/throwing-options.any.worker-expected.txt   2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -1,17 +1,17 @@
</span><span class="cx"> 
</span><del>-FAIL pipeTo should stop after getting preventAbort throws Can't find variable: WritableStream
</del><ins>+FAIL pipeTo should stop after getting preventAbort throws preventAbort
</ins><span class="cx"> FAIL pipeThrough should stop after getting preventAbort throws assert_throws_js: pipeThrough should throw function "() => new ReadableStream().pipeThrough(new TransformStream(), options)" threw object "ReferenceError: Can't find variable: TransformStream" ("ReferenceError") expected instance of function "function Error() {
</span><span class="cx">     [native code]
</span><span class="cx"> }" ("Error")
</span><del>-FAIL pipeTo should stop after getting preventCancel throws Can't find variable: WritableStream
</del><ins>+FAIL pipeTo should stop after getting preventCancel throws preventCancel
</ins><span class="cx"> FAIL pipeThrough should stop after getting preventCancel throws assert_throws_js: pipeThrough should throw function "() => new ReadableStream().pipeThrough(new TransformStream(), options)" threw object "ReferenceError: Can't find variable: TransformStream" ("ReferenceError") expected instance of function "function Error() {
</span><span class="cx">     [native code]
</span><span class="cx"> }" ("Error")
</span><del>-FAIL pipeTo should stop after getting preventClose throws Can't find variable: WritableStream
</del><ins>+FAIL pipeTo should stop after getting preventClose throws preventClose
</ins><span class="cx"> FAIL pipeThrough should stop after getting preventClose throws assert_throws_js: pipeThrough should throw function "() => new ReadableStream().pipeThrough(new TransformStream(), options)" threw object "ReferenceError: Can't find variable: TransformStream" ("ReferenceError") expected instance of function "function Error() {
</span><span class="cx">     [native code]
</span><span class="cx"> }" ("Error")
</span><del>-FAIL pipeTo should stop after getting signal throws Can't find variable: WritableStream
</del><ins>+FAIL pipeTo should stop after getting signal throws |this| is not a Promise
</ins><span class="cx"> FAIL pipeThrough should stop after getting signal throws assert_throws_js: pipeThrough should throw function "() => new ReadableStream().pipeThrough(new TransformStream(), options)" threw object "ReferenceError: Can't find variable: TransformStream" ("ReferenceError") expected instance of function "function Error() {
</span><span class="cx">     [native code]
</span><span class="cx"> }" ("Error")
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsstreamsreadablestreamspatchedglobalanyexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/patched-global.any-expected.txt (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/patched-global.any-expected.txt       2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/patched-global.any-expected.txt  2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -3,5 +3,5 @@
</span><span class="cx"> PASS ReadableStream tee() should not call the global ReadableStream 
</span><span class="cx"> FAIL ReadableStream async iterator should use the original values of getReader() and ReadableStreamDefaultReader methods promise_test: Unhandled rejection with value: object "TypeError: undefined is not a function (near '...chunk of rs...')"
</span><span class="cx"> PASS tee() should not call Promise.prototype.then() 
</span><del>-PASS pipeTo() should not call Promise.prototype.then() 
</del><ins>+FAIL pipeTo() should not call Promise.prototype.then() |this| is not a Promise
</ins><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsstreamsreadablestreamspatchedglobalanyworkerexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/patched-global.any.worker-expected.txt (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/patched-global.any.worker-expected.txt        2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/patched-global.any.worker-expected.txt   2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -3,5 +3,5 @@
</span><span class="cx"> PASS ReadableStream tee() should not call the global ReadableStream 
</span><span class="cx"> FAIL ReadableStream async iterator should use the original values of getReader() and ReadableStreamDefaultReader methods promise_test: Unhandled rejection with value: object "TypeError: undefined is not a function (near '...chunk of rs...')"
</span><span class="cx"> PASS tee() should not call Promise.prototype.then() 
</span><del>-FAIL pipeTo() should not call Promise.prototype.then() Can't find variable: WritableStream
</del><ins>+FAIL pipeTo() should not call Promise.prototype.then() |this| is not a Promise
</ins><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsstreamsreadablestreamsreentrantstrategiesanyexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/reentrant-strategies.any-expected.txt (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/reentrant-strategies.any-expected.txt 2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/reentrant-strategies.any-expected.txt    2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -1,4 +1,7 @@
</span><ins>+CONSOLE MESSAGE: Unhandled Promise Rejection: TypeError: |this| is not a Promise
</ins><span class="cx"> 
</span><ins>+Harness Error (FAIL), message = Unhandled rejection: |this| is not a Promise
+
</ins><span class="cx"> PASS enqueue() inside size() should work 
</span><span class="cx"> PASS close() inside size() should not crash 
</span><span class="cx"> PASS close request inside size() should work 
</span><span class="lines">@@ -5,7 +8,7 @@
</span><span class="cx"> PASS error() inside size() should work 
</span><span class="cx"> PASS desiredSize inside size() should work 
</span><span class="cx"> PASS cancel() inside size() should work 
</span><del>-PASS pipeTo() inside size() should behave as expected 
</del><ins>+FAIL pipeTo() inside size() should behave as expected |this| is not a Promise
</ins><span class="cx"> PASS read() inside of size() should behave as expected 
</span><span class="cx"> PASS getReader() inside size() should work 
</span><span class="cx"> PASS tee() inside size() should work 
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsstreamsreadablestreamsreentrantstrategiesanyworkerexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/reentrant-strategies.any.worker-expected.txt (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/reentrant-strategies.any.worker-expected.txt  2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/reentrant-strategies.any.worker-expected.txt     2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -1,4 +1,6 @@
</span><span class="cx"> 
</span><ins>+Harness Error (FAIL), message = Unhandled rejection: |this| is not a Promise
+
</ins><span class="cx"> PASS enqueue() inside size() should work 
</span><span class="cx"> PASS close() inside size() should not crash 
</span><span class="cx"> PASS close request inside size() should work 
</span><span class="lines">@@ -5,7 +7,7 @@
</span><span class="cx"> PASS error() inside size() should work 
</span><span class="cx"> PASS desiredSize inside size() should work 
</span><span class="cx"> PASS cancel() inside size() should work 
</span><del>-FAIL pipeTo() inside size() should behave as expected Can't find variable: WritableStream
</del><ins>+FAIL pipeTo() inside size() should behave as expected |this| is not a Promise
</ins><span class="cx"> PASS read() inside of size() should behave as expected 
</span><span class="cx"> PASS getReader() inside size() should work 
</span><span class="cx"> PASS tee() inside size() should work 
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsstreamstransformstreamsreentrantstrategiesanyworkerexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/streams/transform-streams/reentrant-strategies.any.worker-expected.txt (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/streams/transform-streams/reentrant-strategies.any.worker-expected.txt 2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/streams/transform-streams/reentrant-strategies.any.worker-expected.txt    2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -4,7 +4,7 @@
</span><span class="cx"> FAIL error() inside size() should work Can't find variable: TransformStream
</span><span class="cx"> FAIL desiredSize inside size() should work Can't find variable: TransformStream
</span><span class="cx"> FAIL readable cancel() inside size() should work Can't find variable: TransformStream
</span><del>-FAIL pipeTo() inside size() should work Can't find variable: WritableStream
</del><ins>+FAIL pipeTo() inside size() should work Can't find variable: TransformStream
</ins><span class="cx"> FAIL read() inside of size() should work Can't find variable: TransformStream
</span><span class="cx"> FAIL writer.write() inside size() should work Can't find variable: TransformStream
</span><span class="cx"> FAIL synchronous writer.write() inside size() should work Can't find variable: TransformStream
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsstreamswritablestreamsabortinganyexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/aborting.any-expected.txt (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/aborting.any-expected.txt     2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/aborting.any-expected.txt        2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -1,70 +1,65 @@
</span><del>-CONSOLE MESSAGE: Unhandled Promise Rejection: undefined
-CONSOLE MESSAGE: Unhandled Promise Rejection: done
-CONSOLE MESSAGE: Unhandled Promise Rejection: done
-CONSOLE MESSAGE: Unhandled Promise Rejection: done
-CONSOLE MESSAGE: Unhandled Promise Rejection: error2: error2
-CONSOLE MESSAGE: Unhandled Promise Rejection: undefined
-CONSOLE MESSAGE: Unhandled Promise Rejection: undefined
-CONSOLE MESSAGE: Unhandled Promise Rejection: undefined
-CONSOLE MESSAGE: Unhandled Promise Rejection: undefined
-CONSOLE MESSAGE: Unhandled Promise Rejection: undefined
-CONSOLE MESSAGE: Unhandled Promise Rejection: string argument
</del><span class="cx"> 
</span><span class="cx"> Harness Error (FAIL), message = Unhandled rejection
</span><span class="cx"> 
</span><del>-FAIL Aborting a WritableStream before it starts should cause the writer's unsettled ready promise to reject ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL Aborting a WritableStream should cause the writer's fulfilled ready promise to reset to a rejected one ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL abort() on a released writer rejects ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL Aborting a WritableStream immediately prevents future writes promise_test: Unhandled rejection with value: object "TypeError: ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)"
-FAIL Aborting a WritableStream prevents further writes after any that are in progress promise_test: Unhandled rejection with value: object "TypeError: ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)"
-FAIL Fulfillment value of writer.abort() call must be undefined even if the underlying sink returns a non-undefined value ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL WritableStream if sink's abort throws, the promise returned by writer.abort() rejects ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL WritableStream if sink's abort throws, the promise returned by multiple writer.abort()s is the same and rejects ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
</del><ins>+PASS Aborting a WritableStream before it starts should cause the writer's unsettled ready promise to reject 
+FAIL Aborting a WritableStream should cause the writer's fulfilled ready promise to reset to a rejected one assert_not_equals: the ready promise property should change got disallowed value object "[object Promise]"
+PASS abort() on a released writer rejects 
+PASS Aborting a WritableStream immediately prevents future writes 
+PASS Aborting a WritableStream prevents further writes after any that are in progress 
+PASS Fulfillment value of writer.abort() call must be undefined even if the underlying sink returns a non-undefined value 
+PASS WritableStream if sink's abort throws, the promise returned by writer.abort() rejects 
+PASS WritableStream if sink's abort throws, the promise returned by multiple writer.abort()s is the same and rejects 
</ins><span class="cx"> PASS WritableStream if sink's abort throws, the promise returned by ws.abort() rejects 
</span><del>-FAIL WritableStream if sink's abort throws, for an abort performed during a write, the promise returned by ws.abort() rejects ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL Aborting a WritableStream passes through the given reason ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL Aborting a WritableStream puts it in an errored state with the error passed to abort() ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL Aborting a WritableStream causes any outstanding write() promises to be rejected with the reason supplied ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL Closing but then immediately aborting a WritableStream causes the stream to error ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL Closing a WritableStream and aborting it while it closes causes the stream to ignore the abort attempt ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL Aborting a WritableStream after it is closed is a no-op ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL WritableStream should NOT call underlying sink's close if no abort is supplied (historical) ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL returning a thenable from abort() should work ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL .closed should not resolve before fulfilled write() ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL .closed should not resolve before rejected write(); write() error should not overwrite abort() error ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL writes should be satisfied in order when aborting ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL writes should be satisfied in order after rejected write when aborting ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL close() should reject with abort reason why abort() is first error ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL underlying abort() should not be called until underlying write() completes ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL underlying abort() should not be called if underlying close() has started ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL if underlying close() has started and then rejects, the abort() and close() promises should reject with the underlying close rejection reason ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL an abort() that happens during a write() should trigger the underlying abort() even with a close() queued ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL if a writer is created for a stream with a pending abort, its ready should be rejected with the abort error ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL writer close() promise should resolve before abort() promise ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL writer.ready should reject on controller error without waiting for underlying write ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL writer.abort() while there is an in-flight write, and then finish the write with rejection ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL writer.abort(), controller.error() while there is an in-flight write, and then finish the write ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL writer.abort(), controller.error() while there is an in-flight close, and then finish the close ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL controller.error(), writer.abort() while there is an in-flight write, and then finish the write ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL controller.error(), writer.abort() while there is an in-flight close, and then finish the close ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL releaseLock() while aborting should reject the original closed promise ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL releaseLock() during delayed async abort() should reject the writer.closed promise ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL sink abort() should not be called until sink start() is done assert_array_equals: abort() should not be called during start() lengths differ, expected array [] length 0, got ["abort", "done"] length 2
-FAIL if start attempts to error the controller after abort() has been called, then it should lose controller.error is not a function. (In 'controller.error(error1)', 'controller.error' is undefined)
</del><ins>+PASS WritableStream if sink's abort throws, for an abort performed during a write, the promise returned by ws.abort() rejects 
+PASS Aborting a WritableStream passes through the given reason 
+FAIL Aborting a WritableStream puts it in an errored state with the error passed to abort() assert_unreached: Should have rejected: ready should reject with error1 Reached unreachable code
+PASS Aborting a WritableStream causes any outstanding write() promises to be rejected with the reason supplied 
+PASS Closing but then immediately aborting a WritableStream causes the stream to error 
+PASS Closing a WritableStream and aborting it while it closes causes the stream to ignore the abort attempt 
+PASS Aborting a WritableStream after it is closed is a no-op 
+PASS WritableStream should NOT call underlying sink's close if no abort is supplied (historical) 
+PASS returning a thenable from abort() should work 
+PASS .closed should not resolve before fulfilled write() 
+PASS .closed should not resolve before rejected write(); write() error should not overwrite abort() error 
+PASS writes should be satisfied in order when aborting 
+PASS writes should be satisfied in order after rejected write when aborting 
+PASS close() should reject with abort reason why abort() is first error 
+PASS underlying abort() should not be called until underlying write() completes 
+PASS underlying abort() should not be called if underlying close() has started 
+PASS if underlying close() has started and then rejects, the abort() and close() promises should reject with the underlying close rejection reason 
+PASS an abort() that happens during a write() should trigger the underlying abort() even with a close() queued 
+PASS if a writer is created for a stream with a pending abort, its ready should be rejected with the abort error 
+PASS writer close() promise should resolve before abort() promise 
+PASS writer.ready should reject on controller error without waiting for underlying write 
+FAIL writer.abort() while there is an in-flight write, and then finish the write with rejection promise_rejects_js: writer.ready must be rejected with an error indicating release function "function () { throw e }" threw object "error1: error1" ("error1") expected instance of function "function TypeError() {
+    [native code]
+}" ("TypeError")
+FAIL writer.abort(), controller.error() while there is an in-flight write, and then finish the write promise_rejects_js: writer.ready must be rejected with an error indicating release function "function () { throw e }" threw object "error1: error1" ("error1") expected instance of function "function TypeError() {
+    [native code]
+}" ("TypeError")
+FAIL writer.abort(), controller.error() while there is an in-flight close, and then finish the close assert_unreached: Should have rejected: writer.ready must reject with the error from abort Reached unreachable code
+FAIL controller.error(), writer.abort() while there is an in-flight write, and then finish the write promise_rejects_js: writer.ready must be rejected with an error indicating release function "function () { throw e }" threw object "error2: error2" ("error2") expected instance of function "function TypeError() {
+    [native code]
+}" ("TypeError")
+FAIL controller.error(), writer.abort() while there is an in-flight close, and then finish the close assert_unreached: Should have rejected: writer.ready must reject with the error passed to the controller's error method Reached unreachable code
+PASS releaseLock() while aborting should reject the original closed promise 
+PASS releaseLock() during delayed async abort() should reject the writer.closed promise 
+PASS sink abort() should not be called until sink start() is done 
+PASS if start attempts to error the controller after abort() has been called, then it should lose 
</ins><span class="cx"> PASS stream abort() promise should still resolve if sink start() rejects 
</span><del>-FAIL writer abort() during sink start() should replace the writer.ready promise synchronously ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL promises returned from other writer methods should be rejected when writer abort() happens during sink start() ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL abort() should succeed despite rejection from write ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL abort() should be rejected with the rejection returned from close() ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL a rejecting sink.write() should not prevent sink.abort() from being called ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
</del><ins>+FAIL writer abort() during sink start() should replace the writer.ready promise synchronously assert_not_equals: abort() should replace the ready promise with a rejected one got disallowed value object "[object Promise]"
+PASS promises returned from other writer methods should be rejected when writer abort() happens during sink start() 
+PASS abort() should succeed despite rejection from write 
+PASS abort() should be rejected with the rejection returned from close() 
+PASS a rejecting sink.write() should not prevent sink.abort() from being called 
</ins><span class="cx"> PASS when start errors after stream abort(), underlying sink abort() should be called anyway 
</span><del>-FAIL when calling abort() twice on the same stream, both should give the same promise that fulfills with undefined assert_equals: the promises must be the same expected object "[object Promise]" but got object "[object Promise]"
-FAIL when calling abort() twice on the same stream, but sequentially so so there's no pending abort the second time, both should fulfill with undefined promise_test: Unhandled rejection with value: undefined
-FAIL calling abort() on an errored stream should fulfill with undefined c.error is not a function. (In 'c.error(error1)', 'c.error' is undefined)
-FAIL sink abort() should not be called if stream was erroring due to controller.error() before abort() was called ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL sink abort() should not be called if stream was erroring due to bad strategy before abort() was called ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL abort with no arguments should set the stored error to undefined promise_test: Unhandled rejection with value: object "TypeError: ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)"
-FAIL abort with an undefined argument should set the stored error to undefined promise_test: Unhandled rejection with value: object "TypeError: ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)"
-FAIL abort with a string argument should set the stored error to that argument promise_test: Unhandled rejection with value: object "TypeError: ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)"
-FAIL abort on a locked stream should reject ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
</del><ins>+PASS when calling abort() twice on the same stream, both should give the same promise that fulfills with undefined 
+PASS when calling abort() twice on the same stream, but sequentially so so there's no pending abort the second time, both should fulfill with undefined 
+PASS calling abort() on an errored stream should fulfill with undefined 
+PASS sink abort() should not be called if stream was erroring due to controller.error() before abort() was called 
+PASS sink abort() should not be called if stream was erroring due to bad strategy before abort() was called 
+PASS abort with no arguments should set the stored error to undefined 
+PASS abort with an undefined argument should set the stored error to undefined 
+PASS abort with a string argument should set the stored error to that argument 
+PASS abort on a locked stream should reject 
</ins><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsstreamswritablestreamsabortinganyworkerexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/aborting.any.worker-expected.txt (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/aborting.any.worker-expected.txt      2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/aborting.any.worker-expected.txt 2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -1,57 +1,65 @@
</span><span class="cx"> 
</span><del>-FAIL Aborting a WritableStream before it starts should cause the writer's unsettled ready promise to reject Can't find variable: WritableStream
-FAIL Aborting a WritableStream should cause the writer's fulfilled ready promise to reset to a rejected one Can't find variable: WritableStream
-FAIL abort() on a released writer rejects Can't find variable: WritableStream
-FAIL Aborting a WritableStream immediately prevents future writes Can't find variable: WritableStream
-FAIL Aborting a WritableStream prevents further writes after any that are in progress Can't find variable: WritableStream
-FAIL Fulfillment value of writer.abort() call must be undefined even if the underlying sink returns a non-undefined value Can't find variable: WritableStream
-FAIL WritableStream if sink's abort throws, the promise returned by writer.abort() rejects Can't find variable: WritableStream
-FAIL WritableStream if sink's abort throws, the promise returned by multiple writer.abort()s is the same and rejects Can't find variable: WritableStream
-FAIL WritableStream if sink's abort throws, the promise returned by ws.abort() rejects Can't find variable: WritableStream
-FAIL WritableStream if sink's abort throws, for an abort performed during a write, the promise returned by ws.abort() rejects Can't find variable: WritableStream
-FAIL Aborting a WritableStream passes through the given reason Can't find variable: WritableStream
-FAIL Aborting a WritableStream puts it in an errored state with the error passed to abort() Can't find variable: WritableStream
-FAIL Aborting a WritableStream causes any outstanding write() promises to be rejected with the reason supplied Can't find variable: WritableStream
-FAIL Closing but then immediately aborting a WritableStream causes the stream to error Can't find variable: WritableStream
-FAIL Closing a WritableStream and aborting it while it closes causes the stream to ignore the abort attempt Can't find variable: WritableStream
-FAIL Aborting a WritableStream after it is closed is a no-op Can't find variable: WritableStream
-FAIL WritableStream should NOT call underlying sink's close if no abort is supplied (historical) Can't find variable: WritableStream
-FAIL returning a thenable from abort() should work Can't find variable: WritableStream
-FAIL .closed should not resolve before fulfilled write() Can't find variable: WritableStream
-FAIL .closed should not resolve before rejected write(); write() error should not overwrite abort() error Can't find variable: WritableStream
-FAIL writes should be satisfied in order when aborting Can't find variable: WritableStream
-FAIL writes should be satisfied in order after rejected write when aborting Can't find variable: WritableStream
-FAIL close() should reject with abort reason why abort() is first error Can't find variable: WritableStream
-FAIL underlying abort() should not be called until underlying write() completes Can't find variable: WritableStream
-FAIL underlying abort() should not be called if underlying close() has started Can't find variable: WritableStream
-FAIL if underlying close() has started and then rejects, the abort() and close() promises should reject with the underlying close rejection reason Can't find variable: WritableStream
-FAIL an abort() that happens during a write() should trigger the underlying abort() even with a close() queued Can't find variable: WritableStream
-FAIL if a writer is created for a stream with a pending abort, its ready should be rejected with the abort error Can't find variable: WritableStream
-FAIL writer close() promise should resolve before abort() promise Can't find variable: WritableStream
-FAIL writer.ready should reject on controller error without waiting for underlying write Can't find variable: WritableStream
-FAIL writer.abort() while there is an in-flight write, and then finish the write with rejection Can't find variable: WritableStream
-FAIL writer.abort(), controller.error() while there is an in-flight write, and then finish the write Can't find variable: WritableStream
-FAIL writer.abort(), controller.error() while there is an in-flight close, and then finish the close Can't find variable: WritableStream
-FAIL controller.error(), writer.abort() while there is an in-flight write, and then finish the write Can't find variable: WritableStream
-FAIL controller.error(), writer.abort() while there is an in-flight close, and then finish the close Can't find variable: WritableStream
-FAIL releaseLock() while aborting should reject the original closed promise Can't find variable: WritableStream
-FAIL releaseLock() during delayed async abort() should reject the writer.closed promise Can't find variable: WritableStream
-FAIL sink abort() should not be called until sink start() is done Can't find variable: WritableStream
-FAIL if start attempts to error the controller after abort() has been called, then it should lose Can't find variable: WritableStream
-FAIL stream abort() promise should still resolve if sink start() rejects Can't find variable: WritableStream
-FAIL writer abort() during sink start() should replace the writer.ready promise synchronously Can't find variable: WritableStream
-FAIL promises returned from other writer methods should be rejected when writer abort() happens during sink start() Can't find variable: WritableStream
-FAIL abort() should succeed despite rejection from write Can't find variable: WritableStream
-FAIL abort() should be rejected with the rejection returned from close() Can't find variable: WritableStream
-FAIL a rejecting sink.write() should not prevent sink.abort() from being called Can't find variable: WritableStream
-FAIL when start errors after stream abort(), underlying sink abort() should be called anyway Can't find variable: WritableStream
-FAIL when calling abort() twice on the same stream, both should give the same promise that fulfills with undefined Can't find variable: WritableStream
-FAIL when calling abort() twice on the same stream, but sequentially so so there's no pending abort the second time, both should fulfill with undefined Can't find variable: WritableStream
-FAIL calling abort() on an errored stream should fulfill with undefined Can't find variable: WritableStream
-FAIL sink abort() should not be called if stream was erroring due to controller.error() before abort() was called Can't find variable: WritableStream
-FAIL sink abort() should not be called if stream was erroring due to bad strategy before abort() was called Can't find variable: WritableStream
-FAIL abort with no arguments should set the stored error to undefined Can't find variable: WritableStream
-FAIL abort with an undefined argument should set the stored error to undefined Can't find variable: WritableStream
-FAIL abort with a string argument should set the stored error to that argument Can't find variable: WritableStream
-FAIL abort on a locked stream should reject Can't find variable: WritableStream
</del><ins>+Harness Error (FAIL), message = Unhandled rejection
</ins><span class="cx"> 
</span><ins>+PASS Aborting a WritableStream before it starts should cause the writer's unsettled ready promise to reject 
+FAIL Aborting a WritableStream should cause the writer's fulfilled ready promise to reset to a rejected one assert_not_equals: the ready promise property should change got disallowed value object "[object Promise]"
+PASS abort() on a released writer rejects 
+PASS Aborting a WritableStream immediately prevents future writes 
+PASS Aborting a WritableStream prevents further writes after any that are in progress 
+PASS Fulfillment value of writer.abort() call must be undefined even if the underlying sink returns a non-undefined value 
+PASS WritableStream if sink's abort throws, the promise returned by writer.abort() rejects 
+PASS WritableStream if sink's abort throws, the promise returned by multiple writer.abort()s is the same and rejects 
+PASS WritableStream if sink's abort throws, the promise returned by ws.abort() rejects 
+PASS WritableStream if sink's abort throws, for an abort performed during a write, the promise returned by ws.abort() rejects 
+PASS Aborting a WritableStream passes through the given reason 
+FAIL Aborting a WritableStream puts it in an errored state with the error passed to abort() assert_unreached: Should have rejected: ready should reject with error1 Reached unreachable code
+PASS Aborting a WritableStream causes any outstanding write() promises to be rejected with the reason supplied 
+PASS Closing but then immediately aborting a WritableStream causes the stream to error 
+PASS Closing a WritableStream and aborting it while it closes causes the stream to ignore the abort attempt 
+PASS Aborting a WritableStream after it is closed is a no-op 
+PASS WritableStream should NOT call underlying sink's close if no abort is supplied (historical) 
+PASS returning a thenable from abort() should work 
+PASS .closed should not resolve before fulfilled write() 
+PASS .closed should not resolve before rejected write(); write() error should not overwrite abort() error 
+PASS writes should be satisfied in order when aborting 
+PASS writes should be satisfied in order after rejected write when aborting 
+PASS close() should reject with abort reason why abort() is first error 
+PASS underlying abort() should not be called until underlying write() completes 
+PASS underlying abort() should not be called if underlying close() has started 
+PASS if underlying close() has started and then rejects, the abort() and close() promises should reject with the underlying close rejection reason 
+PASS an abort() that happens during a write() should trigger the underlying abort() even with a close() queued 
+PASS if a writer is created for a stream with a pending abort, its ready should be rejected with the abort error 
+PASS writer close() promise should resolve before abort() promise 
+PASS writer.ready should reject on controller error without waiting for underlying write 
+FAIL writer.abort() while there is an in-flight write, and then finish the write with rejection promise_rejects_js: writer.ready must be rejected with an error indicating release function "function () { throw e }" threw object "error1: error1" ("error1") expected instance of function "function TypeError() {
+    [native code]
+}" ("TypeError")
+FAIL writer.abort(), controller.error() while there is an in-flight write, and then finish the write promise_rejects_js: writer.ready must be rejected with an error indicating release function "function () { throw e }" threw object "error1: error1" ("error1") expected instance of function "function TypeError() {
+    [native code]
+}" ("TypeError")
+FAIL writer.abort(), controller.error() while there is an in-flight close, and then finish the close assert_unreached: Should have rejected: writer.ready must reject with the error from abort Reached unreachable code
+FAIL controller.error(), writer.abort() while there is an in-flight write, and then finish the write promise_rejects_js: writer.ready must be rejected with an error indicating release function "function () { throw e }" threw object "error2: error2" ("error2") expected instance of function "function TypeError() {
+    [native code]
+}" ("TypeError")
+FAIL controller.error(), writer.abort() while there is an in-flight close, and then finish the close assert_unreached: Should have rejected: writer.ready must reject with the error passed to the controller's error method Reached unreachable code
+PASS releaseLock() while aborting should reject the original closed promise 
+PASS releaseLock() during delayed async abort() should reject the writer.closed promise 
+PASS sink abort() should not be called until sink start() is done 
+PASS if start attempts to error the controller after abort() has been called, then it should lose 
+PASS stream abort() promise should still resolve if sink start() rejects 
+FAIL writer abort() during sink start() should replace the writer.ready promise synchronously assert_not_equals: abort() should replace the ready promise with a rejected one got disallowed value object "[object Promise]"
+PASS promises returned from other writer methods should be rejected when writer abort() happens during sink start() 
+PASS abort() should succeed despite rejection from write 
+PASS abort() should be rejected with the rejection returned from close() 
+PASS a rejecting sink.write() should not prevent sink.abort() from being called 
+PASS when start errors after stream abort(), underlying sink abort() should be called anyway 
+PASS when calling abort() twice on the same stream, both should give the same promise that fulfills with undefined 
+PASS when calling abort() twice on the same stream, but sequentially so so there's no pending abort the second time, both should fulfill with undefined 
+PASS calling abort() on an errored stream should fulfill with undefined 
+PASS sink abort() should not be called if stream was erroring due to controller.error() before abort() was called 
+PASS sink abort() should not be called if stream was erroring due to bad strategy before abort() was called 
+PASS abort with no arguments should set the stored error to undefined 
+PASS abort with an undefined argument should set the stored error to undefined 
+PASS abort with a string argument should set the stored error to that argument 
+PASS abort on a locked stream should reject 
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsstreamswritablestreamsbadstrategiesanyexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/bad-strategies.any-expected.txt (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/bad-strategies.any-expected.txt       2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/bad-strategies.any-expected.txt  2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -3,7 +3,7 @@
</span><span class="cx"> PASS reject any non-function value for strategy.size 
</span><span class="cx"> PASS Writable stream: throwing strategy.highWaterMark getter 
</span><span class="cx"> PASS Writable stream: invalid strategy.highWaterMark 
</span><del>-FAIL Writable stream: throwing strategy.size method ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL Writable stream: invalid strategy.size return value ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
</del><ins>+PASS Writable stream: throwing strategy.size method 
+PASS Writable stream: invalid strategy.size return value 
</ins><span class="cx"> PASS Writable stream: invalid size beats invalid highWaterMark 
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsstreamswritablestreamsbadstrategiesanyworkerexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/bad-strategies.any.worker-expected.txt (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/bad-strategies.any.worker-expected.txt        2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/bad-strategies.any.worker-expected.txt   2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -1,43 +1,9 @@
</span><span class="cx"> 
</span><del>-FAIL Writable stream: throwing strategy.size getter assert_throws_exactly: construction should re-throw the error function "() => {
-    new WritableStream({}, {
-      get size() {
-        throw error1;
-      },
-      highWaterMark: 5
-    });
-  }" threw object "ReferenceError: Can't find variable: WritableStream" but we expected it to throw object "error1: a unique string"
-FAIL reject any non-function value for strategy.size assert_throws_js: function "() => {
-    new WritableStream({}, { size: 'a string' });
-  }" threw object "ReferenceError: Can't find variable: WritableStream" ("ReferenceError") expected instance of function "function TypeError() {
-    [native code]
-}" ("TypeError")
-FAIL Writable stream: throwing strategy.highWaterMark getter assert_throws_exactly: construction should re-throw the error function "() => {
-    new WritableStream({}, {
-      size() {
-        return 1;
-      },
-      get highWaterMark() {
-        throw error1;
-      }
-    });
-  }" threw object "ReferenceError: Can't find variable: WritableStream" but we expected it to throw object "error1: a unique string"
-FAIL Writable stream: invalid strategy.highWaterMark assert_throws_js: construction should throw a RangeError for -1 function "() => {
-      new WritableStream({}, {
-        size() {
-          return 1;
-        },
-        highWaterMark
-      });
-    }" threw object "ReferenceError: Can't find variable: WritableStream" ("ReferenceError") expected instance of function "function RangeError() {
-    [native code]
-}" ("RangeError")
-FAIL Writable stream: throwing strategy.size method Can't find variable: WritableStream
-FAIL Writable stream: invalid strategy.size return value Can't find variable: WritableStream
-FAIL Writable stream: invalid size beats invalid highWaterMark assert_throws_js: WritableStream constructor should throw a TypeError function "() => new WritableStream(undefined, {
-    size: 'not a function',
-    highWaterMark: NaN
-  })" threw object "ReferenceError: Can't find variable: WritableStream" ("ReferenceError") expected instance of function "function TypeError() {
-    [native code]
-}" ("TypeError")
</del><ins>+PASS Writable stream: throwing strategy.size getter 
+PASS reject any non-function value for strategy.size 
+PASS Writable stream: throwing strategy.highWaterMark getter 
+PASS Writable stream: invalid strategy.highWaterMark 
+PASS Writable stream: throwing strategy.size method 
+PASS Writable stream: invalid strategy.size return value 
+PASS Writable stream: invalid size beats invalid highWaterMark 
</ins><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsstreamswritablestreamsbadunderlyingsinksanyexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/bad-underlying-sinks.any-expected.txt (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/bad-underlying-sinks.any-expected.txt 2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/bad-underlying-sinks.any-expected.txt    2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -1,27 +1,17 @@
</span><span class="cx"> 
</span><ins>+Harness Error (FAIL), message = Unhandled rejection: error1
+
</ins><span class="cx"> PASS start: errors in start cause WritableStream constructor to throw 
</span><del>-FAIL close: throwing method should cause writer close() and ready to reject ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL close: returning a rejected promise should cause writer close() and ready to reject ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL close: throwing getter should cause constructor to throw assert_throws_exactly: constructor should throw function "() => new WritableStream({
-    get close() {
-      throw error1;
-    }
-  })" did not throw
-FAIL write: throwing getter should cause write() and closed to reject assert_throws_exactly: constructor should throw function "() => new WritableStream({
-    get write() {
-      throw error1;
-    }
-  })" did not throw
-FAIL write: throwing method should cause write() and closed to reject ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL write: returning a promise that becomes rejected after the writer write() should cause writer write() and ready to reject promise_test: Unhandled rejection with value: object "TypeError: ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)"
-FAIL write: returning a rejected promise (second write) should cause writer write() and ready to reject ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
</del><ins>+FAIL close: throwing method should cause writer close() and ready to reject assert_unreached: Should have rejected: ready promise must reject with the thrown error Reached unreachable code
+FAIL close: returning a rejected promise should cause writer close() and ready to reject assert_unreached: Should have rejected: ready promise must reject with the same error Reached unreachable code
+PASS close: throwing getter should cause constructor to throw 
+PASS write: throwing getter should cause write() and closed to reject 
+PASS write: throwing method should cause write() and closed to reject 
+PASS write: returning a promise that becomes rejected after the writer write() should cause writer write() and ready to reject 
+PASS write: returning a rejected promise (second write) should cause writer write() and ready to reject 
</ins><span class="cx"> FAIL abort: non-function abort method with .apply assert_throws_js: constructor should throw function "() => new WritableStream({
</span><span class="cx">     abort: { apply() {} }
</span><span class="cx">   })" did not throw
</span><del>-FAIL abort: throwing getter should cause abort() and closed to reject assert_throws_exactly: constructor should throw function "() => new WritableStream({
-    get abort() {
-      throw error1;
-    }
-  })" did not throw
-FAIL abort: throwing method should cause abort() and closed to reject ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
</del><ins>+PASS abort: throwing getter should cause abort() and closed to reject 
+PASS abort: throwing method should cause abort() and closed to reject 
</ins><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsstreamswritablestreamsbadunderlyingsinksanyworkerexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/bad-underlying-sinks.any.worker-expected.txt (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/bad-underlying-sinks.any.worker-expected.txt  2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/bad-underlying-sinks.any.worker-expected.txt     2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -1,35 +1,17 @@
</span><span class="cx"> 
</span><del>-FAIL start: errors in start cause WritableStream constructor to throw assert_throws_exactly: constructor should throw same error as throwing start getter function "() => {
-    new WritableStream({
-      get start() {
-        throw error1;
-      }
-    });
-  }" threw object "ReferenceError: Can't find variable: WritableStream" but we expected it to throw object "error1: error1"
-FAIL close: throwing method should cause writer close() and ready to reject Can't find variable: WritableStream
-FAIL close: returning a rejected promise should cause writer close() and ready to reject Can't find variable: WritableStream
-FAIL close: throwing getter should cause constructor to throw assert_throws_exactly: constructor should throw function "() => new WritableStream({
-    get close() {
-      throw error1;
-    }
-  })" threw object "ReferenceError: Can't find variable: WritableStream" but we expected it to throw object "error1: error1"
-FAIL write: throwing getter should cause write() and closed to reject assert_throws_exactly: constructor should throw function "() => new WritableStream({
-    get write() {
-      throw error1;
-    }
-  })" threw object "ReferenceError: Can't find variable: WritableStream" but we expected it to throw object "error1: error1"
-FAIL write: throwing method should cause write() and closed to reject Can't find variable: WritableStream
-FAIL write: returning a promise that becomes rejected after the writer write() should cause writer write() and ready to reject Can't find variable: WritableStream
-FAIL write: returning a rejected promise (second write) should cause writer write() and ready to reject Can't find variable: WritableStream
</del><ins>+Harness Error (FAIL), message = Unhandled rejection: error1
+
+PASS start: errors in start cause WritableStream constructor to throw 
+FAIL close: throwing method should cause writer close() and ready to reject assert_unreached: Should have rejected: ready promise must reject with the thrown error Reached unreachable code
+FAIL close: returning a rejected promise should cause writer close() and ready to reject assert_unreached: Should have rejected: ready promise must reject with the same error Reached unreachable code
+PASS close: throwing getter should cause constructor to throw 
+PASS write: throwing getter should cause write() and closed to reject 
+PASS write: throwing method should cause write() and closed to reject 
+PASS write: returning a promise that becomes rejected after the writer write() should cause writer write() and ready to reject 
+PASS write: returning a rejected promise (second write) should cause writer write() and ready to reject 
</ins><span class="cx"> FAIL abort: non-function abort method with .apply assert_throws_js: constructor should throw function "() => new WritableStream({
</span><span class="cx">     abort: { apply() {} }
</span><del>-  })" threw object "ReferenceError: Can't find variable: WritableStream" ("ReferenceError") expected instance of function "function TypeError() {
-    [native code]
-}" ("TypeError")
-FAIL abort: throwing getter should cause abort() and closed to reject assert_throws_exactly: constructor should throw function "() => new WritableStream({
-    get abort() {
-      throw error1;
-    }
-  })" threw object "ReferenceError: Can't find variable: WritableStream" but we expected it to throw object "error1: error1"
-FAIL abort: throwing method should cause abort() and closed to reject Can't find variable: WritableStream
</del><ins>+  })" did not throw
+PASS abort: throwing getter should cause abort() and closed to reject 
+PASS abort: throwing method should cause abort() and closed to reject 
</ins><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsstreamswritablestreamsbytelengthqueuingstrategyanyexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/byte-length-queuing-strategy.any-expected.txt (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/byte-length-queuing-strategy.any-expected.txt 2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/byte-length-queuing-strategy.any-expected.txt    2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -1,3 +1,3 @@
</span><span class="cx"> 
</span><del>-FAIL Closing a writable stream with in-flight writes below the high water mark delays the close call properly ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
</del><ins>+PASS Closing a writable stream with in-flight writes below the high water mark delays the close call properly 
</ins><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsstreamswritablestreamsbytelengthqueuingstrategyanyworkerexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/byte-length-queuing-strategy.any.worker-expected.txt (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/byte-length-queuing-strategy.any.worker-expected.txt  2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/byte-length-queuing-strategy.any.worker-expected.txt     2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -1,3 +1,3 @@
</span><span class="cx"> 
</span><del>-FAIL Closing a writable stream with in-flight writes below the high water mark delays the close call properly Can't find variable: WritableStream
</del><ins>+PASS Closing a writable stream with in-flight writes below the high water mark delays the close call properly 
</ins><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsstreamswritablestreamscloseanyexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/close.any-expected.txt (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/close.any-expected.txt        2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/close.any-expected.txt   2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -1,27 +1,29 @@
</span><span class="cx"> 
</span><del>-FAIL fulfillment value of writer.close() call must be undefined even if the underlying sink returns a non-undefined value ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL when sink calls error asynchronously while sink close is in-flight, the stream should not become errored ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL when sink calls error synchronously while closing, the stream should not become errored ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL when the sink throws during close, and the close is requested while a write is still in-flight, the stream should become errored during the close ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL releaseLock on a stream with a pending write in which the stream has been errored ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL releaseLock on a stream with a pending close in which controller.error() was called ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL when close is called on a WritableStream in writable state, ready should return a fulfilled promise ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL when close is called on a WritableStream in waiting state, ready promise should be fulfilled ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL when close is called on a WritableStream in waiting state, ready should be fulfilled immediately even if close takes a long time ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL returning a thenable from close() should work ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL releaseLock() should not change the result of sync close() ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL releaseLock() should not change the result of async close() ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL close() should set state to CLOSED even if writer has detached ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL the promise returned by async abort during close should resolve ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL promises must fulfill/reject in the expected order on closure ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL promises must fulfill/reject in the expected order on aborted closure promise_test: Unhandled rejection with value: object "TypeError: ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)"
-FAIL promises must fulfill/reject in the expected order on aborted and errored closure promise_test: Unhandled rejection with value: object "TypeError: ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)"
-FAIL close() should not reject until no sink methods are in flight ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL ready promise should be initialised as fulfilled for a writer on a closed stream ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL close() on a writable stream should work ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL close() on a locked stream should reject ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL close() on an erroring stream should reject controller.error is not a function. (In 'controller.error(error1)', 'controller.error' is undefined)
-FAIL close() on an errored stream should reject controller.error is not a function. (In 'controller.error(error1)', 'controller.error' is undefined)
-FAIL close() on an closed stream should reject ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL close() on a stream with a pending close should reject ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
</del><ins>+Harness Error (FAIL), message = Unhandled rejection: error1
</ins><span class="cx"> 
</span><ins>+PASS fulfillment value of writer.close() call must be undefined even if the underlying sink returns a non-undefined value 
+PASS when sink calls error asynchronously while sink close is in-flight, the stream should not become errored 
+PASS when sink calls error synchronously while closing, the stream should not become errored 
+PASS when the sink throws during close, and the close is requested while a write is still in-flight, the stream should become errored during the close 
+PASS releaseLock on a stream with a pending write in which the stream has been errored 
+PASS releaseLock on a stream with a pending close in which controller.error() was called 
+PASS when close is called on a WritableStream in writable state, ready should return a fulfilled promise 
+PASS when close is called on a WritableStream in waiting state, ready promise should be fulfilled 
+PASS when close is called on a WritableStream in waiting state, ready should be fulfilled immediately even if close takes a long time 
+PASS returning a thenable from close() should work 
+PASS releaseLock() should not change the result of sync close() 
+PASS releaseLock() should not change the result of async close() 
+PASS close() should set state to CLOSED even if writer has detached 
+PASS the promise returned by async abort during close should resolve 
+PASS promises must fulfill/reject in the expected order on closure 
+PASS promises must fulfill/reject in the expected order on aborted closure 
+PASS promises must fulfill/reject in the expected order on aborted and errored closure 
+PASS close() should not reject until no sink methods are in flight 
+PASS ready promise should be initialised as fulfilled for a writer on a closed stream 
+PASS close() on a writable stream should work 
+PASS close() on a locked stream should reject 
+PASS close() on an erroring stream should reject 
+PASS close() on an errored stream should reject 
+PASS close() on an closed stream should reject 
+PASS close() on a stream with a pending close should reject 
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsstreamswritablestreamscloseanyworkerexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/close.any.worker-expected.txt (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/close.any.worker-expected.txt 2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/close.any.worker-expected.txt    2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -1,27 +1,29 @@
</span><span class="cx"> 
</span><del>-FAIL fulfillment value of writer.close() call must be undefined even if the underlying sink returns a non-undefined value Can't find variable: WritableStream
-FAIL when sink calls error asynchronously while sink close is in-flight, the stream should not become errored Can't find variable: WritableStream
-FAIL when sink calls error synchronously while closing, the stream should not become errored Can't find variable: WritableStream
-FAIL when the sink throws during close, and the close is requested while a write is still in-flight, the stream should become errored during the close Can't find variable: WritableStream
-FAIL releaseLock on a stream with a pending write in which the stream has been errored Can't find variable: WritableStream
-FAIL releaseLock on a stream with a pending close in which controller.error() was called Can't find variable: WritableStream
-FAIL when close is called on a WritableStream in writable state, ready should return a fulfilled promise Can't find variable: WritableStream
-FAIL when close is called on a WritableStream in waiting state, ready promise should be fulfilled Can't find variable: WritableStream
-FAIL when close is called on a WritableStream in waiting state, ready should be fulfilled immediately even if close takes a long time Can't find variable: WritableStream
-FAIL returning a thenable from close() should work Can't find variable: WritableStream
-FAIL releaseLock() should not change the result of sync close() Can't find variable: WritableStream
-FAIL releaseLock() should not change the result of async close() Can't find variable: WritableStream
-FAIL close() should set state to CLOSED even if writer has detached Can't find variable: WritableStream
-FAIL the promise returned by async abort during close should resolve Can't find variable: WritableStream
-FAIL promises must fulfill/reject in the expected order on closure Can't find variable: WritableStream
-FAIL promises must fulfill/reject in the expected order on aborted closure Can't find variable: WritableStream
-FAIL promises must fulfill/reject in the expected order on aborted and errored closure Can't find variable: WritableStream
-FAIL close() should not reject until no sink methods are in flight Can't find variable: WritableStream
-FAIL ready promise should be initialised as fulfilled for a writer on a closed stream Can't find variable: WritableStream
-FAIL close() on a writable stream should work Can't find variable: WritableStream
-FAIL close() on a locked stream should reject Can't find variable: WritableStream
-FAIL close() on an erroring stream should reject Can't find variable: WritableStream
-FAIL close() on an errored stream should reject Can't find variable: WritableStream
-FAIL close() on an closed stream should reject Can't find variable: WritableStream
-FAIL close() on a stream with a pending close should reject Can't find variable: WritableStream
</del><ins>+Harness Error (FAIL), message = Unhandled rejection: error1
</ins><span class="cx"> 
</span><ins>+PASS fulfillment value of writer.close() call must be undefined even if the underlying sink returns a non-undefined value 
+PASS when sink calls error asynchronously while sink close is in-flight, the stream should not become errored 
+PASS when sink calls error synchronously while closing, the stream should not become errored 
+PASS when the sink throws during close, and the close is requested while a write is still in-flight, the stream should become errored during the close 
+PASS releaseLock on a stream with a pending write in which the stream has been errored 
+PASS releaseLock on a stream with a pending close in which controller.error() was called 
+PASS when close is called on a WritableStream in writable state, ready should return a fulfilled promise 
+PASS when close is called on a WritableStream in waiting state, ready promise should be fulfilled 
+PASS when close is called on a WritableStream in waiting state, ready should be fulfilled immediately even if close takes a long time 
+PASS returning a thenable from close() should work 
+PASS releaseLock() should not change the result of sync close() 
+PASS releaseLock() should not change the result of async close() 
+PASS close() should set state to CLOSED even if writer has detached 
+PASS the promise returned by async abort during close should resolve 
+PASS promises must fulfill/reject in the expected order on closure 
+PASS promises must fulfill/reject in the expected order on aborted closure 
+PASS promises must fulfill/reject in the expected order on aborted and errored closure 
+PASS close() should not reject until no sink methods are in flight 
+PASS ready promise should be initialised as fulfilled for a writer on a closed stream 
+PASS close() on a writable stream should work 
+PASS close() on a locked stream should reject 
+PASS close() on an erroring stream should reject 
+PASS close() on an errored stream should reject 
+PASS close() on an closed stream should reject 
+PASS close() on a stream with a pending close should reject 
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsstreamswritablestreamsconstructoranyexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/constructor.any-expected.txt (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/constructor.any-expected.txt  2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/constructor.any-expected.txt     2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -1,18 +1,14 @@
</span><span class="cx"> 
</span><del>-FAIL controller argument should be passed to start method controller.error is not a function. (In 'controller.error(error1)', 'controller.error' is undefined)
-FAIL controller argument should be passed to write method ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL controller argument should not be passed to close method ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL highWaterMark should be reflected to desiredSize ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL WritableStream should be writable and ready should fulfill immediately if the strategy does not apply backpressure ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
</del><ins>+PASS controller argument should be passed to start method 
+PASS controller argument should be passed to write method 
+PASS controller argument should not be passed to close method 
+PASS highWaterMark should be reflected to desiredSize 
+PASS WritableStream should be writable and ready should fulfill immediately if the strategy does not apply backpressure 
</ins><span class="cx"> PASS WritableStream should be constructible with no arguments 
</span><span class="cx"> PASS underlyingSink argument should be converted after queuingStrategy argument 
</span><del>-FAIL WritableStream instances should have standard methods and properties ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL WritableStreamDefaultController constructor should throw assert_throws_js: constructor should throw a TypeError exception function "() => new WritableStreamDefaultController({})" threw object "SyntaxError: Unexpected identifier 'Object'. Expected either a closing ']' or a ',' following an array element." ("SyntaxError") expected instance of function "function TypeError() {
-    [native code]
-}" ("TypeError")
-FAIL WritableStreamDefaultController constructor should throw when passed an initialised WritableStream assert_throws_js: constructor should throw a TypeError exception function "() => new WritableStreamDefaultController(stream)" threw object "SyntaxError: Unexpected identifier 'WritableStream'. Expected either a closing ']' or a ',' following an array element." ("SyntaxError") expected instance of function "function TypeError() {
-    [native code]
-}" ("TypeError")
-FAIL WritableStreamDefaultWriter should throw unless passed a WritableStream stream.getWriter is not a function. (In 'stream.getWriter()', 'stream.getWriter' is undefined)
-FAIL WritableStreamDefaultWriter constructor should throw when stream argument is locked stream.getWriter is not a function. (In 'stream.getWriter()', 'stream.getWriter' is undefined)
</del><ins>+PASS WritableStream instances should have standard methods and properties 
+FAIL WritableStreamDefaultController constructor should throw assert_throws_js: constructor should throw a TypeError exception function "() => new WritableStreamDefaultController({})" did not throw
+FAIL WritableStreamDefaultController constructor should throw when passed an initialised WritableStream assert_throws_js: constructor should throw a TypeError exception function "() => new WritableStreamDefaultController(stream)" did not throw
+PASS WritableStreamDefaultWriter should throw unless passed a WritableStream 
+PASS WritableStreamDefaultWriter constructor should throw when stream argument is locked 
</ins><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsstreamswritablestreamsconstructoranyworkerexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/constructor.any.worker-expected.txt (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/constructor.any.worker-expected.txt   2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/constructor.any.worker-expected.txt      2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -1,14 +1,14 @@
</span><span class="cx"> 
</span><del>-FAIL controller argument should be passed to start method Can't find variable: WritableStream
-FAIL controller argument should be passed to write method Can't find variable: WritableStream
-FAIL controller argument should not be passed to close method Can't find variable: WritableStream
-FAIL highWaterMark should be reflected to desiredSize Can't find variable: WritableStream
-FAIL WritableStream should be writable and ready should fulfill immediately if the strategy does not apply backpressure Can't find variable: WritableStream
-FAIL WritableStream should be constructible with no arguments Can't find variable: WritableStream
-FAIL underlyingSink argument should be converted after queuingStrategy argument assert_throws_exactly: function "() => new WritableStream(underlyingSink, queuingStrategy)" threw object "ReferenceError: Can't find variable: WritableStream" but we expected it to throw object "error2: error2"
-FAIL WritableStream instances should have standard methods and properties Can't find variable: WritableStream
-FAIL WritableStreamDefaultController constructor should throw Can't find variable: WritableStream
-FAIL WritableStreamDefaultController constructor should throw when passed an initialised WritableStream Can't find variable: WritableStream
-FAIL WritableStreamDefaultWriter should throw unless passed a WritableStream Can't find variable: WritableStream
-FAIL WritableStreamDefaultWriter constructor should throw when stream argument is locked Can't find variable: WritableStream
</del><ins>+PASS controller argument should be passed to start method 
+PASS controller argument should be passed to write method 
+PASS controller argument should not be passed to close method 
+PASS highWaterMark should be reflected to desiredSize 
+PASS WritableStream should be writable and ready should fulfill immediately if the strategy does not apply backpressure 
+PASS WritableStream should be constructible with no arguments 
+PASS underlyingSink argument should be converted after queuingStrategy argument 
+PASS WritableStream instances should have standard methods and properties 
+FAIL WritableStreamDefaultController constructor should throw assert_throws_js: constructor should throw a TypeError exception function "() => new WritableStreamDefaultController({})" did not throw
+FAIL WritableStreamDefaultController constructor should throw when passed an initialised WritableStream assert_throws_js: constructor should throw a TypeError exception function "() => new WritableStreamDefaultController(stream)" did not throw
+PASS WritableStreamDefaultWriter should throw unless passed a WritableStream 
+PASS WritableStreamDefaultWriter constructor should throw when stream argument is locked 
</ins><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsstreamswritablestreamscountqueuingstrategyanyexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/count-queuing-strategy.any-expected.txt (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/count-queuing-strategy.any-expected.txt       2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/count-queuing-strategy.any-expected.txt  2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> 
</span><span class="cx"> PASS Can construct a writable stream with a valid CountQueuingStrategy 
</span><del>-FAIL Correctly governs the value of a WritableStream's state property (HWM = 0) ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL Correctly governs the value of a WritableStream's state property (HWM = 4) ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
</del><ins>+PASS Correctly governs the value of a WritableStream's state property (HWM = 0) 
+PASS Correctly governs the value of a WritableStream's state property (HWM = 4) 
</ins><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsstreamswritablestreamscountqueuingstrategyanyworkerexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/count-queuing-strategy.any.worker-expected.txt (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/count-queuing-strategy.any.worker-expected.txt        2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/count-queuing-strategy.any.worker-expected.txt   2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> 
</span><del>-FAIL Can construct a writable stream with a valid CountQueuingStrategy Can't find variable: WritableStream
-FAIL Correctly governs the value of a WritableStream's state property (HWM = 0) Can't find variable: WritableStream
-FAIL Correctly governs the value of a WritableStream's state property (HWM = 4) Can't find variable: WritableStream
</del><ins>+PASS Can construct a writable stream with a valid CountQueuingStrategy 
+PASS Correctly governs the value of a WritableStream's state property (HWM = 0) 
+PASS Correctly governs the value of a WritableStream's state property (HWM = 4) 
</ins><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsstreamswritablestreamserroranyexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/error.any-expected.txt (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/error.any-expected.txt        2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/error.any-expected.txt   2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -1,7 +1,7 @@
</span><span class="cx"> 
</span><del>-FAIL controller.error() should error the stream controller.error is not a function. (In 'controller.error(error1)', 'controller.error' is undefined)
-FAIL controller.error() on erroring stream should not throw controller.error is not a function. (In 'controller.error(error1)', 'controller.error' is undefined)
-FAIL surplus calls to controller.error() should be a no-op controller.error is not a function. (In 'controller.error(error1)', 'controller.error' is undefined)
-FAIL controller.error() on errored stream should not throw promise_test: Unhandled rejection with value: object "TypeError: controller.error is not a function. (In 'controller.error(error1)', 'controller.error' is undefined)"
-FAIL controller.error() on closed stream should not throw ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
</del><ins>+PASS controller.error() should error the stream 
+PASS controller.error() on erroring stream should not throw 
+PASS surplus calls to controller.error() should be a no-op 
+PASS controller.error() on errored stream should not throw 
+PASS controller.error() on closed stream should not throw 
</ins><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsstreamswritablestreamserroranyworkerexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/error.any.worker-expected.txt (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/error.any.worker-expected.txt 2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/error.any.worker-expected.txt    2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -1,7 +1,7 @@
</span><span class="cx"> 
</span><del>-FAIL controller.error() should error the stream Can't find variable: WritableStream
-FAIL controller.error() on erroring stream should not throw Can't find variable: WritableStream
-FAIL surplus calls to controller.error() should be a no-op Can't find variable: WritableStream
-FAIL controller.error() on errored stream should not throw Can't find variable: WritableStream
-FAIL controller.error() on closed stream should not throw Can't find variable: WritableStream
</del><ins>+PASS controller.error() should error the stream 
+PASS controller.error() on erroring stream should not throw 
+PASS surplus calls to controller.error() should be a no-op 
+PASS controller.error() on errored stream should not throw 
+PASS controller.error() on closed stream should not throw 
</ins><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsstreamswritablestreamsfloatingpointtotalqueuesizeanyexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/floating-point-total-queue-size.any-expected.txt (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/floating-point-total-queue-size.any-expected.txt      2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/floating-point-total-queue-size.any-expected.txt 2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -1,6 +1,6 @@
</span><span class="cx"> 
</span><del>-FAIL Floating point arithmetic must manifest near NUMBER.MAX_SAFE_INTEGER (total ends up positive) ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL Floating point arithmetic must manifest near 0 (total ends up positive, but clamped) ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL Floating point arithmetic must manifest near 0 (total ends up positive, and not clamped) ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL Floating point arithmetic must manifest near 0 (total ends up zero) ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
</del><ins>+PASS Floating point arithmetic must manifest near NUMBER.MAX_SAFE_INTEGER (total ends up positive) 
+PASS Floating point arithmetic must manifest near 0 (total ends up positive, but clamped) 
+PASS Floating point arithmetic must manifest near 0 (total ends up positive, and not clamped) 
+PASS Floating point arithmetic must manifest near 0 (total ends up zero) 
</ins><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsstreamswritablestreamsfloatingpointtotalqueuesizeanyworkerexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/floating-point-total-queue-size.any.worker-expected.txt (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/floating-point-total-queue-size.any.worker-expected.txt       2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/floating-point-total-queue-size.any.worker-expected.txt  2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -1,6 +1,6 @@
</span><span class="cx"> 
</span><del>-FAIL Floating point arithmetic must manifest near NUMBER.MAX_SAFE_INTEGER (total ends up positive) Can't find variable: WritableStream
-FAIL Floating point arithmetic must manifest near 0 (total ends up positive, but clamped) Can't find variable: WritableStream
-FAIL Floating point arithmetic must manifest near 0 (total ends up positive, and not clamped) Can't find variable: WritableStream
-FAIL Floating point arithmetic must manifest near 0 (total ends up zero) Can't find variable: WritableStream
</del><ins>+PASS Floating point arithmetic must manifest near NUMBER.MAX_SAFE_INTEGER (total ends up positive) 
+PASS Floating point arithmetic must manifest near 0 (total ends up positive, but clamped) 
+PASS Floating point arithmetic must manifest near 0 (total ends up positive, and not clamped) 
+PASS Floating point arithmetic must manifest near 0 (total ends up zero) 
</ins><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsstreamswritablestreamsgeneralanyexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/general.any-expected.txt (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/general.any-expected.txt      2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/general.any-expected.txt 2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -1,18 +1,18 @@
</span><span class="cx"> 
</span><del>-FAIL desiredSize on a released writer ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL desiredSize initial value ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL desiredSize on a writer for a closed stream ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL desiredSize on a writer for an errored stream c.error is not a function. (In 'c.error()', 'c.error' is undefined)
-FAIL ws.getWriter() on a closing WritableStream ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL ws.getWriter() on a closed WritableStream ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL ws.getWriter() on an aborted WritableStream ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL ws.getWriter() on an errored WritableStream c.error is not a function. (In 'c.error()', 'c.error' is undefined)
-FAIL closed and ready on a released writer ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL WritableStream should call underlying sink methods as methods ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL methods should not not have .apply() or .call() called ws1.getWriter is not a function. (In 'ws1.getWriter()', 'ws1.getWriter' is undefined)
-FAIL WritableStream's strategy.size should not be called as a method highWaterMark value is negative or not a number
-FAIL redundant releaseLock() is no-op ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL ready promise should fire before closed on releaseLock ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
</del><ins>+PASS desiredSize on a released writer 
+PASS desiredSize initial value 
+PASS desiredSize on a writer for a closed stream 
+PASS desiredSize on a writer for an errored stream 
+PASS ws.getWriter() on a closing WritableStream 
+PASS ws.getWriter() on a closed WritableStream 
+PASS ws.getWriter() on an aborted WritableStream 
+PASS ws.getWriter() on an errored WritableStream 
+FAIL closed and ready on a released writer assert_unreached: writer.ready fulfilled unexpectedly with: undefined Reached unreachable code
+PASS WritableStream should call underlying sink methods as methods 
+PASS methods should not not have .apply() or .call() called 
+PASS WritableStream's strategy.size should not be called as a method 
+PASS redundant releaseLock() is no-op 
+PASS ready promise should fire before closed on releaseLock 
</ins><span class="cx"> FAIL Subclassing WritableStream should work assert_true: Subclass object should be an instance of Subclass expected true got false
</span><del>-FAIL the locked getter should return true if the stream has a writer assert_false: stream should not be locked expected false got undefined
</del><ins>+PASS the locked getter should return true if the stream has a writer 
</ins><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsstreamswritablestreamsgeneralanyworkerexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/general.any.worker-expected.txt (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/general.any.worker-expected.txt       2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/general.any.worker-expected.txt  2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -1,18 +1,18 @@
</span><span class="cx"> 
</span><del>-FAIL desiredSize on a released writer Can't find variable: WritableStream
-FAIL desiredSize initial value Can't find variable: WritableStream
-FAIL desiredSize on a writer for a closed stream Can't find variable: WritableStream
-FAIL desiredSize on a writer for an errored stream Can't find variable: WritableStream
-FAIL ws.getWriter() on a closing WritableStream Can't find variable: WritableStream
-FAIL ws.getWriter() on a closed WritableStream Can't find variable: WritableStream
-FAIL ws.getWriter() on an aborted WritableStream Can't find variable: WritableStream
-FAIL ws.getWriter() on an errored WritableStream Can't find variable: WritableStream
-FAIL closed and ready on a released writer Can't find variable: WritableStream
-FAIL WritableStream should call underlying sink methods as methods Can't find variable: WritableStream
-FAIL methods should not not have .apply() or .call() called Can't find variable: WritableStream
-FAIL WritableStream's strategy.size should not be called as a method Can't find variable: WritableStream
-FAIL redundant releaseLock() is no-op Can't find variable: WritableStream
-FAIL ready promise should fire before closed on releaseLock Can't find variable: WritableStream
-FAIL Subclassing WritableStream should work Can't find variable: WritableStream
-FAIL the locked getter should return true if the stream has a writer Can't find variable: WritableStream
</del><ins>+PASS desiredSize on a released writer 
+PASS desiredSize initial value 
+PASS desiredSize on a writer for a closed stream 
+PASS desiredSize on a writer for an errored stream 
+PASS ws.getWriter() on a closing WritableStream 
+PASS ws.getWriter() on a closed WritableStream 
+PASS ws.getWriter() on an aborted WritableStream 
+PASS ws.getWriter() on an errored WritableStream 
+FAIL closed and ready on a released writer assert_unreached: writer.ready fulfilled unexpectedly with: undefined Reached unreachable code
+PASS WritableStream should call underlying sink methods as methods 
+PASS methods should not not have .apply() or .call() called 
+PASS WritableStream's strategy.size should not be called as a method 
+PASS redundant releaseLock() is no-op 
+PASS ready promise should fire before closed on releaseLock 
+FAIL Subclassing WritableStream should work assert_true: Subclass object should be an instance of Subclass expected true got false
+PASS the locked getter should return true if the stream has a writer 
</ins><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsstreamswritablestreamspropertiesanyexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/properties.any-expected.txt (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/properties.any-expected.txt   2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/properties.any-expected.txt      2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -1,10 +1,10 @@
</span><span class="cx"> 
</span><del>-FAIL sink method start should be called with the right number of arguments ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL sink method start should be called even when it's located on the prototype chain ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL sink method write should be called with the right number of arguments ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL sink method write should be called even when it's located on the prototype chain ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL sink method close should be called with the right number of arguments ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL sink method close should be called even when it's located on the prototype chain ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL sink method abort should be called with the right number of arguments ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL sink method abort should be called even when it's located on the prototype chain ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
</del><ins>+PASS sink method start should be called with the right number of arguments 
+PASS sink method start should be called even when it's located on the prototype chain 
+PASS sink method write should be called with the right number of arguments 
+PASS sink method write should be called even when it's located on the prototype chain 
+PASS sink method close should be called with the right number of arguments 
+PASS sink method close should be called even when it's located on the prototype chain 
+PASS sink method abort should be called with the right number of arguments 
+PASS sink method abort should be called even when it's located on the prototype chain 
</ins><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsstreamswritablestreamspropertiesanyworkerexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/properties.any.worker-expected.txt (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/properties.any.worker-expected.txt    2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/properties.any.worker-expected.txt       2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -1,10 +1,10 @@
</span><span class="cx"> 
</span><del>-FAIL sink method start should be called with the right number of arguments Can't find variable: WritableStream
-FAIL sink method start should be called even when it's located on the prototype chain Can't find variable: WritableStream
-FAIL sink method write should be called with the right number of arguments Can't find variable: WritableStream
-FAIL sink method write should be called even when it's located on the prototype chain Can't find variable: WritableStream
-FAIL sink method close should be called with the right number of arguments Can't find variable: WritableStream
-FAIL sink method close should be called even when it's located on the prototype chain Can't find variable: WritableStream
-FAIL sink method abort should be called with the right number of arguments Can't find variable: WritableStream
-FAIL sink method abort should be called even when it's located on the prototype chain Can't find variable: WritableStream
</del><ins>+PASS sink method start should be called with the right number of arguments 
+PASS sink method start should be called even when it's located on the prototype chain 
+PASS sink method write should be called with the right number of arguments 
+PASS sink method write should be called even when it's located on the prototype chain 
+PASS sink method close should be called with the right number of arguments 
+PASS sink method close should be called even when it's located on the prototype chain 
+PASS sink method abort should be called with the right number of arguments 
+PASS sink method abort should be called even when it's located on the prototype chain 
</ins><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsstreamswritablestreamsreentrantstrategyanyexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/reentrant-strategy.any-expected.txt (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/reentrant-strategy.any-expected.txt   2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/reentrant-strategy.any-expected.txt      2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -1,9 +1,9 @@
</span><span class="cx"> 
</span><del>-FAIL writes should be written in the standard order highWaterMark value is negative or not a number
-FAIL writer.write() promises should resolve in the standard order highWaterMark value is negative or not a number
-FAIL controller.error() should work when called from within strategy.size() highWaterMark value is negative or not a number
-FAIL close() should work when called from within strategy.size() highWaterMark value is negative or not a number
-FAIL abort() should work when called from within strategy.size() highWaterMark value is negative or not a number
-FAIL releaseLock() should abort the write() when called within strategy.size() highWaterMark value is negative or not a number
-FAIL original reader should error when new reader is created within strategy.size() highWaterMark value is negative or not a number
</del><ins>+PASS writes should be written in the standard order 
+PASS writer.write() promises should resolve in the standard order 
+FAIL controller.error() should work when called from within strategy.size() assert_unreached: Should have rejected: ready should reject with error1 Reached unreachable code
+PASS close() should work when called from within strategy.size() 
+PASS abort() should work when called from within strategy.size() 
+FAIL releaseLock() should abort the write() when called within strategy.size() assert_unreached: Should have rejected: ready promise should reject Reached unreachable code
+FAIL original reader should error when new reader is created within strategy.size() assert_unreached: Should have rejected: ready promise should reject Reached unreachable code
</ins><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsstreamswritablestreamsreentrantstrategyanyworkerexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/reentrant-strategy.any.worker-expected.txt (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/reentrant-strategy.any.worker-expected.txt    2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/reentrant-strategy.any.worker-expected.txt       2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -1,9 +1,9 @@
</span><span class="cx"> 
</span><del>-FAIL writes should be written in the standard order Can't find variable: WritableStream
-FAIL writer.write() promises should resolve in the standard order Can't find variable: WritableStream
-FAIL controller.error() should work when called from within strategy.size() Can't find variable: WritableStream
-FAIL close() should work when called from within strategy.size() Can't find variable: WritableStream
-FAIL abort() should work when called from within strategy.size() Can't find variable: WritableStream
-FAIL releaseLock() should abort the write() when called within strategy.size() Can't find variable: WritableStream
-FAIL original reader should error when new reader is created within strategy.size() Can't find variable: WritableStream
</del><ins>+PASS writes should be written in the standard order 
+PASS writer.write() promises should resolve in the standard order 
+FAIL controller.error() should work when called from within strategy.size() assert_unreached: Should have rejected: ready should reject with error1 Reached unreachable code
+PASS close() should work when called from within strategy.size() 
+PASS abort() should work when called from within strategy.size() 
+FAIL releaseLock() should abort the write() when called within strategy.size() assert_unreached: Should have rejected: ready promise should reject Reached unreachable code
+FAIL original reader should error when new reader is created within strategy.size() assert_unreached: Should have rejected: ready promise should reject Reached unreachable code
</ins><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsstreamswritablestreamsstartanyexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/start.any-expected.txt (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/start.any-expected.txt        2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/start.any-expected.txt   2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -1,15 +1,10 @@
</span><del>-CONSOLE MESSAGE: Unhandled Promise Rejection: undefined
-CONSOLE MESSAGE: Unhandled Promise Rejection: [object Object]
-CONSOLE MESSAGE: Unhandled Promise Rejection: undefined
</del><span class="cx"> 
</span><del>-Harness Error (FAIL), message = Unhandled rejection
-
-FAIL underlying sink's write should not be called until start finishes ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL underlying sink's close should not be called until start finishes ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
</del><ins>+PASS underlying sink's write should not be called until start finishes 
+PASS underlying sink's close should not be called until start finishes 
</ins><span class="cx"> PASS underlying sink's write or close should not be called if start throws 
</span><span class="cx"> PASS underlying sink's write or close should not be invoked if the promise returned by start is rejected 
</span><del>-FAIL returning a thenable from start() should work ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL controller.error() during start should cause writes to fail controller.error is not a function. (In 'controller.error(error1)', 'controller.error' is undefined)
-FAIL controller.error() during async start should cause existing writes to fail ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL when start() rejects, writer promises should reject in standard order ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
</del><ins>+PASS returning a thenable from start() should work 
+PASS controller.error() during start should cause writes to fail 
+PASS controller.error() during async start should cause existing writes to fail 
+PASS when start() rejects, writer promises should reject in standard order 
</ins><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsstreamswritablestreamsstartanyworkerexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/start.any.worker-expected.txt (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/start.any.worker-expected.txt 2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/start.any.worker-expected.txt    2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -1,24 +1,10 @@
</span><span class="cx"> 
</span><del>-FAIL underlying sink's write should not be called until start finishes Can't find variable: WritableStream
-FAIL underlying sink's close should not be called until start finishes Can't find variable: WritableStream
-FAIL underlying sink's write or close should not be called if start throws assert_throws_exactly: constructor should throw passedError function "() => {
-    // recordingWritableStream cannot be used here because the exception in the
-    // constructor prevents assigning the object to a variable.
-    new WritableStream({
-      start() {
-        throw passedError;
-      },
-      write() {
-        writeCalled = true;
-      },
-      close() {
-        closeCalled = true;
-      }
-    });
-  }" threw object "ReferenceError: Can't find variable: WritableStream" but we expected it to throw object "Error: horrible things"
-FAIL underlying sink's write or close should not be invoked if the promise returned by start is rejected Can't find variable: WritableStream
-FAIL returning a thenable from start() should work Can't find variable: WritableStream
-FAIL controller.error() during start should cause writes to fail Can't find variable: WritableStream
-FAIL controller.error() during async start should cause existing writes to fail Can't find variable: WritableStream
-FAIL when start() rejects, writer promises should reject in standard order Can't find variable: WritableStream
</del><ins>+PASS underlying sink's write should not be called until start finishes 
+PASS underlying sink's close should not be called until start finishes 
+PASS underlying sink's write or close should not be called if start throws 
+PASS underlying sink's write or close should not be invoked if the promise returned by start is rejected 
+PASS returning a thenable from start() should work 
+PASS controller.error() during start should cause writes to fail 
+PASS controller.error() during async start should cause existing writes to fail 
+PASS when start() rejects, writer promises should reject in standard order 
</ins><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsstreamswritablestreamswriteanyexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/write.any-expected.txt (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/write.any-expected.txt        2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/write.any-expected.txt   2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -1,15 +1,15 @@
</span><span class="cx"> 
</span><del>-FAIL WritableStream should complete asynchronous writes before close resolves ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL WritableStream should complete synchronous writes before close resolves ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL fulfillment value of ws.write() call should be undefined even if the underlying sink returns a non-undefined value ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL WritableStream should transition to waiting until write is acknowledged ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL when write returns a rejected promise, queued writes and close should be cleared ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL when sink's write throws an error, the stream should become errored and the promise should reject ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL writer.write(), ready and closed reject with the error passed to controller.error() made before sink.write rejection ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL a large queue of writes should be processed completely ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL WritableStreamDefaultWriter should work when manually constructed stream.getWriter is not a function. (In 'stream.getWriter()', 'stream.getWriter' is undefined)
-FAIL returning a thenable from write() should work ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL failing DefaultWriter constructor should not release an existing writer stream.getWriter is not a function. (In 'stream.getWriter()', 'stream.getWriter' is undefined)
-FAIL write() on a stream with HWM 0 should not cause the ready Promise to resolve ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
-FAIL writing to a released writer should reject the returned promise ws.getWriter is not a function. (In 'ws.getWriter()', 'ws.getWriter' is undefined)
</del><ins>+PASS WritableStream should complete asynchronous writes before close resolves 
+PASS WritableStream should complete synchronous writes before close resolves 
+PASS fulfillment value of ws.write() call should be undefined even if the underlying sink returns a non-undefined value 
+PASS WritableStream should transition to waiting until write is acknowledged 
+PASS when write returns a rejected promise, queued writes and close should be cleared 
+PASS when sink's write throws an error, the stream should become errored and the promise should reject 
+PASS writer.write(), ready and closed reject with the error passed to controller.error() made before sink.write rejection 
+PASS a large queue of writes should be processed completely 
+PASS WritableStreamDefaultWriter should work when manually constructed 
+PASS returning a thenable from write() should work 
+PASS failing DefaultWriter constructor should not release an existing writer 
+PASS write() on a stream with HWM 0 should not cause the ready Promise to resolve 
+PASS writing to a released writer should reject the returned promise 
</ins><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsstreamswritablestreamswriteanyworkerexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/write.any.worker-expected.txt (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/write.any.worker-expected.txt 2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/streams/writable-streams/write.any.worker-expected.txt    2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -1,15 +1,15 @@
</span><span class="cx"> 
</span><del>-FAIL WritableStream should complete asynchronous writes before close resolves Can't find variable: WritableStream
-FAIL WritableStream should complete synchronous writes before close resolves Can't find variable: WritableStream
-FAIL fulfillment value of ws.write() call should be undefined even if the underlying sink returns a non-undefined value Can't find variable: WritableStream
-FAIL WritableStream should transition to waiting until write is acknowledged Can't find variable: WritableStream
-FAIL when write returns a rejected promise, queued writes and close should be cleared Can't find variable: WritableStream
-FAIL when sink's write throws an error, the stream should become errored and the promise should reject Can't find variable: WritableStream
-FAIL writer.write(), ready and closed reject with the error passed to controller.error() made before sink.write rejection Can't find variable: WritableStream
-FAIL a large queue of writes should be processed completely Can't find variable: WritableStream
-FAIL WritableStreamDefaultWriter should work when manually constructed Can't find variable: WritableStream
-FAIL returning a thenable from write() should work Can't find variable: WritableStream
-FAIL failing DefaultWriter constructor should not release an existing writer Can't find variable: WritableStream
-FAIL write() on a stream with HWM 0 should not cause the ready Promise to resolve Can't find variable: WritableStream
-FAIL writing to a released writer should reject the returned promise Can't find variable: WritableStream
</del><ins>+PASS WritableStream should complete asynchronous writes before close resolves 
+PASS WritableStream should complete synchronous writes before close resolves 
+PASS fulfillment value of ws.write() call should be undefined even if the underlying sink returns a non-undefined value 
+PASS WritableStream should transition to waiting until write is acknowledged 
+PASS when write returns a rejected promise, queued writes and close should be cleared 
+PASS when sink's write throws an error, the stream should become errored and the promise should reject 
+PASS writer.write(), ready and closed reject with the error passed to controller.error() made before sink.write rejection 
+PASS a large queue of writes should be processed completely 
+PASS WritableStreamDefaultWriter should work when manually constructed 
+PASS returning a thenable from write() should work 
+PASS failing DefaultWriter constructor should not release an existing writer 
+PASS write() on a stream with HWM 0 should not cause the ready Promise to resolve 
+PASS writing to a released writer should reject the returned promise 
</ins><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsworkerssemanticsinterfaceobjects001workerexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/workers/semantics/interface-objects/001.worker-expected.txt (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/workers/semantics/interface-objects/001.worker-expected.txt    2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/workers/semantics/interface-objects/001.worker-expected.txt       2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -49,7 +49,7 @@
</span><span class="cx"> PASS The CustomEvent interface object should be exposed. 
</span><span class="cx"> PASS The DOMException interface object should be exposed. 
</span><span class="cx"> PASS The ReadableStream interface object should be exposed. 
</span><del>-FAIL The WritableStream interface object should be exposed. assert_own_property: expected property "WritableStream" missing
</del><ins>+PASS The WritableStream interface object should be exposed. 
</ins><span class="cx"> PASS The ByteLengthQueuingStrategy interface object should be exposed. 
</span><span class="cx"> PASS The CountQueuingStrategy interface object should be exposed. 
</span><span class="cx"> PASS The IDBRequest interface object should be exposed. 
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsworkerssemanticsinterfaceobjects002workerexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/workers/semantics/interface-objects/002.worker-expected.txt (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/workers/semantics/interface-objects/002.worker-expected.txt    2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/workers/semantics/interface-objects/002.worker-expected.txt       2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -20,8 +20,8 @@
</span><span class="cx"> PASS The ReadableStreamBYOBReader interface object should not be exposed. 
</span><span class="cx"> PASS The ReadableStreamDefaultController interface object should not be exposed. 
</span><span class="cx"> PASS The ReadableByteStreamController interface object should not be exposed. 
</span><del>-PASS The WritableStreamDefaultWriter interface object should not be exposed. 
-PASS The WritableStreamDefaultController interface object should not be exposed. 
</del><ins>+FAIL The WritableStreamDefaultWriter interface object should not be exposed. assert_false: expected false got true
+FAIL The WritableStreamDefaultController interface object should not be exposed. assert_false: expected false got true
</ins><span class="cx"> PASS The IDBEnvironment interface object should not be exposed. 
</span><span class="cx"> PASS The Database interface object should not be exposed. 
</span><span class="cx"> PASS The UIEvent interface object should not be exposed. 
</span></span></pre></div>
<a id="trunkLayoutTestsjsdombuiltingetternameexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/js/dom/builtin-getter-name-expected.txt (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/js/dom/builtin-getter-name-expected.txt        2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/LayoutTests/js/dom/builtin-getter-name-expected.txt   2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -3,5 +3,5 @@
</span><span class="cx"> PASS ReadableStream property names 
</span><span class="cx"> PASS ReadableStreamDefaultReader property names 
</span><span class="cx"> PASS ReadableStreamBYOBReader property names 
</span><del>-PASS WritableStream property names 
</del><ins>+PASS WritableStreamDefaultWriter property names 
</ins><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsjsdombuiltingetternamehtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/js/dom/builtin-getter-name.html (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/js/dom/builtin-getter-name.html        2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/LayoutTests/js/dom/builtin-getter-name.html   2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -47,10 +47,11 @@
</span><span class="cx"> }, 'ReadableStreamBYOBReader property names');
</span><span class="cx"> 
</span><span class="cx"> test(() => {
</span><del>-    tryGetOwnPropertyDescriptorGetName(WritableStream.prototype, 'closed', 'get closed');
-    tryGetOwnPropertyDescriptorGetName(WritableStream.prototype, 'ready', 'get ready');
-    tryGetOwnPropertyDescriptorGetName(WritableStream.prototype, 'state', 'get state');
-}, 'WritableStream property names');
</del><ins>+    let stream = new WritableStream();
+    let writer = stream.getWriter();
+    tryGetOwnPropertyDescriptorGetName(writer.__proto__, 'closed', 'get closed');
+    tryGetOwnPropertyDescriptorGetName(writer.__proto__, 'ready', 'get ready');
+}, 'WritableStreamDefaultWriter property names');
</ins><span class="cx"> 
</span><span class="cx"> </script>
</span><span class="cx"> </body>
</span></span></pre></div>
<a id="trunkLayoutTestsplatformwinTestExpectations"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/win/TestExpectations (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/win/TestExpectations  2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/LayoutTests/platform/win/TestExpectations     2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -3588,7 +3588,6 @@
</span><span class="cx"> streams/reference-implementation/pipe-through.html [ Failure ]
</span><span class="cx"> streams/reference-implementation/pipe-to-options.html [ Failure ]
</span><span class="cx"> streams/reference-implementation/readable-stream-templated.html [ Failure ]
</span><del>-streams/reference-implementation/writable-stream-abort.html [ Failure ]
</del><span class="cx"> streams/reference-implementation/writable-stream.html [ Failure ]
</span><span class="cx"> streams/shadowing-Promise.html [ Failure ]
</span><span class="cx"> svg/animations/animated-svg-image-removed-from-document-paused.html [ Failure ]
</span></span></pre></div>
<a id="trunkLayoutTestsstreamspipetoexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/streams/pipe-to-expected.txt (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/streams/pipe-to-expected.txt   2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/LayoutTests/streams/pipe-to-expected.txt      2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -1,3 +1,3 @@
</span><span class="cx"> 
</span><del>-PASS Piping to a writable stream that does not consume the writes fast enough exerts backpressure on the source 
</del><ins>+FAIL Piping to a writable stream that does not consume the writes fast enough exerts backpressure on the source |this| is not a Promise
</ins><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsstreamsreferenceimplementationbadstrategiesexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/streams/reference-implementation/bad-strategies-expected.txt (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/streams/reference-implementation/bad-strategies-expected.txt   2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/LayoutTests/streams/reference-implementation/bad-strategies-expected.txt      2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -1,7 +1,7 @@
</span><span class="cx"> 
</span><span class="cx"> PASS Writable stream: throwing strategy.size getter 
</span><del>-PASS Writable stream: throwing strategy.size method 
-PASS Writable stream: invalid strategy.size return value 
</del><ins>+FAIL Writable stream: throwing strategy.size method ws.write is not a function. (In 'ws.write('a')', 'ws.write' is undefined)
+FAIL Writable stream: invalid strategy.size return value ws.write is not a function. (In 'ws.write('a')', 'ws.write' is undefined)
</ins><span class="cx"> PASS Writable stream: throwing strategy.highWaterMark getter 
</span><span class="cx"> PASS Writable stream: invalid strategy.highWaterMark 
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsstreamsreferenceimplementationbadunderlyingsinksexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/streams/reference-implementation/bad-underlying-sinks-expected.txt (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/streams/reference-implementation/bad-underlying-sinks-expected.txt     2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/LayoutTests/streams/reference-implementation/bad-underlying-sinks-expected.txt        2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -1,10 +1,10 @@
</span><span class="cx"> 
</span><span class="cx"> PASS Underlying sink: throwing start getter 
</span><span class="cx"> PASS Underlying sink: throwing start method 
</span><del>-PASS Underlying sink: throwing write getter 
-PASS Underlying sink: throwing write method 
-PASS Underlying sink: throwing abort getter 
-PASS Underlying sink: throwing abort method 
-PASS Underlying sink: throwing close getter 
</del><ins>+FAIL Underlying sink: throwing write getter a unique string
+FAIL Underlying sink: throwing write method ws.write is not a function. (In 'ws.write('a')', 'ws.write' is undefined)
+FAIL Underlying sink: throwing abort getter a unique string
+FAIL Underlying sink: throwing abort method undefined is not an object (evaluating 'ws.closed.then')
+FAIL Underlying sink: throwing close getter a unique string
</ins><span class="cx"> PASS Underlying sink: throwing close method 
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsstreamsreferenceimplementationbrandchecksexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/streams/reference-implementation/brand-checks-expected.txt (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/streams/reference-implementation/brand-checks-expected.txt     2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/LayoutTests/streams/reference-implementation/brand-checks-expected.txt        2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -1,8 +1,8 @@
</span><span class="cx"> 
</span><del>-PASS WritableStream.prototype.closed enforces a brand check 
-PASS WritableStream.prototype.ready enforces a brand check 
-PASS WritableStream.prototype.state enforces a brand check 
</del><ins>+FAIL WritableStream.prototype.closed enforces a brand check undefined is not an object (evaluating 'Object.getOwnPropertyDescriptor(obj, getterName).get')
+FAIL WritableStream.prototype.ready enforces a brand check undefined is not an object (evaluating 'Object.getOwnPropertyDescriptor(obj, getterName).get')
+FAIL WritableStream.prototype.state enforces a brand check undefined is not an object (evaluating 'Object.getOwnPropertyDescriptor(obj, getterName).get')
</ins><span class="cx"> PASS WritableStream.prototype.abort enforces a brand check 
</span><del>-PASS WritableStream.prototype.write enforces a brand check 
</del><ins>+FAIL WritableStream.prototype.write enforces a brand check undefined is not an object (evaluating 'method.call')
</ins><span class="cx"> PASS WritableStream.prototype.close enforces a brand check 
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsstreamsreferenceimplementationbytelengthqueuingstrategyexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/streams/reference-implementation/byte-length-queuing-strategy-expected.txt (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/streams/reference-implementation/byte-length-queuing-strategy-expected.txt     2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/LayoutTests/streams/reference-implementation/byte-length-queuing-strategy-expected.txt        2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -1,3 +1,3 @@
</span><span class="cx"> 
</span><del>-PASS Closing a writable stream with in-flight writes below the high water mark delays the close call properly 
</del><ins>+FAIL Closing a writable stream with in-flight writes below the high water mark delays the close call properly ws.write is not a function. (In 'ws.write({ byteLength: 1024 })', 'ws.write' is undefined)
</ins><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsstreamsreferenceimplementationcountqueuingstrategyexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/streams/reference-implementation/count-queuing-strategy-expected.txt (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/streams/reference-implementation/count-queuing-strategy-expected.txt   2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/LayoutTests/streams/reference-implementation/count-queuing-strategy-expected.txt      2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> 
</span><span class="cx"> PASS Can construct a writable stream with a valid CountQueuingStrategy 
</span><del>-PASS Correctly governs the value of a WritableStream's state property (HWM = 0) 
-PASS Correctly governs the value of a WritableStream's state property (HWM = 4) 
</del><ins>+FAIL Correctly governs the value of a WritableStream's state property (HWM = 0) assert_equals: After 0 writes, 0 of which finished, state should be 'writable' expected (string) "writable" but got (undefined) undefined
+FAIL Correctly governs the value of a WritableStream's state property (HWM = 4) assert_equals: After 0 writes, 0 of which finished, state should be 'writable' expected (string) "writable" but got (undefined) undefined
</ins><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsstreamsreferenceimplementationpipethroughexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/streams/reference-implementation/pipe-through-expected.txt (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/streams/reference-implementation/pipe-through-expected.txt     2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/LayoutTests/streams/reference-implementation/pipe-through-expected.txt        2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -1,4 +1,4 @@
</span><span class="cx"> 
</span><del>-PASS Piping through a duck-typed pass-through transform stream works 
</del><ins>+FAIL Piping through a duck-typed pass-through transform stream works |this| is not a Promise
</ins><span class="cx"> FAIL Piping through an identity transform stream will close the destination when the source closes Can't find variable: TransformStream
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsstreamsreferenceimplementationpipetoexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/streams/reference-implementation/pipe-to-expected.txt (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/streams/reference-implementation/pipe-to-expected.txt  2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/LayoutTests/streams/reference-implementation/pipe-to-expected.txt     2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -1,49 +1,29 @@
</span><del>-CONSOLE MESSAGE: TypeError: undefined is not an object (evaluating 'e.message')
-CONSOLE MESSAGE: Unhandled Promise Rejection: undefined
-CONSOLE MESSAGE: Unhandled Promise Rejection: Error: horrible things
-CONSOLE MESSAGE: Unhandled Promise Rejection: Error: horrible things
-CONSOLE MESSAGE: Unhandled Promise Rejection: TypeError: cancel() called on a reader owned by no readable stream
-CONSOLE MESSAGE: TypeError: undefined is not an object (evaluating 'e.message')
-CONSOLE MESSAGE: Unhandled Promise Rejection: undefined
-CONSOLE MESSAGE: TypeError: undefined is not an object (evaluating 'e.message')
-CONSOLE MESSAGE: Unhandled Promise Rejection: undefined
-CONSOLE MESSAGE: TypeError: undefined is not an object (evaluating 'e.message')
-CONSOLE MESSAGE: Unhandled Promise Rejection: undefined
-CONSOLE MESSAGE: Unhandled Promise Rejection: Error: horrible things
-CONSOLE MESSAGE: Unhandled Promise Rejection: Error: horrible things
-CONSOLE MESSAGE: Unhandled Promise Rejection: TypeError: cancel() called on a reader owned by no readable stream
-CONSOLE MESSAGE: Unhandled Promise Rejection: TypeError: cancel() called on a reader owned by no readable stream
-CONSOLE MESSAGE: Unhandled Promise Rejection: Error: horrible things
-CONSOLE MESSAGE: Unhandled Promise Rejection: TypeError: cancel() called on a reader owned by no readable stream
-CONSOLE MESSAGE: Unhandled Promise Rejection: Error: I don't like you.
-CONSOLE MESSAGE: Unhandled Promise Rejection: Error: I don't like you.
-CONSOLE MESSAGE: Unhandled Promise Rejection: Error: I don't like you.
-CONSOLE MESSAGE: Unhandled Promise Rejection: Error: I don't like you.
-CONSOLE MESSAGE: Unhandled Promise Rejection: Error: I don't like you.
</del><ins>+CONSOLE MESSAGE: Unhandled Promise Rejection: Error: assert_unreached: Unexpected pull call Reached unreachable code
+CONSOLE MESSAGE: Unhandled Promise Rejection: Error: assert_equals: underlying sink abort should receive the error from the readable stream expected (object) object "Error: horrible things" but got (undefined) undefined
</ins><span class="cx"> 
</span><del>-Harness Error (FAIL), message = I don't like you.
</del><ins>+Harness Error (FAIL), message = assert_equals: underlying sink abort should receive the error from the readable stream expected (object) object "Error: horrible things" but got (undefined) undefined
</ins><span class="cx"> 
</span><del>-PASS Piping from a ReadableStream from which lots of data are readable synchronously 
-PASS Piping from a ReadableStream in readable state to a WritableStream in closing state 
-PASS Piping from a ReadableStream in readable state to a WritableStream in errored state 
-PASS Piping from a ReadableStream in the readable state which becomes closed after pipeTo call to a WritableStream in the writable state 
-PASS Piping from a ReadableStream in the readable state which becomes errored after pipeTo call to a WritableStream in the writable state 
-PASS Piping from an empty ReadableStream which becomes non-empty after pipeTo call to a WritableStream in the writable state 
-PASS Piping from an empty ReadableStream which becomes errored after pipeTo call to a WritableStream in the writable state 
-PASS Piping from an empty ReadableStream to a WritableStream in the writable state which becomes errored after a pipeTo call 
-PASS Piping from a non-empty ReadableStream to a WritableStream in the waiting state which becomes writable after a pipeTo call 
-PASS Piping from a non-empty ReadableStream to a WritableStream in waiting state which becomes errored after a pipeTo call 
-PASS Piping from a non-empty ReadableStream which becomes errored after pipeTo call to a WritableStream in the waiting state 
-PASS Piping from a non-empty ReadableStream to a WritableStream in the waiting state where both become ready after a pipeTo 
-PASS Piping from an empty ReadableStream to a WritableStream in the waiting state which becomes writable after a pipeTo call 
-PASS Piping from an empty ReadableStream which becomes closed after a pipeTo call to a WritableStream in the waiting state whose writes never complete 
-PASS Piping from an empty ReadableStream which becomes errored after a pipeTo call to a WritableStream in the waiting state 
</del><ins>+FAIL Piping from a ReadableStream from which lots of data are readable synchronously assert_equals: writable stream state should start out writable expected (string) "writable" but got (undefined) undefined
+FAIL Piping from a ReadableStream in readable state to a WritableStream in closing state assert_equals: writable stream should be closing immediately after closing it expected (string) "closing" but got (undefined) undefined
+FAIL Piping from a ReadableStream in readable state to a WritableStream in errored state ws.write is not a function. (In 'ws.write('Hello')', 'ws.write' is undefined)
+FAIL Piping from a ReadableStream in the readable state which becomes closed after pipeTo call to a WritableStream in the writable state |this| is not a Promise
+FAIL Piping from a ReadableStream in the readable state which becomes errored after pipeTo call to a WritableStream in the writable state |this| is not a Promise
+FAIL Piping from an empty ReadableStream which becomes non-empty after pipeTo call to a WritableStream in the writable state |this| is not a Promise
+FAIL Piping from an empty ReadableStream which becomes errored after pipeTo call to a WritableStream in the writable state |this| is not a Promise
+FAIL Piping from an empty ReadableStream to a WritableStream in the writable state which becomes errored after a pipeTo call assert_equals: ws should start writable expected (string) "writable" but got (undefined) undefined
+FAIL Piping from a non-empty ReadableStream to a WritableStream in the waiting state which becomes writable after a pipeTo call ws.write is not a function. (In 'ws.write('Hello')', 'ws.write' is undefined)
+FAIL Piping from a non-empty ReadableStream to a WritableStream in waiting state which becomes errored after a pipeTo call ws.write is not a function. (In 'ws.write('Hello')', 'ws.write' is undefined)
+FAIL Piping from a non-empty ReadableStream which becomes errored after pipeTo call to a WritableStream in the waiting state ws.write is not a function. (In 'ws.write('Hello')', 'ws.write' is undefined)
+FAIL Piping from a non-empty ReadableStream to a WritableStream in the waiting state where both become ready after a pipeTo ws.write is not a function. (In 'ws.write('Hello')', 'ws.write' is undefined)
+FAIL Piping from an empty ReadableStream to a WritableStream in the waiting state which becomes writable after a pipeTo call ws.write is not a function. (In 'ws.write('Hello')', 'ws.write' is undefined)
+FAIL Piping from an empty ReadableStream which becomes closed after a pipeTo call to a WritableStream in the waiting state whose writes never complete ws.write is not a function. (In 'ws.write('Hello')', 'ws.write' is undefined)
+FAIL Piping from an empty ReadableStream which becomes errored after a pipeTo call to a WritableStream in the waiting state ws.write is not a function. (In 'ws.write('Hello')', 'ws.write' is undefined)
</ins><span class="cx"> PASS Piping to a duck-typed asynchronous "writable stream" works 
</span><del>-PASS Piping to a stream that has been aborted passes through the error as the cancellation reason 
-PASS Piping to a stream and then aborting it passes through the error as the cancellation reason 
-PASS Piping to a stream that has been closed propagates a TypeError cancellation reason backward 
-PASS Piping to a stream and then closing it propagates a TypeError cancellation reason backward 
-PASS Piping to a stream that errors on write should pass through the error as the cancellation reason 
-PASS Piping to a stream that errors on write should not pass through the error if the stream is already closed 
-PASS Piping to a stream that errors soon after writing should pass through the error as the cancellation reason 
</del><ins>+FAIL Piping to a stream that has been aborted passes through the error as the cancellation reason |this| is not a Promise
+FAIL Piping to a stream and then aborting it passes through the error as the cancellation reason |this| is not a Promise
+FAIL Piping to a stream that has been closed propagates a TypeError cancellation reason backward |this| is not a Promise
+FAIL Piping to a stream and then closing it propagates a TypeError cancellation reason backward |this| is not a Promise
+FAIL Piping to a stream that errors on write should pass through the error as the cancellation reason |this| is not a Promise
+FAIL Piping to a stream that errors on write should not pass through the error if the stream is already closed |this| is not a Promise
+FAIL Piping to a stream that errors soon after writing should pass through the error as the cancellation reason |this| is not a Promise
</ins><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsstreamsreferenceimplementationpipetooptionsexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/streams/reference-implementation/pipe-to-options-expected.txt (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/streams/reference-implementation/pipe-to-options-expected.txt  2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/LayoutTests/streams/reference-implementation/pipe-to-options-expected.txt     2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -1,11 +1,5 @@
</span><del>-CONSOLE MESSAGE: Unhandled Promise Rejection: Error: destination error
-CONSOLE MESSAGE: Unhandled Promise Rejection: Error: destination error
-CONSOLE MESSAGE: Unhandled Promise Rejection: Error: destination error
-CONSOLE MESSAGE: Unhandled Promise Rejection: Error: destination error
</del><span class="cx"> 
</span><del>-Harness Error (FAIL), message = destination error
</del><ins>+FAIL Piping with no options and a destination error |this| is not a Promise
+FAIL Piping with { preventCancel: false } and a destination error |this| is not a Promise
+FAIL Piping with { preventCancel: true } and a destination error |this| is not a Promise
</ins><span class="cx"> 
</span><del>-PASS Piping with no options and a destination error 
-PASS Piping with { preventCancel: false } and a destination error 
-PASS Piping with { preventCancel: true } and a destination error 
-
</del></span></pre></div>
<a id="trunkLayoutTestsstreamsreferenceimplementationreadablestreamtemplatedexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/streams/reference-implementation/readable-stream-templated-expected.txt (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/streams/reference-implementation/readable-stream-templated-expected.txt        2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/LayoutTests/streams/reference-implementation/readable-stream-templated-expected.txt   2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -1,37 +1,37 @@
</span><span class="cx"> 
</span><span class="cx"> PASS Running templatedRSClosed with ReadableStream (closed via call in start) 
</span><del>-PASS ReadableStream (closed via call in start): piping to a WritableStream in the writable state should close the writable stream 
-PASS ReadableStream (closed via call in start): piping to a WritableStream in the writable state with { preventClose: true } should do nothing 
</del><ins>+FAIL ReadableStream (closed via call in start): piping to a WritableStream in the writable state should close the writable stream assert_equals: writable stream should start in writable state expected (string) "writable" but got (undefined) undefined
+FAIL ReadableStream (closed via call in start): piping to a WritableStream in the writable state with { preventClose: true } should do nothing assert_equals: writable stream should start in writable state expected (string) "writable" but got (undefined) undefined
</ins><span class="cx"> PASS Running templatedRSClosed with ReadableStream (closed via cancel) 
</span><del>-PASS ReadableStream (closed via cancel): piping to a WritableStream in the writable state should close the writable stream 
-PASS ReadableStream (closed via cancel): piping to a WritableStream in the writable state with { preventClose: true } should do nothing 
</del><ins>+FAIL ReadableStream (closed via cancel): piping to a WritableStream in the writable state should close the writable stream assert_equals: writable stream should start in writable state expected (string) "writable" but got (undefined) undefined
+FAIL ReadableStream (closed via cancel): piping to a WritableStream in the writable state with { preventClose: true } should do nothing assert_equals: writable stream should start in writable state expected (string) "writable" but got (undefined) undefined
</ins><span class="cx"> PASS Running templatedRSErrored with ReadableStream (errored via call in start) 
</span><del>-PASS ReadableStream (errored via call in start): piping to a WritableStream in the writable state should abort the writable stream 
</del><ins>+FAIL ReadableStream (errored via call in start): piping to a WritableStream in the writable state should abort the writable stream assert_equals: expected (string) "writable" but got (undefined) undefined
</ins><span class="cx"> PASS Running templatedRSErrored with ReadableStream (errored via returning a rejected promise in start) 
</span><del>-PASS ReadableStream (errored via returning a rejected promise in start): piping to a WritableStream in the writable state should abort the writable stream 
</del><ins>+FAIL ReadableStream (errored via returning a rejected promise in start): piping to a WritableStream in the writable state should abort the writable stream assert_equals: expected (string) "writable" but got (undefined) undefined
</ins><span class="cx"> PASS Running templatedRSErroredAsyncOnly with ReadableStream (errored via returning a rejected promise in start) reader 
</span><del>-PASS ReadableStream (errored via returning a rejected promise in start) reader: piping with no options 
-PASS ReadableStream (errored via returning a rejected promise in start) reader: piping with { preventAbort: false } 
-PASS ReadableStream (errored via returning a rejected promise in start) reader: piping with { preventAbort: true } 
</del><ins>+FAIL ReadableStream (errored via returning a rejected promise in start) reader: piping with no options |this| is not a Promise
+FAIL ReadableStream (errored via returning a rejected promise in start) reader: piping with { preventAbort: false } |this| is not a Promise
+FAIL ReadableStream (errored via returning a rejected promise in start) reader: piping with { preventAbort: true } |this| is not a Promise
</ins><span class="cx"> PASS Running templatedRSTwoChunksClosed with ReadableStream (two chunks enqueued, then closed) 
</span><del>-PASS ReadableStream (two chunks enqueued, then closed): piping with no options and no destination errors 
-PASS ReadableStream (two chunks enqueued, then closed): piping with { preventClose: false } and no destination errors 
-PASS ReadableStream (two chunks enqueued, then closed): piping with { preventClose: true } and no destination errors 
-PASS ReadableStream (two chunks enqueued, then closed): piping with { preventClose: false } and a destination with that errors synchronously 
-PASS ReadableStream (two chunks enqueued, then closed): piping with { preventClose: true } and a destination with that errors synchronously 
-PASS ReadableStream (two chunks enqueued, then closed): piping with { preventClose: true } and a destination that errors on the last chunk 
</del><ins>+FAIL ReadableStream (two chunks enqueued, then closed): piping with no options and no destination errors |this| is not a Promise
+FAIL ReadableStream (two chunks enqueued, then closed): piping with { preventClose: false } and no destination errors |this| is not a Promise
+FAIL ReadableStream (two chunks enqueued, then closed): piping with { preventClose: true } and no destination errors |this| is not a Promise
+FAIL ReadableStream (two chunks enqueued, then closed): piping with { preventClose: false } and a destination with that errors synchronously |this| is not a Promise
+FAIL ReadableStream (two chunks enqueued, then closed): piping with { preventClose: true } and a destination with that errors synchronously |this| is not a Promise
+FAIL ReadableStream (two chunks enqueued, then closed): piping with { preventClose: true } and a destination that errors on the last chunk |this| is not a Promise
</ins><span class="cx"> PASS Running templatedRSTwoChunksClosed with ReadableStream (two chunks enqueued async, then closed) 
</span><del>-PASS ReadableStream (two chunks enqueued async, then closed): piping with no options and no destination errors 
-PASS ReadableStream (two chunks enqueued async, then closed): piping with { preventClose: false } and no destination errors 
-PASS ReadableStream (two chunks enqueued async, then closed): piping with { preventClose: true } and no destination errors 
-PASS ReadableStream (two chunks enqueued async, then closed): piping with { preventClose: false } and a destination with that errors synchronously 
-PASS ReadableStream (two chunks enqueued async, then closed): piping with { preventClose: true } and a destination with that errors synchronously 
-PASS ReadableStream (two chunks enqueued async, then closed): piping with { preventClose: true } and a destination that errors on the last chunk 
</del><ins>+FAIL ReadableStream (two chunks enqueued async, then closed): piping with no options and no destination errors |this| is not a Promise
+FAIL ReadableStream (two chunks enqueued async, then closed): piping with { preventClose: false } and no destination errors |this| is not a Promise
+FAIL ReadableStream (two chunks enqueued async, then closed): piping with { preventClose: true } and no destination errors |this| is not a Promise
+FAIL ReadableStream (two chunks enqueued async, then closed): piping with { preventClose: false } and a destination with that errors synchronously |this| is not a Promise
+FAIL ReadableStream (two chunks enqueued async, then closed): piping with { preventClose: true } and a destination with that errors synchronously |this| is not a Promise
+FAIL ReadableStream (two chunks enqueued async, then closed): piping with { preventClose: true } and a destination that errors on the last chunk |this| is not a Promise
</ins><span class="cx"> PASS Running templatedRSTwoChunksClosed with ReadableStream (two chunks enqueued via pull, then closed) 
</span><del>-PASS ReadableStream (two chunks enqueued via pull, then closed): piping with no options and no destination errors 
-PASS ReadableStream (two chunks enqueued via pull, then closed): piping with { preventClose: false } and no destination errors 
-PASS ReadableStream (two chunks enqueued via pull, then closed): piping with { preventClose: true } and no destination errors 
-PASS ReadableStream (two chunks enqueued via pull, then closed): piping with { preventClose: false } and a destination with that errors synchronously 
-PASS ReadableStream (two chunks enqueued via pull, then closed): piping with { preventClose: true } and a destination with that errors synchronously 
-PASS ReadableStream (two chunks enqueued via pull, then closed): piping with { preventClose: true } and a destination that errors on the last chunk 
</del><ins>+FAIL ReadableStream (two chunks enqueued via pull, then closed): piping with no options and no destination errors |this| is not a Promise
+FAIL ReadableStream (two chunks enqueued via pull, then closed): piping with { preventClose: false } and no destination errors |this| is not a Promise
+FAIL ReadableStream (two chunks enqueued via pull, then closed): piping with { preventClose: true } and no destination errors |this| is not a Promise
+FAIL ReadableStream (two chunks enqueued via pull, then closed): piping with { preventClose: false } and a destination with that errors synchronously |this| is not a Promise
+FAIL ReadableStream (two chunks enqueued via pull, then closed): piping with { preventClose: true } and a destination with that errors synchronously |this| is not a Promise
+FAIL ReadableStream (two chunks enqueued via pull, then closed): piping with { preventClose: true } and a destination that errors on the last chunk |this| is not a Promise
</ins><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsstreamsreferenceimplementationwritablestreamabortexpectedtxt"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/streams/reference-implementation/writable-stream-abort-expected.txt (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/streams/reference-implementation/writable-stream-abort-expected.txt    2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/LayoutTests/streams/reference-implementation/writable-stream-abort-expected.txt       2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -1,43 +0,0 @@
</span><del>-CONSOLE MESSAGE: Unhandled Promise Rejection: a
-CONSOLE MESSAGE: TypeError: undefined is not an object (evaluating 'e.error')
-CONSOLE MESSAGE: Unhandled Promise Rejection: undefined
-CONSOLE MESSAGE: Unhandled Promise Rejection: Error: Sorry, it just wasn't meant to be.
-CONSOLE MESSAGE: Unhandled Promise Rejection: Error: Sorry, it just wasn't meant to be.
-CONSOLE MESSAGE: Unhandled Promise Rejection: Error: Sorry, it just wasn't meant to be.
-CONSOLE MESSAGE: Unhandled Promise Rejection: Error: Sorry, it just wasn't meant to be.
-CONSOLE MESSAGE: TypeError: undefined is not an object (evaluating 'e.error')
-CONSOLE MESSAGE: Unhandled Promise Rejection: undefined
-CONSOLE MESSAGE: TypeError: undefined is not an object (evaluating 'e.error')
-CONSOLE MESSAGE: Unhandled Promise Rejection: undefined
-CONSOLE MESSAGE: TypeError: undefined is not an object (evaluating 'e.error')
-CONSOLE MESSAGE: Unhandled Promise Rejection: undefined
-CONSOLE MESSAGE: TypeError: undefined is not an object (evaluating 'e.error')
-CONSOLE MESSAGE: Unhandled Promise Rejection: undefined
-CONSOLE MESSAGE: TypeError: undefined is not an object (evaluating 'e.error')
-CONSOLE MESSAGE: Unhandled Promise Rejection: undefined
-CONSOLE MESSAGE: TypeError: undefined is not an object (evaluating 'e.error')
-CONSOLE MESSAGE: Unhandled Promise Rejection: undefined
-CONSOLE MESSAGE: TypeError: undefined is not an object (evaluating 'e.error')
-CONSOLE MESSAGE: Unhandled Promise Rejection: undefined
-CONSOLE MESSAGE: TypeError: undefined is not an object (evaluating 'e.error')
-CONSOLE MESSAGE: Unhandled Promise Rejection: undefined
-CONSOLE MESSAGE: TypeError: undefined is not an object (evaluating 'e.error')
-CONSOLE MESSAGE: Unhandled Promise Rejection: undefined
-CONSOLE MESSAGE: TypeError: undefined is not an object (evaluating 'e.error')
-CONSOLE MESSAGE: Unhandled Promise Rejection: undefined
-
-Harness Error (FAIL), message = TypeError: undefined is not an object (evaluating 'e.error')
-
-PASS Aborting a WritableStream immediately prevents future writes 
-PASS Aborting a WritableStream prevents further writes after any that are in progress 
-PASS Fulfillment value of ws.abort() call must be undefined even if the underlying sink returns a non-undefined value 
-PASS WritableStream if sink's abort throws, the promise returned by ws.abort() rejects 
-PASS Aborting a WritableStream passes through the given reason 
-PASS Aborting a WritableStream puts it in an errored state, with stored error equal to the abort reason 
-PASS Aborting a WritableStream causes any outstanding ready promises to be fulfilled immediately 
-PASS Aborting a WritableStream causes any outstanding write() promises to be rejected with the abort reason 
-PASS Closing but then immediately aborting a WritableStream causes the stream to error 
-PASS Closing a WritableStream and aborting it while it closes causes the stream to error 
-PASS Aborting a WritableStream after it is closed is a no-op 
-PASS WritableStream should call underlying sink's close if no abort is supplied 
-
</del></span></pre></div>
<a id="trunkLayoutTestsstreamsreferenceimplementationwritablestreamaborthtml"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/streams/reference-implementation/writable-stream-abort.html (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/streams/reference-implementation/writable-stream-abort.html    2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/LayoutTests/streams/reference-implementation/writable-stream-abort.html       2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -1,264 +0,0 @@
</span><del>-<!DOCTYPE html>
-<script src='../../resources/testharness.js'></script>
-<script src='../../resources/testharnessreport.js'></script>
-<script src='resources/streams-utils.js'></script>
-<script>
-// This is updated till https://github.com/whatwg/streams/commit/4ba861e6f60c248060811830e11271c84b439cc3
-
-var test1 = async_test('Aborting a WritableStream immediately prevents future writes');
-test1.step(function() {
-    var chunks = [];
-    var ws = new WritableStream({
-        write: function(chunk) {
-            chunks.push(chunk);
-        }
-    });
-
-    setTimeout(test1.step_func(function() {
-        ws.abort();
-        ws.write(1);
-        ws.write(2);
-        assert_array_equals(chunks, [], 'no chunks are written');
-        test1.done();
-    }), 0);
-});
-
-var test2 = async_test('Aborting a WritableStream prevents further writes after any that are in progress');
-test2.step(function() {
-    var chunks = [];
-    var ws = new WritableStream({
-        write: function(chunk) {
-            chunks.push(chunk);
-            return new Promise(test2.step_func(function(resolve) { setTimeout(test2.step_func(function() { resolve(); }), 200); }));
-        }
-    });
-
-    setTimeout(test2.step_func(function() {
-        ws.write(1);
-        ws.write(2);
-        ws.write(3);
-        ws.abort();
-        ws.write(4);
-        ws.write(5);
-
-        setTimeout(test2.step_func(function () {
-            assert_array_equals(chunks, [1], 'only the single in-progress chunk gets written');
-            test2.done();
-        }), 500);
-    }), 0);
-});
-
-var test3 = async_test('Fulfillment value of ws.abort() call must be undefined even if the underlying sink returns a non-undefined value');
-test3.step(function() {
-    var ws = new WritableStream({
-        abort: function() {
-            return 'Hello';
-        }
-    });
-
-    var abortPromise = ws.abort('a');
-    abortPromise.then(test3.step_func(function(value) {
-        assert_equals(value, undefined, 'fulfillment value must be undefined');
-        test3.done();
-    })).catch(test3.step_func(function() { assert_unreached('abortPromise is rejected'); }));
-});
-
-var test4 = async_test('WritableStream if sink\'s abort throws, the promise returned by ws.abort() rejects');
-test4.step(function() {
-    var errorInSinkAbort = new Error('Sorry, it just wasn\'t meant to be.');
-    var ws = new WritableStream({
-        abort: function() {
-            throw errorInSinkAbort;
-        }
-    });
-
-    var abortPromise = ws.abort(undefined);
-    abortPromise.then(
-        test4.step_func(function() { assert_unreached('abortPromise is fulfilled unexpectedly'); }),
-        test4.step_func(function(r) {
-            assert_equals(r, errorInSinkAbort, 'rejection reason of abortPromise must be errorInSinkAbort');
-            test4.done();
-        })
-    );
-});
-
-test(function() {
-    var recordedReason;
-    var ws = new WritableStream({
-        abort: function(reason) {
-            recordedReason = reason;
-        }
-    });
-
-    var passedReason = new Error('Sorry, it just wasn\'t meant to be.');
-    ws.abort(passedReason);
-
-    assert_equals(recordedReason, passedReason);
-}, 'Aborting a WritableStream passes through the given reason');
-
-var test5 = async_test('Aborting a WritableStream puts it in an errored state, with stored error equal to the abort reason');
-test5.step(function() {
-    var events = 0;
-    var recordedReason;
-    var ws = new WritableStream();
-
-    var passedReason = new Error('Sorry, it just wasn\'t meant to be.');
-    ws.abort(passedReason);
-
-    assert_equals(ws.state, 'errored', 'state should be errored');
-
-    ws.write().then(
-        test5.step_func(function() { assert_unreached('writing should not succeed'); }),
-        test5.step_func(function(r) {
-            assert_equals(r, passedReason, 'writing should reject with the given reason');
-            assert_equals(++events, 1);
-        })
-    );
-
-    ws.close().then(
-        test5.step_func(function() { assert_unreached('closing should not succeed'); }),
-        test5.step_func(function(r) {
-            assert_equals(r, passedReason, 'closing should reject with the given reason');
-            assert_equals(++events, 2);
-        })
-    );
-
-    ws.abort().then(
-        test5.step_func(function() { assert_unreached('aborting a second time should not succeed'); }),
-        test5.step_func(function(r) {
-            assert_equals(r, passedReason, 'aborting a second time should reject with the given reason');
-            assert_equals(++events, 3);
-        })
-    );
-
-    ws.closed.then(
-        test5.step_func(function() { assert_unreached('closed promise should not be fulfilled'); }),
-        test5.step_func(function(r) {
-            assert_equals(r, passedReason, 'closed promise should be rejected with the given reason');
-            assert_equals(++events, 4);
-            test5.done();
-        })
-    );
-});
-
-var test6 = async_test('Aborting a WritableStream causes any outstanding ready promises to be fulfilled immediately');
-test6.step(function() {
-    var writeCalled = false;
-    var recordedReason;
-    var ws = new WritableStream({
-        write: function(chunk) {
-            writeCalled = true;
-            return new Promise(test6.step_func(function() { })); // forever-pending, so normally .ready would not fulfill.
-        }
-    });
-    ws.write('a');
-    assert_equals(ws.state, 'waiting', 'state should be waiting');
-
-    ws.ready.then(test6.step_func(function() {
-        assert_equals(ws.state, 'errored', 'state should now be errored');
-        assert_false(writeCalled);
-        test6.done();
-    }));
-
-    var passedReason = new Error('Sorry, it just wasn\'t meant to be.');
-    ws.abort(passedReason);
-});
-
-var test7 = async_test('Aborting a WritableStream causes any outstanding write() promises to be rejected with the abort reason');
-test7.step(function() {
-    var ws = new WritableStream();
-
-    ws.write('a').then(
-        test7.step_func(function() { assert_unreached('writing should not succeed'); }),
-        test7.step_func(function(r) {
-            assert_equals(r, passedReason, 'writing should reject with the given reason');
-            test7.done();
-        })
-    );
-
-    var passedReason = new Error('Sorry, it just wasn\'t meant to be.');
-    ws.abort(passedReason);
-});
-
-var test8 = async_test('Closing but then immediately aborting a WritableStream causes the stream to error');
-test8.step(function() {
-    var ws = new WritableStream();
-
-    ws.close();
-
-    var passedReason = new Error('Sorry, it just wasn\'t meant to be.');
-    ws.abort(passedReason);
-
-    assert_equals(ws.state, 'errored');
-
-    ws.closed.then(
-        test8.step_func(function() { assert_unreached('the stream should not close successfully'); }),
-        test8.step_func(function(r) {
-            assert_equals(r, passedReason, 'the stream should be errored with the given reason');
-            test8.done();
-        })
-    );
-});
-
-var test9 = async_test('Closing a WritableStream and aborting it while it closes causes the stream to error');
-test9.step(function() {
-    var ws = new WritableStream({
-        close: function() {
-            return new Promise(test9.step_func(function() { })); // forever-pending
-        }
-    });
-
-    ws.close();
-
-    var passedReason = new Error('Sorry, it just wasn\'t meant to be.');
-
-    setTimeout(test9.step_func(function() {
-        assert_equals(ws.state, 'closing');
-
-        ws.abort(passedReason);
-
-        assert_equals(ws.state, 'errored');
-    }), 200);
-
-    ws.closed.then(
-        test9.step_func(function() { assert_unreached('the stream should not close successfully'); }),
-        test9.step_func(function(r) {
-            assert_equals(r, passedReason, 'the stream should be errored with the given reason');
-            test9.done();
-        })
-    );
-});
-
-var test10 = async_test('Aborting a WritableStream after it is closed is a no-op');
-test10.step(function() {
-    var ws = new WritableStream();
-
-    ws.close();
-
-    setTimeout(test10.step_func(function() {
-        assert_equals(ws.state, 'closed');
-
-        ws.abort().then(
-            test10.step_func(function(v) {
-                assert_equals(v, undefined, 'abort promise should fulfill with undefined');
-                test10.done();
-            }),
-            test10.step_func(assert_unreached)
-        );
-
-        assert_equals(ws.state, 'closed', 'state stays closed');
-    }), 0);
-});
-
-var test11 = async_test('WritableStream should call underlying sink\'s close if no abort is supplied');
-test11.step(function() {
-    var ws = new WritableStream({
-        close: function() {
-            assert_equals(arguments.length, 0, 'close() was called (with no arguments)');
-            test11.done();
-        }
-    });
-
-    ws.abort();
-});
-</script>
</del></span></pre></div>
<a id="trunkLayoutTestsstreamsreferenceimplementationwritablestreamexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/streams/reference-implementation/writable-stream-expected.txt (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/streams/reference-implementation/writable-stream-expected.txt  2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/LayoutTests/streams/reference-implementation/writable-stream-expected.txt     2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -1,18 +1,14 @@
</span><del>-CONSOLE MESSAGE: TypeError: undefined is not an object (evaluating 'e.error')
-CONSOLE MESSAGE: Unhandled Promise Rejection: undefined
</del><span class="cx"> 
</span><del>-Harness Error (FAIL), message = TypeError: undefined is not an object (evaluating 'e.error')
-
-PASS error argument is given to start method 
-PASS Underlying sink's write won't be called until start finishes 
-PASS Underlying sink's close won't be called until start finishes 
</del><ins>+FAIL error argument is given to start method error is not a function. (In 'error(passedError)', 'error' is an instance of WritableStreamDefaultController)
+FAIL Underlying sink's write won't be called until start finishes ws.write is not a function. (In 'ws.write('a')', 'ws.write' is undefined)
+FAIL Underlying sink's close won't be called until start finishes assert_equals: expected (string) "closing" but got (undefined) undefined
</ins><span class="cx"> PASS Fulfillment value of ws.close() call must be undefined even if the underlying sink returns a non-undefined value 
</span><span class="cx"> PASS Underlying sink's write or close are never invoked if start throws 
</span><span class="cx"> PASS Underlying sink's write or close are never invoked if the promise returned by start is rejected 
</span><span class="cx"> PASS WritableStream can be constructed with no arguments 
</span><del>-PASS WritableStream instances have the correct methods and properties 
-PASS WritableStream with simple input, processed asynchronously 
-PASS WritableStream with simple input, processed synchronously 
-PASS WritableStream is writable and ready fulfills immediately if the strategy does not apply backpressure 
-PASS Fulfillment value of ws.write() call must be undefined even if the underlying sink returns a non-undefined value 
</del><ins>+FAIL WritableStream instances have the correct methods and properties assert_equals: has a write method expected "function" but got "undefined"
+FAIL WritableStream with simple input, processed asynchronously writableStream.write is not a function. (In 'writableStream.write(chunk)', 'writableStream.write' is undefined)
+FAIL WritableStream with simple input, processed synchronously writableStream.write is not a function. (In 'writableStream.write(chunk)', 'writableStream.write' is undefined)
+FAIL WritableStream is writable and ready fulfills immediately if the strategy does not apply backpressure assert_equals: expected (string) "writable" but got (undefined) undefined
+FAIL Fulfillment value of ws.write() call must be undefined even if the underlying sink returns a non-undefined value ws.write is not a function. (In 'ws.write('a')', 'ws.write' is undefined)
</ins><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreCMakeListstxt"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/CMakeLists.txt (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/CMakeLists.txt      2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/Source/WebCore/CMakeLists.txt 2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -444,6 +444,8 @@
</span><span class="cx">     Modules/streams/ReadableStreamSink.idl
</span><span class="cx">     Modules/streams/ReadableStreamSource.idl
</span><span class="cx">     Modules/streams/WritableStream.idl
</span><ins>+    Modules/streams/WritableStreamDefaultController.idl
+    Modules/streams/WritableStreamDefaultWriter.idl
</ins><span class="cx"> 
</span><span class="cx">     Modules/webaudio/AnalyserNode.idl
</span><span class="cx">     Modules/webaudio/AnalyserOptions.idl
</span><span class="lines">@@ -1934,6 +1936,8 @@
</span><span class="cx">     ${WEBCORE_DIR}/Modules/streams/ReadableStreamDefaultReader.js
</span><span class="cx">     ${WEBCORE_DIR}/Modules/streams/StreamInternals.js
</span><span class="cx">     ${WEBCORE_DIR}/Modules/streams/WritableStream.js
</span><ins>+    ${WEBCORE_DIR}/Modules/streams/WritableStreamDefaultController.js
+    ${WEBCORE_DIR}/Modules/streams/WritableStreamDefaultWriter.js
</ins><span class="cx">     ${WEBCORE_DIR}/Modules/streams/WritableStreamInternals.js
</span><span class="cx">     ${WEBCORE_DIR}/bindings/js/JSDOMBindingInternals.js
</span><span class="cx"> )
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog   2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/Source/WebCore/ChangeLog      2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -1,3 +1,29 @@
</span><ins>+2020-08-12  Youenn Fablet  <youenn@apple.com>
+
+        Refresh WritableStream up to spec
+        https://bugs.webkit.org/show_bug.cgi?id=215267
+
+        Reviewed by Geoff Garen.
+
+        Update according latest spec, including WebIDL, controller and writer.
+        Covered by rebased tests.
+
+        * CMakeLists.txt:
+        * DerivedSources-input.xcfilelist:
+        * DerivedSources-output.xcfilelist:
+        * DerivedSources.make:
+        * Modules/streams/StreamInternals.js:
+        * Modules/streams/WritableStream.idl:
+        * Modules/streams/WritableStream.js:
+        * Modules/streams/WritableStreamDefaultController.idl: Added.
+        * Modules/streams/WritableStreamDefaultController.js: Added.
+        * Modules/streams/WritableStreamDefaultWriter.idl: Added.
+        * Modules/streams/WritableStreamDefaultWriter.js: Added.
+        * Modules/streams/WritableStreamInternals.js:
+        * Sources.txt:
+        * WebCore.xcodeproj/project.pbxproj:
+        * bindings/js/WebCoreBuiltinNames.h:
+
</ins><span class="cx"> 2020-08-06  Sergio Villar Senin  <svillar@igalia.com>
</span><span class="cx"> 
</span><span class="cx">         [WebXR] Update WebXR WPT directory
</span></span></pre></div>
<a id="trunkSourceWebCoreDerivedSourcesinputxcfilelist"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/DerivedSources-input.xcfilelist (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/DerivedSources-input.xcfilelist     2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/Source/WebCore/DerivedSources-input.xcfilelist        2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -293,6 +293,10 @@
</span><span class="cx"> $(PROJECT_DIR)/Modules/streams/StreamInternals.js
</span><span class="cx"> $(PROJECT_DIR)/Modules/streams/WritableStream.idl
</span><span class="cx"> $(PROJECT_DIR)/Modules/streams/WritableStream.js
</span><ins>+$(PROJECT_DIR)/Modules/streams/WritableStreamDefaultController.idl
+$(PROJECT_DIR)/Modules/streams/WritableStreamDefaultController.js
+$(PROJECT_DIR)/Modules/streams/WritableStreamDefaultWriter.idl
+$(PROJECT_DIR)/Modules/streams/WritableStreamDefaultWriter.js
</ins><span class="cx"> $(PROJECT_DIR)/Modules/streams/WritableStreamInternals.js
</span><span class="cx"> $(PROJECT_DIR)/Modules/webaudio/AnalyserNode.idl
</span><span class="cx"> $(PROJECT_DIR)/Modules/webaudio/AnalyserOptions.idl
</span></span></pre></div>
<a id="trunkSourceWebCoreDerivedSourcesoutputxcfilelist"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/DerivedSources-output.xcfilelist (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/DerivedSources-output.xcfilelist    2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/Source/WebCore/DerivedSources-output.xcfilelist       2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -2248,6 +2248,10 @@
</span><span class="cx"> $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSWorkletGlobalScope.h
</span><span class="cx"> $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSWritableStream.cpp
</span><span class="cx"> $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSWritableStream.h
</span><ins>+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSWritableStreamDefaultController.cpp
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSWritableStreamDefaultController.h
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSWritableStreamDefaultWriter.cpp
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSWritableStreamDefaultWriter.h
</ins><span class="cx"> $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSXMLDocument.cpp
</span><span class="cx"> $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSXMLDocument.h
</span><span class="cx"> $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSXMLHttpRequest.cpp
</span><span class="lines">@@ -2359,6 +2363,8 @@
</span><span class="cx"> $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/WorkerGlobalScopeConstructors.idl
</span><span class="cx"> $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/WorkletGlobalScopeConstructors.idl
</span><span class="cx"> $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/WritableStreamBuiltins.h
</span><ins>+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/WritableStreamDefaultControllerBuiltins.h
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/WritableStreamDefaultWriterBuiltins.h
</ins><span class="cx"> $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/WritableStreamInternalsBuiltins.h
</span><span class="cx"> $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/XLinkNames.cpp
</span><span class="cx"> $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/XMLNSNames.cpp
</span></span></pre></div>
<a id="trunkSourceWebCoreDerivedSourcesmake"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/DerivedSources.make (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/DerivedSources.make 2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/Source/WebCore/DerivedSources.make    2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -377,6 +377,8 @@
</span><span class="cx">     $(WebCore)/Modules/streams/ReadableStreamSink.idl \
</span><span class="cx">     $(WebCore)/Modules/streams/ReadableStreamSource.idl \
</span><span class="cx">     $(WebCore)/Modules/streams/WritableStream.idl \
</span><ins>+    $(WebCore)/Modules/streams/WritableStreamDefaultController.idl \
+    $(WebCore)/Modules/streams/WritableStreamDefaultWriter.idl \
</ins><span class="cx">     $(WebCore)/Modules/webaudio/AnalyserNode.idl \
</span><span class="cx">     $(WebCore)/Modules/webaudio/AnalyserOptions.idl \
</span><span class="cx">     $(WebCore)/Modules/webaudio/AudioBuffer.idl \
</span><span class="lines">@@ -1762,6 +1764,8 @@
</span><span class="cx">     $(WebCore)/Modules/streams/ReadableStreamDefaultReader.js \
</span><span class="cx">     $(WebCore)/Modules/streams/StreamInternals.js \
</span><span class="cx">     $(WebCore)/Modules/streams/WritableStream.js \
</span><ins>+    $(WebCore)/Modules/streams/WritableStreamDefaultController.js \
+    $(WebCore)/Modules/streams/WritableStreamDefaultWriter.js \
</ins><span class="cx">     $(WebCore)/Modules/streams/WritableStreamInternals.js \
</span><span class="cx">     $(WebCore)/bindings/js/JSDOMBindingInternals.js \
</span><span class="cx"> #
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesstreamsStreamInternalsjs"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/streams/StreamInternals.js (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/streams/StreamInternals.js  2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/Source/WebCore/Modules/streams/StreamInternals.js     2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -145,3 +145,35 @@
</span><span class="cx"> 
</span><span class="cx">     return queue.content[0].value;
</span><span class="cx"> }
</span><ins>+
+function resetQueue(queue)
+{
+    "use strict";
+
+    @assert("content" in queue);
+    @assert("size" in queue);
+    queue.content = [];
+    queue.size = 0;
+}
+
+function extractSizeAlgorithm(strategy)
+{
+    if (!("size" in strategy))
+        return () => 1;
+    const sizeAlgorithm = strategy["size"];
+    if (typeof sizeAlgorithm !== "function")
+        @throwTypeError("strategy.size must be a function");
+
+    return (chunk) => { return sizeAlgorithm(chunk); };
+}
+
+function extractHighWaterMark(strategy, defaultHWM)
+{
+    if (!("highWaterMark" in strategy))
+        return defaultHWM;
+    const highWaterMark = strategy["highWaterMark"];
+    if (@isNaN(highWaterMark) || highWaterMark < 0)
+        @throwRangeError("highWaterMark value is negative or not a number");
+
+    return highWaterMark;
+}
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesstreamsWritableStreamidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/streams/WritableStream.idl (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/streams/WritableStream.idl  2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/Source/WebCore/Modules/streams/WritableStream.idl     2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -1,6 +1,7 @@
</span><span class="cx"> /*
</span><span class="cx">  * Copyright (C) 2015 Canon Inc.
</span><span class="cx">  * Copyright (C) 2015 Igalia S.L.
</span><ins>+ * Copyright (C) 2020 Apple Inc.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted, provided that the following conditions
</span><span class="lines">@@ -29,15 +30,16 @@
</span><span class="cx"> 
</span><span class="cx"> [
</span><span class="cx">     EnabledAtRuntime=WritableStreamAPI,
</span><del>-    JSBuiltin
</del><ins>+    Exposed=(Window,Worker),
+    JSBuiltin,
+    PrivateIdentifier,
+    PublicIdentifier
</ins><span class="cx"> ] interface WritableStream {
</span><del>-    constructor();
</del><ins>+    constructor(optional object underlyingSink, optional QueuingStrategy strategy);
</ins><span class="cx"> 
</span><ins>+    readonly attribute boolean locked;
+
</ins><span class="cx">     Promise<any> abort(optional any reason);
</span><span class="cx">     Promise<any> close();
</span><del>-    Promise<any> write(any chunk);
-
-    readonly attribute Promise<boolean> closed;
-    readonly attribute Promise<boolean> ready;
-    readonly attribute DOMString state;
</del><ins>+    WritableStreamDefaultWriter getWriter();
</ins><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesstreamsWritableStreamjs"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/streams/WritableStream.js (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/streams/WritableStream.js   2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/Source/WebCore/Modules/streams/WritableStream.js      2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -30,164 +30,83 @@
</span><span class="cx"> 
</span><span class="cx">     if (underlyingSink === @undefined)
</span><span class="cx">         underlyingSink = { };
</span><ins>+
</ins><span class="cx">     if (strategy === @undefined)
</span><del>-        strategy = { highWaterMark: 0, size: function() { return 1; } };
</del><ins>+        strategy = { };
</ins><span class="cx"> 
</span><span class="cx">     if (!@isObject(underlyingSink))
</span><span class="cx">         @throwTypeError("WritableStream constructor takes an object as first argument");
</span><span class="cx"> 
</span><del>-    if (!@isObject(strategy))
-        @throwTypeError("WritableStream constructor takes an object as second argument, if any");
</del><ins>+    if ("type" in underlyingSink)
+        @throwRangeError("Invalid type is specified");
</ins><span class="cx"> 
</span><ins>+    // Initialize Writable Stream
+    @putByIdDirectPrivate(this, "state", "writable");
+    @putByIdDirectPrivate(this, "storedError", @undefined);
+    @putByIdDirectPrivate(this, "writer", @undefined);
+    @putByIdDirectPrivate(this, "controller", @undefined);
+    @putByIdDirectPrivate(this, "inFlightWriteRequest", @undefined);
+    @putByIdDirectPrivate(this, "closeRequest", @undefined);
+    @putByIdDirectPrivate(this, "inFlightCloseRequest", @undefined);
+    @putByIdDirectPrivate(this, "pendingAbortRequest", @undefined);
+    @putByIdDirectPrivate(this, "writeRequests", []);
+    @putByIdDirectPrivate(this, "backpressure", false);
</ins><span class="cx">     @putByIdDirectPrivate(this, "underlyingSink", underlyingSink);
</span><del>-    @putByIdDirectPrivate(this, "closedPromiseCapability", @newPromiseCapability(@Promise));
-    @putByIdDirectPrivate(this, "readyPromiseCapability", { @promise: @Promise.@resolve() });
-    @putByIdDirectPrivate(this, "queue", @newQueue());
-    @putByIdDirectPrivate(this, "state", @streamWritable);
-    @putByIdDirectPrivate(this, "started", false);
-    @putByIdDirectPrivate(this, "writing", false);
</del><span class="cx"> 
</span><del>-    @putByIdDirectPrivate(this, "strategy", @validateAndNormalizeQueuingStrategy(strategy.size, strategy.highWaterMark));
</del><ins>+    const sizeAlgorithm = @extractSizeAlgorithm(strategy);
+    const highWaterMark = @extractHighWaterMark(strategy, 1);
</ins><span class="cx"> 
</span><del>-    @syncWritableStreamStateWithQueue(this);
</del><ins>+    @setUpWritableStreamDefaultControllerFromUnderlyingSink(this, underlyingSink, underlyingSink, highWaterMark, sizeAlgorithm)
</ins><span class="cx"> 
</span><del>-    const errorFunction = (e) => {
-        @errorWritableStream(this, e);
-    };
-    @putByIdDirectPrivate(this, "startedPromise", @promiseInvokeOrNoopNoCatch(underlyingSink, "start", [errorFunction]));
-    @getByIdDirectPrivate(this, "startedPromise").@then(() => {
-        @putByIdDirectPrivate(this, "started", true);
-        @putByIdDirectPrivate(this, "startedPromise", @undefined);
-    }, errorFunction);
-
</del><span class="cx">     return this;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-function abort(reason)
</del><ins>+@getter
+function locked()
</ins><span class="cx"> {
</span><span class="cx">     "use strict";
</span><span class="cx"> 
</span><span class="cx">     if (!@isWritableStream(this))
</span><del>-        return @Promise.@reject(@makeTypeError("The WritableStream.abort method can only be used on instances of WritableStream"));
</del><ins>+        throw @makeThisTypeError("WritableStream", "locked");
</ins><span class="cx"> 
</span><del>-    const state = @getByIdDirectPrivate(this, "state");
-    if (state === @streamClosed)
-        return @Promise.@resolve();
-
-    if (state === @streamErrored)
-        return @Promise.@reject(@getByIdDirectPrivate(this, "storedError"));
-
-    @errorWritableStream(this, reason);
-
-    return @promiseInvokeOrFallbackOrNoop(@getByIdDirectPrivate(this, "underlyingSink"), "abort", [reason], "close", []).@then(function() { });
</del><ins>+    return @isWritableStreamLocked(this);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-function close()
</del><ins>+function abort(reason)
</ins><span class="cx"> {
</span><span class="cx">     "use strict";
</span><span class="cx"> 
</span><span class="cx">     if (!@isWritableStream(this))
</span><del>-        return @Promise.@reject(@makeTypeError("The WritableStream.close method can only be used on instances of WritableStream"));
</del><ins>+        return @Promise.@reject(@makeThisTypeError("WritableStream", "abort"));
</ins><span class="cx"> 
</span><del>-    const state = @getByIdDirectPrivate(this, "state");
-    if (state === @streamClosed || state === @streamClosing)
-        return @Promise.@reject(@makeTypeError("Cannot close a WritableString that is closed or closing"));
</del><ins>+    if (@isWritableStreamLocked(this))
+        return @Promise.@reject(@makeTypeError("WritableStream.abort method can only be used on non locked WritableStream"));
</ins><span class="cx"> 
</span><del>-    if (state === @streamErrored)
-        return @Promise.@reject(@getByIdDirectPrivate(this, "storedError"));
-
-    if (state === @streamWaiting)
-        @getByIdDirectPrivate(this, "readyPromiseCapability").@resolve.@call();
-
-    @putByIdDirectPrivate(this, "state", @streamClosing);
-    @enqueueValueWithSize(@getByIdDirectPrivate(this, "queue"), "close", 0);
-    @callOrScheduleWritableStreamAdvanceQueue(this);
-
-    return @getByIdDirectPrivate(this, "closedPromiseCapability").@promise;
</del><ins>+    return @writableStreamAbort(this, reason);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-function write(chunk)
</del><ins>+function close()
</ins><span class="cx"> {
</span><span class="cx">     "use strict";
</span><span class="cx"> 
</span><span class="cx">     if (!@isWritableStream(this))
</span><del>-        return @Promise.@reject(@makeTypeError("The WritableStream.write method can only be used on instances of WritableStream"));
</del><ins>+        return @Promise.@reject(@makeThisTypeError("WritableStream", "close"));
</ins><span class="cx"> 
</span><del>-    const state = @getByIdDirectPrivate(this, "state");
-    if (state === @streamClosed || state === @streamClosing)
-        return @Promise.@reject(@makeTypeError("Cannot write on a WritableString that is closed or closing"));
</del><ins>+    if (@isWritableStreamLocked(this))
+        return @Promise.@reject(@makeTypeError("WritableStream.close method can only be used on non locked WritableStream"));
</ins><span class="cx"> 
</span><del>-    if (state === @streamErrored)
-        return @Promise.@reject(this.@storedError);
</del><ins>+    if (@writableStreamCloseQueuedOrInFlight(this))
+        return @Promise.@reject(@makeTypeError("WritableStream.close method can only be used on a being close WritableStream"));
</ins><span class="cx"> 
</span><del>-    @assert(state === @streamWritable || state === @streamWaiting);
-
-    let chunkSize = 1;
-    if (@getByIdDirectPrivate(this, "strategy").size !== @undefined) {
-        try {
-            chunkSize = @getByIdDirectPrivate(this, "strategy").size.@call(@undefined, chunk);
-        } catch(e) {
-            @errorWritableStream(this, e);
-            return @Promise.@reject(e);
-        }
-    }
-
-    const promiseCapability = @newPromiseCapability(@Promise);
-    try {
-        @enqueueValueWithSize(@getByIdDirectPrivate(this, "queue"), { promiseCapability: promiseCapability, chunk: chunk }, chunkSize);
-    } catch (e) {
-        @errorWritableStream(this, e);
-        return @Promise.@reject(e);
-    }
-
-    @syncWritableStreamStateWithQueue(this);
-    @callOrScheduleWritableStreamAdvanceQueue(this);
-
-    return promiseCapability.@promise;
</del><ins>+    return @writableStreamClose(this);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-@getter
-function closed()
</del><ins>+function getWriter()
</ins><span class="cx"> {
</span><span class="cx">     "use strict";
</span><span class="cx"> 
</span><span class="cx">     if (!@isWritableStream(this))
</span><del>-        return @Promise.@reject(@makeGetterTypeError("WritableStream", "closed"));
</del><ins>+        throw @makeThisTypeError("WritableStream", "getWriter");
</ins><span class="cx"> 
</span><del>-    return @getByIdDirectPrivate(this, "closedPromiseCapability").@promise;
</del><ins>+    return @acquireWritableStreamDefaultWriter(this);
</ins><span class="cx"> }
</span><del>-
-@getter
-function ready()
-{
-    "use strict";
-
-    if (!@isWritableStream(this))
-        return @Promise.@reject(@makeGetterTypeError("WritableStream", "ready"));
-
-    return @getByIdDirectPrivate(this, "readyPromiseCapability").@promise;
-}
-
-@getter
-function state()
-{
-    "use strict";
-
-    if (!@isWritableStream(this))
-        @throwTypeError("The WritableStream.state getter can only be used on instances of WritableStream");
-
-    switch(@getByIdDirectPrivate(this, "state")) {
-    case @streamClosed:
-        return "closed";
-    case @streamClosing:
-        return "closing";
-    case @streamErrored:
-        return "errored";
-    case @streamWaiting:
-        return "waiting";
-    case @streamWritable:
-        return "writable";
-    }
-
-    @assert(false);
-}
</del></span></pre></div>
<a id="trunkSourceWebCoreModulesstreamsWritableStreamDefaultControlleridl"></a>
<div class="addfile"><h4>Added: trunk/Source/WebCore/Modules/streams/WritableStreamDefaultController.idl (0 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/streams/WritableStreamDefaultController.idl                         (rev 0)
+++ trunk/Source/WebCore/Modules/streams/WritableStreamDefaultController.idl    2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -0,0 +1,34 @@
</span><ins>+/*
+ * Copyright (C) 2020 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+[
+    EnabledAtRuntime=WritableStreamAPI,
+    Exposed=(Window,Worker),
+    JSBuiltin,
+    PrivateIdentifier,
+    PublicIdentifier
+] interface WritableStreamDefaultController {
+    void error(optional any e);
+};
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesstreamsWritableStreamDefaultControllerjs"></a>
<div class="addfile"><h4>Added: trunk/Source/WebCore/Modules/streams/WritableStreamDefaultController.js (0 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/streams/WritableStreamDefaultController.js                          (rev 0)
+++ trunk/Source/WebCore/Modules/streams/WritableStreamDefaultController.js     2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -0,0 +1,56 @@
</span><ins>+/*
+ * Copyright (C) 2020 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+
+function initializeWritableStreamDefaultController()
+{
+    "use strict";
+
+    @putByIdDirectPrivate(this, "queue", @newQueue());
+    @putByIdDirectPrivate(this, "abortSteps", (reason) => {
+        const result = @getByIdDirectPrivate(this, "abortAlgorithm").@call(@undefined, reason);
+        @writableStreamDefaultControllerClearAlgorithms(this);
+        return result;
+    });
+
+    @putByIdDirectPrivate(this, "errorSteps", () => {
+        @resetQueue(@getByIdDirectPrivate(this, "queue"));
+    });
+
+    return this;
+}
+
+function error(e)
+{
+    "use strict";
+
+    if (@getByIdDirectPrivate(this, "abortSteps") === @undefined)
+        throw @makeThisTypeError("WritableStreamDefaultController", "error");
+
+    const stream = @getByIdDirectPrivate(this, "stream");
+    if (@getByIdDirectPrivate(stream, "state") !== "writable")
+        return;
+    @writableStreamDefaultControllerError(this, e);
+}
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesstreamsWritableStreamDefaultWriteridl"></a>
<div class="addfile"><h4>Added: trunk/Source/WebCore/Modules/streams/WritableStreamDefaultWriter.idl (0 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/streams/WritableStreamDefaultWriter.idl                             (rev 0)
+++ trunk/Source/WebCore/Modules/streams/WritableStreamDefaultWriter.idl        2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -0,0 +1,43 @@
</span><ins>+/*
+ * Copyright (C) 2020 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+[
+    EnabledAtRuntime=WritableStreamAPI,
+    Exposed=(Window,Worker),
+    JSBuiltin,
+    PrivateIdentifier,
+    PublicIdentifier
+] interface WritableStreamDefaultWriter {
+    constructor(WritableStream stream);
+
+    readonly attribute Promise<void> closed;
+    readonly attribute unrestricted double? desiredSize;
+    readonly attribute Promise<void> ready;
+
+    Promise<void> abort(optional any reason);
+    Promise<void> close();
+    void releaseLock();
+    Promise<void> write(optional any chunk);
+};
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesstreamsWritableStreamDefaultWriterjs"></a>
<div class="addfile"><h4>Added: trunk/Source/WebCore/Modules/streams/WritableStreamDefaultWriter.js (0 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/streams/WritableStreamDefaultWriter.js                              (rev 0)
+++ trunk/Source/WebCore/Modules/streams/WritableStreamDefaultWriter.js 2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -0,0 +1,129 @@
</span><ins>+/*
+ * Copyright (C) 2020 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+function initializeWritableStreamDefaultWriter(stream)
+{
+    "use strict";
+
+    if (!@isWritableStream(stream))
+        @throwTypeError("WritableStreamDefaultWriter constructor takes a WritableStream");
+
+    @setUpWritableStreamDefaultWriter(this, stream);
+    return this;
+}
+
+@getter
+function closed()
+{
+    "use strict";
+
+    if (!@isWritableStreamDefaultWriter(this))
+        return @Promise.@reject(@makeGetterTypeError("WritableStreamDefaultWriter", "closed"));
+
+    return @getByIdDirectPrivate(this, "closedPromise").@promise;
+}
+
+@getter
+function desiredSize()
+{
+    "use strict";
+
+    if (!@isWritableStreamDefaultWriter(this))
+        throw @makeThisTypeError("WritableStreamDefaultWriter", "desiredSize");
+
+    if (@getByIdDirectPrivate(this, "stream") === @undefined)
+        @throwTypeError("WritableStreamDefaultWriter has no stream");
+
+    return @writableStreamDefaultWriterGetDesiredSize(this);
+}
+
+@getter
+function ready()
+{
+    "use strict";
+
+    if (!@isWritableStreamDefaultWriter(this))
+        return @Promise.@reject(@makeThisTypeError("WritableStreamDefaultWriter", "ready"));
+
+    return @getByIdDirectPrivate(this, "readyPromise").@promise;
+}
+
+function abort(reason)
+{
+    "use strict";
+
+    if (!@isWritableStreamDefaultWriter(this))
+        return @Promise.@reject(@makeThisTypeError("WritableStreamDefaultWriter", "abort"));
+
+    if (@getByIdDirectPrivate(this, "stream") === @undefined)
+        return @Promise.@reject(@makeTypeError("WritableStreamDefaultWriter has no stream"));
+
+    return @writableStreamDefaultWriterAbort(this, reason);
+}
+
+function close()
+{
+    "use strict";
+
+    if (!@isWritableStreamDefaultWriter(this))
+        return @Promise.@reject(@makeThisTypeError("WritableStreamDefaultWriter", "close"));
+
+    const stream = @getByIdDirectPrivate(this, "stream");
+    if (stream === @undefined)
+        return @Promise.@reject(@makeTypeError("WritableStreamDefaultWriter has no stream"));
+
+    if (@writableStreamCloseQueuedOrInFlight(stream))
+        return @Promise.@reject(@makeTypeError("WritableStreamDefaultWriter is being closed"));
+    
+    return @writableStreamDefaultWriterClose(this);
+}
+
+function releaseLock()
+{
+    "use strict";
+
+    if (!@isWritableStreamDefaultWriter(this))
+        throw @makeThisTypeError("WritableStreamDefaultWriter", "releaseLock");
+
+    const stream = @getByIdDirectPrivate(this, "stream");
+    if (stream === @undefined)
+        return;
+
+    @assert(@getByIdDirectPrivate(stream, "writer") !== @undefined);
+    @writableStreamDefaultWriterRelease(this);
+}
+
+function write(chunk)
+{
+    "use strict";
+
+    if (!@isWritableStreamDefaultWriter(this))
+        return @Promise.@reject(@makeThisTypeError("WritableStreamDefaultWriter", "write"));
+
+    if (@getByIdDirectPrivate(this, "stream") === @undefined)
+        return @Promise.@reject(@makeTypeError("WritableStreamDefaultWriter has no stream"));
+
+    return @writableStreamDefaultWriterWrite(this, chunk);
+}
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesstreamsWritableStreamInternalsjs"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/streams/WritableStreamInternals.js (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/streams/WritableStreamInternals.js  2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/Source/WebCore/Modules/streams/WritableStreamInternals.js     2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -33,104 +33,626 @@
</span><span class="cx">     return @isObject(stream) && !!@getByIdDirectPrivate(stream, "underlyingSink");
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-function syncWritableStreamStateWithQueue(stream)
</del><ins>+function isWritableStreamDefaultWriter(writer)
</ins><span class="cx"> {
</span><span class="cx">     "use strict";
</span><span class="cx"> 
</span><ins>+    return @isObject(writer) && !!@getByIdDirectPrivate(writer, "closedPromise");
+}
+
+function acquireWritableStreamDefaultWriter(stream)
+{
+    return new @WritableStreamDefaultWriter(stream);
+}
+
+function isWritableStreamLocked(stream)
+{
+    return @getByIdDirectPrivate(stream, "writer") !== @undefined;
+}
+
+function setUpWritableStreamDefaultWriter(writer, stream)
+{
+    if (@isWritableStreamLocked(stream))
+        @throwTypeError("WritableStream is locked");
+
+    @putByIdDirectPrivate(writer, "stream", stream);
+    @putByIdDirectPrivate(stream, "writer", writer);
+
+    const readyPromiseCapability = @newPromiseCapability(@Promise);
+    const closedPromiseCapability = @newPromiseCapability(@Promise);
+    @putByIdDirectPrivate(writer, "readyPromise", readyPromiseCapability);
+    @putByIdDirectPrivate(writer, "closedPromise", closedPromiseCapability);
+
</ins><span class="cx">     const state = @getByIdDirectPrivate(stream, "state");
</span><del>-    if (state === @streamClosing)
</del><ins>+    if (state === "writable") {
+        if (@writableStreamCloseQueuedOrInFlight(stream) || !@getByIdDirectPrivate(stream, "backpressure"))
+            readyPromiseCapability.@resolve.@call();
+    } else if (state === "erroring")
+        readyPromiseCapability.@reject.@call(@undefined, @getByIdDirectPrivate(stream, "storedError"));
+    else if (state === "closed") {
+        readyPromiseCapability.@resolve.@call();
+        closedPromiseCapability.@resolve.@call();
+    } else {
+        @assert(state === "errored");
+        const storedError = @getByIdDirectPrivate(stream, "storedError");
+        readyPromiseCapability.@reject.@call(@undefined, storedError);
+        closedPromiseCapability.@reject.@call(@undefined, storedError);
+    }
+}
+
+function writableStreamAbort(stream, reason)
+{
+    const state = @getByIdDirectPrivate(stream, "state");
+    if (state === "closed" || state === "errored")
+        return @Promise.@resolve();
+
+    const pendingAbortRequest = @getByIdDirectPrivate(stream, "pendingAbortRequest");
+    if (pendingAbortRequest !== @undefined)
+        return pendingAbortRequest.promise.@promise;
+
+    @assert(state === "writable" || state === "erroring");
+    let wasAlreadyErroring = false;
+    if (state === "erroring") {
+        wasAlreadyErroring = true;
+        reason = @undefined;
+    }
+
+    const abortPromiseCapability = @newPromiseCapability(@Promise);
+    @putByIdDirectPrivate(stream, "pendingAbortRequest", { promise : abortPromiseCapability, reason : reason, wasAlreadyErroring : wasAlreadyErroring });
+
+    if (!wasAlreadyErroring)
+        @writableStreamStartErroring(stream, reason);
+    return abortPromiseCapability.@promise;
+}
+
+function writableStreamClose(stream)
+{
+    const state = @getByIdDirectPrivate(stream, "state");
+    if (state === "closed" || state === "errored")
+        return @Promise.@reject(@makeTypeError("Cannot close a writable stream that is closed or errored"));
+
+    @assert(state === "writable" || state === "erroring");
+    @assert(!@writableStreamCloseQueuedOrInFlight(stream));
+
+    const closePromiseCapability = @newPromiseCapability(@Promise);
+    @putByIdDirectPrivate(stream, "closeRequest", closePromiseCapability);
+
+    const writer = @getByIdDirectPrivate(stream, "writer");
+    if (writer !== @undefined && @getByIdDirectPrivate(stream, "backpressure") && state === "writable")
+        @getByIdDirectPrivate(writer, "readyPromise").@resolve.@call();
+        
+    @writableStreamDefaultControllerClose(@getByIdDirectPrivate(stream, "controller"));
+
+    return closePromiseCapability.@promise;
+}
+
+function writableStreamAddWriteRequest(stream)
+{
+    @assert(@isWritableStreamLocked(stream))
+    @assert(@getByIdDirectPrivate(stream, "state") === "writable");
+
+    const writePromiseCapability = @newPromiseCapability(@Promise);
+    const writeRequests = @getByIdDirectPrivate(stream, "writeRequests");
+    writeRequests.@push(writePromiseCapability);
+    return writePromiseCapability.@promise;
+}
+
+function writableStreamCloseQueuedOrInFlight(stream)
+{
+    return @getByIdDirectPrivate(stream, "closeRequest") !== @undefined || @getByIdDirectPrivate(stream, "inFlightCloseRequest") !== @undefined;
+}
+
+function writableStreamDealWithRejection(stream, error)
+{
+    const state = @getByIdDirectPrivate(stream, "state");
+    if (state === "writable") {
+        @writableStreamStartErroring(stream, error);
</ins><span class="cx">         return;
</span><ins>+    }
</ins><span class="cx"> 
</span><del>-    @assert(state === @streamWritable || state === @streamWaiting);
</del><ins>+    @assert(state === "erroring");
+    @writableStreamFinishErroring(stream);
+}
</ins><span class="cx"> 
</span><del>-    const shouldApplyBackpressure = @getByIdDirectPrivate(stream, "queue").size > @getByIdDirectPrivate(stream, "strategy").highWaterMark;
-    if (shouldApplyBackpressure && state === @streamWritable) {
-        @putByIdDirectPrivate(stream, "state", @streamWaiting);
-        @putByIdDirectPrivate(stream, "readyPromiseCapability", @newPromiseCapability(@Promise));
</del><ins>+function writableStreamFinishErroring(stream)
+{
+    @assert(@getByIdDirectPrivate(stream, "state") === "erroring");
+    @assert(!@writableStreamHasOperationMarkedInFlight(stream));
+
+    @putByIdDirectPrivate(stream, "state", "errored");
+
+    const controller = @getByIdDirectPrivate(stream, "controller");
+    @getByIdDirectPrivate(controller, "errorSteps").@call();
+
+    const storedError = @getByIdDirectPrivate(stream, "storedError");
+    const requests = @getByIdDirectPrivate(stream, "writeRequests");
+    for (let index = 0, length = requests.length; index < length; ++index)
+        requests[index].@reject.@call(@undefined, storedError);
+
+    @putByIdDirectPrivate(stream, "writeRequests", []);
+
+    const abortRequest = @getByIdDirectPrivate(stream, "pendingAbortRequest");
+    if (abortRequest === @undefined) {
+        @writableStreamRejectCloseAndClosedPromiseIfNeeded(stream);
+        return;
</ins><span class="cx">     }
</span><del>-    if (!shouldApplyBackpressure && state === @streamWaiting) {
-        @putByIdDirectPrivate(stream, "state", @streamWritable);
-        @getByIdDirectPrivate(stream, "readyPromiseCapability").@resolve.@call();
</del><ins>+
+    @putByIdDirectPrivate(stream, "pendingAbortRequest", @undefined);
+    if (abortRequest.wasAlreadyErroring) {
+        abortRequest.promise.@reject.@call(@undefined, storedError);
+        @writableStreamRejectCloseAndClosedPromiseIfNeeded(stream);
+        return;
</ins><span class="cx">     }
</span><ins>+
+    @getByIdDirectPrivate(controller, "abortSteps").@call(@undefined, abortRequest.reason).@then(() => {
+        abortRequest.promise.@resolve.@call();
+        @writableStreamRejectCloseAndClosedPromiseIfNeeded(stream);
+    }, (reason) => {
+        abortRequest.promise.@reject.@call(@undefined, reason);
+        @writableStreamRejectCloseAndClosedPromiseIfNeeded(stream);
+    });
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-function errorWritableStream(stream, e)
</del><ins>+function writableStreamFinishInFlightClose(stream)
</ins><span class="cx"> {
</span><del>-    "use strict";
</del><ins>+    const inFlightCloseRequest = @getByIdDirectPrivate(stream, "inFlightCloseRequest");
+    inFlightCloseRequest.@resolve.@call();
</ins><span class="cx"> 
</span><ins>+    @putByIdDirectPrivate(stream, "inFlightCloseRequest", @undefined);
+
</ins><span class="cx">     const state = @getByIdDirectPrivate(stream, "state");
</span><del>-    if (state === @streamClosed || state === @streamErrored)
-        return;
-    while (@getByIdDirectPrivate(stream, "queue").content.length > 0) {
-        const writeRecord = @dequeueValue(@getByIdDirectPrivate(stream, "queue"));
-        if (writeRecord !== "close")
-            writeRecord.promiseCapability.@reject.@call(@undefined, e);
</del><ins>+    @assert(state === "writable" || state === "erroring");
+
+    if (state === "erroring") {
+        @putByIdDirectPrivate(stream, "storedError", @undefined);
+        const abortRequest = @getByIdDirectPrivate(stream, "pendingAbortRequest");
+        if (abortRequest !== @undefined) {
+            abortRequest.promise.@resolve.@call();
+            @putByIdDirectPrivate(stream, "pendingAbortRequest", @undefined);
+        }
</ins><span class="cx">     }
</span><del>-    @putByIdDirectPrivate(stream, "storedError", e);
-    if (state === @streamWaiting)
-        @getByIdDirectPrivate(stream, "readyPromiseCapability").@resolve.@call();
-    @getByIdDirectPrivate(stream, "closedPromiseCapability").@reject.@call(@undefined, e);
-    @putByIdDirectPrivate(stream, "state", @streamErrored);
</del><ins>+
+    @putByIdDirectPrivate(stream, "state", "closed");
+
+    const writer = @getByIdDirectPrivate(stream, "writer");
+    if (writer !== @undefined)
+        @getByIdDirectPrivate(writer, "closedPromise").@resolve.@call();
+
+    @assert(@getByIdDirectPrivate(stream, "pendingAbortRequest") === @undefined);
+    @assert(@getByIdDirectPrivate(stream, "storedError") === @undefined);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-function callOrScheduleWritableStreamAdvanceQueue(stream)
</del><ins>+function writableStreamFinishInFlightCloseWithError(stream, error)
</ins><span class="cx"> {
</span><del>-    "use strict";
</del><ins>+    const inFlightCloseRequest = @getByIdDirectPrivate(stream, "inFlightCloseRequest");
+    @assert(inFlightCloseRequest !== @undefined);
+    inFlightCloseRequest.@reject.@call(@undefined, error);
</ins><span class="cx"> 
</span><del>-    if (!@getByIdDirectPrivate(stream, "started"))
-        @getByIdDirectPrivate(stream, "startedPromise").@then(function() { @writableStreamAdvanceQueue(stream); });
-    else
-        @writableStreamAdvanceQueue(stream);
</del><ins>+    @putByIdDirectPrivate(stream, "inFlightCloseRequest", @undefined);
+
+    const state = @getByIdDirectPrivate(stream, "state");
+    @assert(state === "writable" || state === "erroring");
+
+    const abortRequest = @getByIdDirectPrivate(stream, "pendingAbortRequest");
+    if (abortRequest !== @undefined) {
+        abortRequest.promise.@reject.@call(@undefined, error);
+        @putByIdDirectPrivate(stream, "pendingAbortRequest", @undefined);
+    }
+
+    @writableStreamDealWithRejection(stream, error);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-function writableStreamAdvanceQueue(stream)
</del><ins>+function writableStreamFinishInFlightWrite(stream)
</ins><span class="cx"> {
</span><del>-    "use strict";
</del><ins>+    const inFlightWriteRequest = @getByIdDirectPrivate(stream, "inFlightWriteRequest");
+    @assert(inFlightWriteRequest !== @undefined);
+    inFlightWriteRequest.@resolve.@call();
</ins><span class="cx"> 
</span><del>-    if (@getByIdDirectPrivate(stream, "queue").content.length === 0 || @getByIdDirectPrivate(stream, "writing"))
</del><ins>+    @putByIdDirectPrivate(stream, "inFlightWriteRequest", @undefined);
+}
+
+function writableStreamFinishInFlightWriteWithError(stream, error)
+{
+    const inFlightWriteRequest = @getByIdDirectPrivate(stream, "inFlightWriteRequest");
+    @assert(inFlightWriteRequest !== @undefined);
+    inFlightWriteRequest.@reject.@call(@undefined, error);
+
+    @putByIdDirectPrivate(stream, "inFlightWriteRequest", @undefined);
+
+    const state = @getByIdDirectPrivate(stream, "state");
+    @assert(state === "writable" || state === "erroring");
+
+    @writableStreamDealWithRejection(stream, error);
+}
+
+function writableStreamHasOperationMarkedInFlight(stream)
+{
+    return @getByIdDirectPrivate(stream, "inFlightWriteRequest") !== @undefined || @getByIdDirectPrivate(stream, "inFlightCloseRequest") !== @undefined;
+}
+
+function writableStreamMarkCloseRequestInFlight(stream)
+{
+    const closeRequest = @getByIdDirectPrivate(stream, "closeRequest");
+    @assert(@getByIdDirectPrivate(stream, "inFlightCloseRequest") === @undefined);
+    @assert(closeRequest !== @undefined);
+
+    @putByIdDirectPrivate(stream, "inFlightCloseRequest", closeRequest);
+    @putByIdDirectPrivate(stream, "closeRequest", @undefined);
+}
+
+function writableStreamMarkFirstWriteRequestInFlight(stream)
+{
+    const writeRequests = @getByIdDirectPrivate(stream, "writeRequests");
+    @assert(@getByIdDirectPrivate(stream, "inFlightWriteRequest") === @undefined);
+    @assert(writeRequests.length > 0);
+
+    const writeRequest = writeRequests.@shift();
+    @putByIdDirectPrivate(stream, "inFlightWriteRequest", writeRequest);
+}
+
+function writableStreamRejectCloseAndClosedPromiseIfNeeded(stream)
+{
+    @assert(@getByIdDirectPrivate(stream, "state") === "errored");
+
+    const storedError = @getByIdDirectPrivate(stream, "storedError");
+
+    const closeRequest = @getByIdDirectPrivate(stream, "closeRequest");
+    if (closeRequest !== @undefined) {
+        @assert(@getByIdDirectPrivate(stream, "inFlightCloseRequest") === @undefined);
+        closeRequest.@reject.@call(@undefined, storedError);
+        @putByIdDirectPrivate(stream, "closeRequest", @undefined);
+    }
+
+    const writer = @getByIdDirectPrivate(stream, "writer");
+    if (writer !== @undefined)
+        @getByIdDirectPrivate(writer, "closedPromise").@reject.@call(@undefined, storedError);
+}
+
+function writableStreamStartErroring(stream, reason)
+{
+    @assert(@getByIdDirectPrivate(stream, "storedError") === @undefined);
+    @assert(@getByIdDirectPrivate(stream, "state") === "writable");

+    const controller = @getByIdDirectPrivate(stream, "controller");
+    @assert(controller !== @undefined);
+
+    @putByIdDirectPrivate(stream, "state", "erroring");
+    @putByIdDirectPrivate(stream, "storedError", reason);
+
+    const writer = @getByIdDirectPrivate(stream, "writer");
+    if (writer !== @undefined)
+        @writableStreamDefaultWriterEnsureReadyPromiseRejected(writer, reason);
+
+    if (!@writableStreamHasOperationMarkedInFlight(stream) && @getByIdDirectPrivate(controller, "started"))
+        @writableStreamFinishErroring(stream);
+}
+
+function writableStreamUpdateBackpressure(stream, backpressure)
+{
+    @assert(@getByIdDirectPrivate(stream, "state") === "writable");
+    @assert(!@writableStreamCloseQueuedOrInFlight(stream));
+
+    const writer = @getByIdDirectPrivate(stream, "writer");
+    if (writer !== @undefined && backpressure !== @getByIdDirectPrivate(stream, "backpressure")) {
+        if (backpressure)
+           @putByIdDirectPrivate(writer, "readyPromise", @newPromiseCapability(@Promise));
+        else
+            @getByIdDirectPrivate(writer, "readyPromise").@resolve.@call();
+    }
+    @putByIdDirectPrivate(stream, "backpressure", backpressure);
+}
+
+function writableStreamDefaultWriterAbort(writer, reason)
+{
+    const stream = @getByIdDirectPrivate(writer, "stream");
+    @assert(stream !== @undefined);
+    return @writableStreamAbort(stream, reason);
+}
+
+function writableStreamDefaultWriterClose(writer)
+{
+    const stream = @getByIdDirectPrivate(writer, "stream");
+    @assert(stream !== @undefined);
+    return @writableStreamClose(stream);
+}
+
+function writableStreamDefaultWriterCloseWithErrorPropagation(writer)
+{
+    const stream = @getByIdDirectPrivate(writer, "stream");
+    @assert(stream !== @undefined);
+
+    const state = @getByIdDirectPrivate(stream, "state");
+
+    if (@writableStreamCloseQueuedOrInFlight(stream) || state === "closed")
+        return @Promise.@resolve();
+
+    if (state === "errored")
+        return @Promise.@reject(@getByIdDirectPrivate(stream, "storedError"));
+
+    @assert(state === "writable" || state === "erroring");
+    return @writableStreamDefaultWriterClose(writer);
+}
+
+function writableStreamDefaultWriterEnsureClosedPromiseRejected(writer, error)
+{
+    @getByIdDirectPrivate(writer, "closedPromise").@reject.@call(@undefined, error);
+}
+
+function writableStreamDefaultWriterEnsureReadyPromiseRejected(writer, error)
+{
+    @getByIdDirectPrivate(writer, "readyPromise").@reject.@call(@undefined, error);
+}
+
+function writableStreamDefaultWriterGetDesiredSize(writer)
+{
+    const stream = @getByIdDirectPrivate(writer, "stream");
+    @assert(stream !== @undefined);
+
+    const state = @getByIdDirectPrivate(stream, "state");
+
+    if (state === "errored" || state === "erroring")
+        return null;
+
+    if (state === "closed")
+        return 0;
+
+    return @writableStreamDefaultControllerGetDesiredSize(@getByIdDirectPrivate(stream, "controller"));
+}
+
+function writableStreamDefaultWriterRelease(writer)
+{
+    const stream = @getByIdDirectPrivate(writer, "stream");
+    @assert(stream !== @undefined);
+    @assert(@getByIdDirectPrivate(stream, "writer") === writer);
+
+    const releasedError = @makeTypeError("writableStreamDefaultWriterRelease");
+
+    @writableStreamDefaultWriterEnsureReadyPromiseRejected(writer, releasedError);
+    @writableStreamDefaultWriterEnsureClosedPromiseRejected(writer, releasedError);
+
+    @putByIdDirectPrivate(stream, "writer", @undefined);
+    @putByIdDirectPrivate(writer, "stream", @undefined);
+}
+
+function writableStreamDefaultWriterWrite(writer, chunk)
+{
+    const stream = @getByIdDirectPrivate(writer, "stream");
+    @assert(stream !== @undefined);
+
+    const controller = @getByIdDirectPrivate(stream, "controller");
+    @assert(controller !== @undefined);
+    const chunkSize = @writableStreamDefaultControllerGetChunkSize(controller, chunk);
+
+    if (stream !== @getByIdDirectPrivate(writer, "stream"))
+        return @Promise.@reject(@makeTypeError("writer is not stream's writer"));
+
+    const state = @getByIdDirectPrivate(stream, "state");
+    if (state === "errored")
+        return @Promise.@reject(@getByIdDirectPrivate(stream, "storedError"));
+
+    if (@writableStreamCloseQueuedOrInFlight(stream) || state === "closed")
+        return @Promise.@reject(@makeTypeError("stream is closing or closed"));
+
+    if (@writableStreamCloseQueuedOrInFlight(stream) || state === "closed")
+        return @Promise.@reject(@makeTypeError("stream is closing or closed"));
+
+    if (state === "erroring")
+        return @Promise.@reject(@getByIdDirectPrivate(stream, "storedError"));
+
+    @assert(state === "writable");
+
+    const promise = @writableStreamAddWriteRequest(stream);
+    @writableStreamDefaultControllerWrite(controller, chunk, chunkSize);
+    return promise;
+}
+
+function setUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm)
+{
+    @assert(@isWritableStream(stream));
+    @assert(@getByIdDirectPrivate(stream, "controller") === @undefined);
+
+    @putByIdDirectPrivate(controller, "stream", stream);
+    @putByIdDirectPrivate(stream, "controller", controller);
+
+    @resetQueue(@getByIdDirectPrivate(controller, "queue"));
+
+    @putByIdDirectPrivate(controller, "started", false);
+    @putByIdDirectPrivate(controller, "strategySizeAlgorithm", sizeAlgorithm);
+    @putByIdDirectPrivate(controller, "strategyHWM", highWaterMark);
+    @putByIdDirectPrivate(controller, "writeAlgorithm", writeAlgorithm);
+    @putByIdDirectPrivate(controller, "closeAlgorithm", closeAlgorithm);
+    @putByIdDirectPrivate(controller, "abortAlgorithm", abortAlgorithm);
+
+    const backpressure = @writableStreamDefaultControllerGetBackpressure(controller);
+    @writableStreamUpdateBackpressure(stream, backpressure);
+
+    @Promise.@resolve(startAlgorithm.@call()).@then(() => {
+        const state = @getByIdDirectPrivate(stream, "state");
+        @assert(state === "writable" || state === "erroring");
+        @putByIdDirectPrivate(controller, "started", true);
+        @writableStreamDefaultControllerAdvanceQueueIfNeeded(controller);
+    }, (error) => {
+        const state = @getByIdDirectPrivate(stream, "state");
+        @assert(state === "writable" || state === "erroring");
+        @putByIdDirectPrivate(controller, "started", true);
+        @writableStreamDealWithRejection(stream, error);
+    });
+}
+
+function setUpWritableStreamDefaultControllerFromUnderlyingSink(stream, underlyingSink, underlyingSinkDict, highWaterMark, sizeAlgorithm)
+{
+    const controller = new @WritableStreamDefaultController();
+
+    let startAlgorithm = () => { };
+    let writeAlgorithm = () => { return @Promise.@resolve(); };
+    let closeAlgorithm = () => { return @Promise.@resolve(); };
+    let abortAlgorithm = () => { return @Promise.@resolve(); };
+
+    if ("start" in underlyingSinkDict) {
+        const startMethod = underlyingSinkDict["start"];
+        startAlgorithm = () => @promiseInvokeOrNoopMethodNoCatch(underlyingSink, startMethod, [controller]);
+    }
+    if ("write" in underlyingSinkDict) {
+        const writeMethod = underlyingSinkDict["write"];
+        writeAlgorithm = (chunk) => @promiseInvokeOrNoopMethod(underlyingSink, writeMethod, [chunk, controller]);
+    }
+    if ("close" in underlyingSinkDict) {
+        const closeMethod = underlyingSinkDict["close"];
+        closeAlgorithm = () => @promiseInvokeOrNoopMethod(underlyingSink, closeMethod, []);
+    }
+    if ("abort" in underlyingSinkDict) {
+        const abortMethod = underlyingSinkDict["abort"];
+        abortAlgorithm = (reason) => @promiseInvokeOrNoopMethod(underlyingSink, abortMethod, [reason]);
+    }
+
+    @setUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm);
+}
+
+function writableStreamDefaultControllerAdvanceQueueIfNeeded(controller)
+{
+    const stream = @getByIdDirectPrivate(controller, "stream");
+
+    if (!@getByIdDirectPrivate(controller, "started"))
</ins><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    const writeRecord = @peekQueueValue(@getByIdDirectPrivate(stream, "queue"));
-    if (writeRecord === "close") {
-        @assert(@getByIdDirectPrivate(stream, "state") === @streamClosing);
-        @dequeueValue(@getByIdDirectPrivate(stream, "queue"));
-        @assert(@getByIdDirectPrivate(stream, "queue").content.length === 0);
-        @closeWritableStream(stream);
</del><ins>+    @assert(stream !== @undefined);
+    if (@getByIdDirectPrivate(stream, "inFlightWriteRequest") !== @undefined)
</ins><span class="cx">         return;
</span><ins>+
+    const state = @getByIdDirectPrivate(stream, "state");
+    @assert(state !== "closed" || state !== "errored");
+    if (state === "erroring") {
+        @writableStreamFinishErroring(stream);
+        return;
</ins><span class="cx">     }
</span><span class="cx"> 
</span><del>-    @putByIdDirectPrivate(stream, "writing", true);
-    @promiseInvokeOrNoop(@getByIdDirectPrivate(stream, "underlyingSink"), "write", [writeRecord.chunk]).@then(
-        function() {
-            if (@getByIdDirectPrivate(stream, "state") === @streamErrored)
-                return;
-            @putByIdDirectPrivate(stream, "writing", false);
-            writeRecord.promiseCapability.@resolve.@call();
-            @dequeueValue(@getByIdDirectPrivate(stream, "queue"));
-            @syncWritableStreamStateWithQueue(stream);
-            @writableStreamAdvanceQueue(stream);
-        },
-        function(r) {
-            @errorWritableStream(stream, r);
</del><ins>+    if (@getByIdDirectPrivate(controller, "queue").content.length === 0)
+        return;
+
+    const value = @peekQueueValue(@getByIdDirectPrivate(controller, "queue"));
+    if (value === @isCloseSentinel)
+        @writableStreamDefaultControllerProcessClose(controller);
+    else
+        @writableStreamDefaultControllerProcessWrite(controller, value);
+}
+
+function isCloseSentinel()
+{
+}
+
+function writableStreamDefaultControllerClearAlgorithms(controller)
+{
+    @putByIdDirectPrivate(controller, "writeAlgorithm", @undefined);
+    @putByIdDirectPrivate(controller, "closeAlgorithm", @undefined);
+    @putByIdDirectPrivate(controller, "abortAlgorithm", @undefined);
+    @putByIdDirectPrivate(controller, "strategySizeAlgorithm", @undefined);
+}
+
+function writableStreamDefaultControllerClose(controller)
+{
+    @enqueueValueWithSize(@getByIdDirectPrivate(controller, "queue"), @isCloseSentinel, 0);
+    @writableStreamDefaultControllerAdvanceQueueIfNeeded(controller);
+}
+
+function writableStreamDefaultControllerError(controller, error)
+{
+    const stream = @getByIdDirectPrivate(controller, "stream");
+    @assert(stream !== @undefined);
+    @assert(@getByIdDirectPrivate(stream, "state") === "writable");
+
+    @writableStreamDefaultControllerClearAlgorithms(controller);
+    @writableStreamStartErroring(stream, error);
+}
+
+function writableStreamDefaultControllerErrorIfNeeded(controller, error)
+{
+    const stream = @getByIdDirectPrivate(controller, "stream");
+    if (@getByIdDirectPrivate(stream, "state") === "writable")
+        @writableStreamDefaultControllerError(controller, error);
+}
+
+function writableStreamDefaultControllerGetBackpressure(controller)
+{
+    const desiredSize = @writableStreamDefaultControllerGetDesiredSize(controller);
+    return desiredSize <= 0;
+}
+
+function writableStreamDefaultControllerGetChunkSize(controller, chunk)
+{
+    try {
+        return @getByIdDirectPrivate(controller, "strategySizeAlgorithm").@call(@undefined, chunk);
+    } catch (e) {
+        @writableStreamDefaultControllerErrorIfNeeded(controller, e);
+        return 1;
+    }
+}
+
+function writableStreamDefaultControllerGetDesiredSize(controller)
+{
+    return @getByIdDirectPrivate(controller, "strategyHWM") - @getByIdDirectPrivate(controller, "queue").size;
+}
+
+function writableStreamDefaultControllerProcessClose(controller)
+{
+    const stream = @getByIdDirectPrivate(controller, "stream");
+
+    @writableStreamMarkCloseRequestInFlight(stream);
+    @dequeueValue(@getByIdDirectPrivate(controller, "queue"));
+
+    @assert(@getByIdDirectPrivate(controller, "queue").content.length === 0);
+
+    const sinkClosePromise = @getByIdDirectPrivate(controller, "closeAlgorithm").@call();
+    @writableStreamDefaultControllerClearAlgorithms(controller);
+
+    sinkClosePromise.@then(() => {
+        @writableStreamFinishInFlightClose(stream);
+    }, (reason) => {
+        @writableStreamFinishInFlightCloseWithError(stream, reason);
+    });
+}
+
+function writableStreamDefaultControllerProcessWrite(controller, chunk)
+{
+    const stream = @getByIdDirectPrivate(controller, "stream");
+
+    @writableStreamMarkFirstWriteRequestInFlight(stream);
+
+    const sinkWritePromise = @getByIdDirectPrivate(controller, "writeAlgorithm").@call(@undefined, chunk);
+
+    sinkWritePromise.@then(() => {
+        @writableStreamFinishInFlightWrite(stream);
+        const state = @getByIdDirectPrivate(stream, "state");
+        @assert(state === "writable" || state === "erroring");
+
+        @dequeueValue(@getByIdDirectPrivate(controller, "queue"));
+        if (!@writableStreamCloseQueuedOrInFlight(stream) && state === "writable") {
+            const backpressure = @writableStreamDefaultControllerGetBackpressure(controller);
+            @writableStreamUpdateBackpressure(stream, backpressure);
</ins><span class="cx">         }
</span><del>-    );
</del><ins>+        @writableStreamDefaultControllerAdvanceQueueIfNeeded(controller);
+    }, (reason) => {
+        const state = @getByIdDirectPrivate(stream, "state");
+        if (state === "writable")
+            @writableStreamDefaultControllerClearAlgorithms(controller);
+
+        @writableStreamFinishInFlightWriteWithError(stream, reason);
+    });
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-function closeWritableStream(stream)
</del><ins>+function writableStreamDefaultControllerWrite(controller, chunk, chunkSize)
</ins><span class="cx"> {
</span><del>-    "use strict";
</del><ins>+    try {
+        @enqueueValueWithSize(@getByIdDirectPrivate(controller, "queue"), chunk, chunkSize);
</ins><span class="cx"> 
</span><del>-    @assert(@getByIdDirectPrivate(stream, "state") === @streamClosing);
-    @promiseInvokeOrNoop(@getByIdDirectPrivate(stream, "underlyingSink"), "close").@then(
-        function() {
-            if (@getByIdDirectPrivate(stream, "state") === @streamErrored)
-                return;
-            @assert(@getByIdDirectPrivate(stream, "state") === @streamClosing);
-            @getByIdDirectPrivate(stream, "closedPromiseCapability").@resolve.@call();
-            @putByIdDirectPrivate(stream, "state", @streamClosed);
-        },
-        function(r) {
-            @errorWritableStream(stream, r);
</del><ins>+        const stream = @getByIdDirectPrivate(controller, "stream");
+
+        const state = @getByIdDirectPrivate(stream, "state");
+        if (!@writableStreamCloseQueuedOrInFlight(stream) && state === "writable") {
+            const backpressure = @writableStreamDefaultControllerGetBackpressure(controller);
+            @writableStreamUpdateBackpressure(stream, backpressure);
</ins><span class="cx">         }
</span><del>-    );
</del><ins>+        @writableStreamDefaultControllerAdvanceQueueIfNeeded(controller);
+    } catch (e) {
+        @writableStreamDefaultControllerErrorIfNeeded(controller, e);
+    }
</ins><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreSourcestxt"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Sources.txt (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Sources.txt 2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/Source/WebCore/Sources.txt    2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -3627,6 +3627,8 @@
</span><span class="cx"> JSWorklet.cpp
</span><span class="cx"> JSWorkletGlobalScope.cpp
</span><span class="cx"> JSWritableStream.cpp
</span><ins>+JSWritableStreamDefaultController.cpp
+JSWritableStreamDefaultWriter.cpp
</ins><span class="cx"> JSXMLDocument.cpp
</span><span class="cx"> JSXMLHttpRequest.cpp
</span><span class="cx"> JSXMLHttpRequestEventTarget.cpp
</span></span></pre></div>
<a id="trunkSourceWebCoreWebCorexcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj   2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj      2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -7527,6 +7527,10 @@
</span><span class="cx">          417612AC1E3A993B00C3D81D /* LibWebRTCMediaEndpoint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LibWebRTCMediaEndpoint.h; path = libwebrtc/LibWebRTCMediaEndpoint.h; sourceTree = "<group>"; };
</span><span class="cx">          417612AD1E3A993B00C3D81D /* LibWebRTCPeerConnectionBackend.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LibWebRTCPeerConnectionBackend.cpp; path = libwebrtc/LibWebRTCPeerConnectionBackend.cpp; sourceTree = "<group>"; };
</span><span class="cx">          417612AE1E3A993B00C3D81D /* LibWebRTCPeerConnectionBackend.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LibWebRTCPeerConnectionBackend.h; path = libwebrtc/LibWebRTCPeerConnectionBackend.h; sourceTree = "<group>"; };
</span><ins>+               4176673024DC08EA008BFE28 /* WritableStreamDefaultWriter.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WritableStreamDefaultWriter.idl; sourceTree = "<group>"; };
+               4176673224DC08EB008BFE28 /* WritableStreamDefaultWriter.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = WritableStreamDefaultWriter.js; sourceTree = "<group>"; };
+               4176673324DC08EB008BFE28 /* WritableStreamDefaultController.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = WritableStreamDefaultController.js; sourceTree = "<group>"; };
+               4176673424DC08EB008BFE28 /* WritableStreamDefaultController.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WritableStreamDefaultController.idl; sourceTree = "<group>"; };
</ins><span class="cx">           4176900322FCD8F200B1576D /* MediaSourceRegistry.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MediaSourceRegistry.h; sourceTree = "<group>"; };
</span><span class="cx">          4176900422FCD8F200B1576D /* MediaSourceRegistry.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MediaSourceRegistry.cpp; sourceTree = "<group>"; };
</span><span class="cx">          4176E88F23C348D2003E83FE /* MediaRecorderProvider.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MediaRecorderProvider.h; sourceTree = "<group>"; };
</span><span class="lines">@@ -18891,6 +18895,10 @@
</span><span class="cx">                          9908B0F11BCACF9100ED0F55 /* StreamInternals.js */,
</span><span class="cx">                          41A023ED1A39DB7900F722DF /* WritableStream.idl */,
</span><span class="cx">                          9908B0EF1BCACF9100ED0F75 /* WritableStream.js */,
</span><ins>+                               4176673424DC08EB008BFE28 /* WritableStreamDefaultController.idl */,
+                               4176673324DC08EB008BFE28 /* WritableStreamDefaultController.js */,
+                               4176673024DC08EA008BFE28 /* WritableStreamDefaultWriter.idl */,
+                               4176673224DC08EB008BFE28 /* WritableStreamDefaultWriter.js */,
</ins><span class="cx">                           9908B0F11BCACF9100ED0F75 /* WritableStreamInternals.js */,
</span><span class="cx">                  );
</span><span class="cx">                  path = streams;
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsWebCoreBuiltinNamesh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/WebCoreBuiltinNames.h (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/WebCoreBuiltinNames.h   2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/Source/WebCore/bindings/js/WebCoreBuiltinNames.h      2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -249,6 +249,8 @@
</span><span class="cx">     macro(Worklet) \
</span><span class="cx">     macro(WorkletGlobalScope) \
</span><span class="cx">     macro(WritableStream) \
</span><ins>+    macro(WritableStreamDefaultController) \
+    macro(WritableStreamDefaultWriter) \
</ins><span class="cx">     macro(XMLHttpRequest) \
</span><span class="cx">     macro(XRBoundedReferenceSpace) \
</span><span class="cx">     macro(XRFrame) \
</span><span class="lines">@@ -271,11 +273,14 @@
</span><span class="cx">     macro(XRViewerPose) \
</span><span class="cx">     macro(XRViewport) \
</span><span class="cx">     macro(XRWebGLLayer) \
</span><ins>+    macro(abortAlgorithm) \
+    macro(abortSteps) \
</ins><span class="cx">     macro(appendFromJS) \
</span><span class="cx">     macro(associatedReadableByteStreamController) \
</span><span class="cx">     macro(autoAllocateChunkSize) \
</span><span class="cx">     macro(backingMap) \
</span><span class="cx">     macro(backingSet) \
</span><ins>+    macro(backpressure) \
</ins><span class="cx">     macro(blur) \
</span><span class="cx">     macro(body) \
</span><span class="cx">     macro(byobRequest) \
</span><span class="lines">@@ -286,8 +291,11 @@
</span><span class="cx">     macro(cancelIdleCallback) \
</span><span class="cx">     macro(cloneArrayBuffer) \
</span><span class="cx">     macro(close) \
</span><ins>+    macro(closeAlgorithm) \
+    macro(closeRequest) \
</ins><span class="cx">     macro(closeRequested) \
</span><span class="cx">     macro(closed) \
</span><ins>+    macro(closedPromise) \
</ins><span class="cx">     macro(closedPromiseCapability) \
</span><span class="cx">     macro(collectMatchingElementsInFlatTree) \
</span><span class="cx">     macro(consume) \
</span><span class="lines">@@ -299,6 +307,7 @@
</span><span class="cx">     macro(customElements) \
</span><span class="cx">     macro(disturbed) \
</span><span class="cx">     macro(document) \
</span><ins>+    macro(errorSteps) \
</ins><span class="cx">     macro(failureKind) \
</span><span class="cx">     macro(fetch) \
</span><span class="cx">     macro(fetchRequest) \
</span><span class="lines">@@ -311,6 +320,8 @@
</span><span class="cx">     macro(gpu) \
</span><span class="cx">     macro(header) \
</span><span class="cx">     macro(href) \
</span><ins>+    macro(inFlightCloseRequest) \
+    macro(inFlightWriteRequest) \
</ins><span class="cx">     macro(indexedDB) \
</span><span class="cx">     macro(initializeWith) \
</span><span class="cx">     macro(isDisturbed) \
</span><span class="lines">@@ -358,6 +369,7 @@
</span><span class="cx">     macro(readableByteStreamAPIEnabled) \
</span><span class="cx">     macro(readableStreamController) \
</span><span class="cx">     macro(reader) \
</span><ins>+    macro(readyPromise) \
</ins><span class="cx">     macro(readyPromiseCapability) \
</span><span class="cx">     macro(requestAnimationFrame) \
</span><span class="cx">     macro(requestIdleCallback) \
</span><span class="lines">@@ -377,6 +389,8 @@
</span><span class="cx">     macro(storedError) \
</span><span class="cx">     macro(strategy) \
</span><span class="cx">     macro(strategyHWM) \
</span><ins>+    macro(strategySizeAlgorithm) \
+    macro(stream) \
</ins><span class="cx">     macro(streamClosed) \
</span><span class="cx">     macro(streamClosing) \
</span><span class="cx">     macro(streamErrored) \
</span><span class="lines">@@ -407,7 +421,11 @@
</span><span class="cx">     macro(webkitOfflineAudioContext) \
</span><span class="cx">     macro(webkitOscillatorNode) \
</span><span class="cx">     macro(window) \
</span><ins>+    macro(writeAlgorithm) \
</ins><span class="cx">     macro(writing) \
</span><ins>+    macro(writer) \
+    macro(pendingAbortRequest) \
+    macro(writeRequests) \
</ins><span class="cx">     WEBCORE_ADDITIONAL_PRIVATE_IDENTIFIERS(macro) \
</span><span class="cx"> 
</span><span class="cx"> class WebCoreBuiltinNames {
</span></span></pre></div>
<a id="trunkSourceWebKitChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/ChangeLog (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/ChangeLog    2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/Source/WebKit/ChangeLog       2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -1,5 +1,15 @@
</span><span class="cx"> 2020-08-12  Youenn Fablet  <youenn@apple.com>
</span><span class="cx"> 
</span><ins>+        Refresh WritableStream up to spec
+        https://bugs.webkit.org/show_bug.cgi?id=215267
+
+        Reviewed by Geoff Garen.
+
+        * Shared/WebPreferences.yaml:
+        Add a dedicated runtime flag, off by default.
+
+2020-08-12  Youenn Fablet  <youenn@apple.com>
+
</ins><span class="cx">         Enable H264 low latency code path by default for MacOS
</span><span class="cx">         https://bugs.webkit.org/show_bug.cgi?id=215371
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKitSharedWebPreferencesyaml"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/Shared/WebPreferences.yaml (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/Shared/WebPreferences.yaml   2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/Source/WebKit/Shared/WebPreferences.yaml      2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -2144,6 +2144,14 @@
</span><span class="cx">   webcoreBinding: RuntimeEnabledFeatures
</span><span class="cx">   condition: ENABLE(WEBXR)
</span><span class="cx"> 
</span><ins>+WritableStreamAPIEnabled:
+  type: bool
+  defaultValue: false
+  humanReadableName: "WritableStream API"
+  humanReadableDescription: "Enable Writable Stream API"
+  category: experimental
+  webcoreBinding: RuntimeEnabledFeatures
+
</ins><span class="cx"> # Deprecated
</span><span class="cx"> 
</span><span class="cx"> ICECandidateFilteringEnabled:
</span></span></pre></div>
<a id="trunkToolsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Tools/ChangeLog (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/ChangeLog    2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/Tools/ChangeLog       2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -1,3 +1,17 @@
</span><ins>+2020-08-12  Youenn Fablet  <youenn@apple.com>
+
+        Refresh WritableStream up to spec
+        https://bugs.webkit.org/show_bug.cgi?id=215267
+
+        Reviewed by Geoff Garen.
+
+        Put console log in stderr as this makes some tests flaky otherwise.
+
+        * DumpRenderTree/TestOptions.cpp:
+        (shouldDumpJSConsoleLogInStdErr):
+        * WebKitTestRunner/TestOptions.cpp:
+        (WTR::shouldDumpJSConsoleLogInStdErr):
+
</ins><span class="cx"> 2020-08-11  Alex Christensen  <achristensen@webkit.org>
</span><span class="cx"> 
</span><span class="cx">         Enable HTTP/2 ping API tests
</span></span></pre></div>
<a id="trunkToolsDumpRenderTreeTestOptionscpp"></a>
<div class="modfile"><h4>Modified: trunk/Tools/DumpRenderTree/TestOptions.cpp (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/DumpRenderTree/TestOptions.cpp       2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/Tools/DumpRenderTree/TestOptions.cpp  2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -53,6 +53,7 @@
</span><span class="cx">         || pathContains(pathOrURL, "localhost:8800/cors") || pathContains(pathOrURL, "localhost:9443/cors")
</span><span class="cx">         || pathContains(pathOrURL, "localhost:8800/fetch") || pathContains(pathOrURL, "localhost:9443/fetch")
</span><span class="cx">         || pathContains(pathOrURL, "localhost:8800/service-workers") || pathContains(pathOrURL, "localhost:9443/service-workers")
</span><ins>+        || pathContains(pathOrURL, "localhost:8800/streams/writable-streams") || pathContains(pathOrURL, "localhost:9443/streams/writable-streams")
</ins><span class="cx">         || pathContains(pathOrURL, "localhost:8800/xhr") || pathContains(pathOrURL, "localhost:9443/xhr")
</span><span class="cx">         || pathContains(pathOrURL, "localhost:8800/webrtc") || pathContains(pathOrURL, "localhost:9443/webrtc")
</span><span class="cx">         || pathContains(pathOrURL, "localhost:8800/websockets") || pathContains(pathOrURL, "localhost:9443/websockets");
</span></span></pre></div>
<a id="trunkToolsWebKitTestRunnerTestOptionscpp"></a>
<div class="modfile"><h4>Modified: trunk/Tools/WebKitTestRunner/TestOptions.cpp (265547 => 265548)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/WebKitTestRunner/TestOptions.cpp     2020-08-12 11:48:08 UTC (rev 265547)
+++ trunk/Tools/WebKitTestRunner/TestOptions.cpp        2020-08-12 12:25:49 UTC (rev 265548)
</span><span class="lines">@@ -76,6 +76,7 @@
</span><span class="cx">         || pathContains(pathOrURL, "localhost:8800/cors") || pathContains(pathOrURL, "localhost:9443/cors")
</span><span class="cx">         || pathContains(pathOrURL, "localhost:8800/fetch") || pathContains(pathOrURL, "localhost:9443/fetch")
</span><span class="cx">         || pathContains(pathOrURL, "localhost:8800/service-workers") || pathContains(pathOrURL, "localhost:9443/service-workers")
</span><ins>+        || pathContains(pathOrURL, "localhost:8800/streams/writable-streams") || pathContains(pathOrURL, "localhost:9443/streams/writable-streams")
</ins><span class="cx">         || pathContains(pathOrURL, "localhost:8800/xhr") || pathContains(pathOrURL, "localhost:9443/xhr")
</span><span class="cx">         || pathContains(pathOrURL, "localhost:8800/webrtc") || pathContains(pathOrURL, "localhost:9443/webrtc")
</span><span class="cx">         || pathContains(pathOrURL, "localhost:8800/websockets") || pathContains(pathOrURL, "localhost:9443/websockets");
</span></span></pre>
</div>
</div>

</body>
</html>