<!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>[191283] 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/191283">191283</a></dd>
<dt>Author</dt> <dd>calvaris@igalia.com</dd>
<dt>Date</dt> <dd>2015-10-19 02:46:01 -0700 (Mon, 19 Oct 2015)</dd>
</dl>

<h3>Log Message</h3>
<pre>[Streams API] Add skeleton for initial WritableStream support
https://bugs.webkit.org/show_bug.cgi?id=149951

Reviewed by Darin Adler.

Source/WebCore:

This basically adds an empty WritableStream object without initializing the object. It also adds all empty
methods by raising an exception.

The reason why the object is not fully initialized is that it requires some other support and some refactorings
to share more code with ReadableStream and we will make in following patches.

Tests are covered by current set and their expectations are properly updated.

* CMakeLists.txt:
* DerivedSources.cpp:
* DerivedSources.make:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/WebCoreJSBuiltins.cpp:
* bindings/js/WebCoreJSBuiltins.h: Build infrastructure.
* Modules/streams/WritableStream.idl: Added all methods and attributes.
* Modules/streams/WritableStream.js:
(initializeWritableStream):
(abort):
(close):
(write):
(closed):
(ready):
(state): Added all by throwing an EvalError.

Source/WebInspectorUI:

* UserInterface/Models/NativeFunctionParameters.js: Added support for WritableStream.

LayoutTests:

Changed expectations to accomodate the WritableStream skeleton, including global-constructors-attributes.

* js/dom/global-constructors-attributes-expected.txt:
* platform/efl/js/dom/global-constructors-attributes-expected.txt:
* platform/gtk/js/dom/global-constructors-attributes-expected.txt:
* platform/mac-mavericks/js/dom/global-constructors-attributes-expected.txt:
* platform/mac-yosemite/js/dom/global-constructors-attributes-expected.txt:
* platform/mac/js/dom/global-constructors-attributes-expected.txt:
* platform/win/js/dom/global-constructors-attributes-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:
* 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="#trunkLayoutTestsjsdomglobalconstructorsattributesexpectedtxt">trunk/LayoutTests/js/dom/global-constructors-attributes-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformefljsdomglobalconstructorsattributesexpectedtxt">trunk/LayoutTests/platform/efl/js/dom/global-constructors-attributes-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformgtkjsdomglobalconstructorsattributesexpectedtxt">trunk/LayoutTests/platform/gtk/js/dom/global-constructors-attributes-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmacjsdomglobalconstructorsattributesexpectedtxt">trunk/LayoutTests/platform/mac/js/dom/global-constructors-attributes-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmacmavericksjsdomglobalconstructorsattributesexpectedtxt">trunk/LayoutTests/platform/mac-mavericks/js/dom/global-constructors-attributes-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmacyosemitejsdomglobalconstructorsattributesexpectedtxt">trunk/LayoutTests/platform/mac-yosemite/js/dom/global-constructors-attributes-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformwinjsdomglobalconstructorsattributesexpectedtxt">trunk/LayoutTests/platform/win/js/dom/global-constructors-attributes-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="#trunkLayoutTestsstreamsreferenceimplementationwritablestreamabortexpectedtxt">trunk/LayoutTests/streams/reference-implementation/writable-stream-abort-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="#trunkSourceWebCoreDerivedSourcescpp">trunk/Source/WebCore/DerivedSources.cpp</a></li>
<li><a href="#trunkSourceWebCoreDerivedSourcesmake">trunk/Source/WebCore/DerivedSources.make</a></li>
<li><a href="#trunkSourceWebCoreWebCorevcxprojWebCorevcxproj">trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj</a></li>
<li><a href="#trunkSourceWebCoreWebCorevcxprojWebCorevcxprojfilters">trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters</a></li>
<li><a href="#trunkSourceWebCoreWebCorexcodeprojprojectpbxproj">trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj</a></li>
<li><a href="#trunkSourceWebCorebindingsjsWebCoreJSBuiltinscpp">trunk/Source/WebCore/bindings/js/WebCoreJSBuiltins.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsWebCoreJSBuiltinsh">trunk/Source/WebCore/bindings/js/WebCoreJSBuiltins.h</a></li>
<li><a href="#trunkSourceWebInspectorUIChangeLog">trunk/Source/WebInspectorUI/ChangeLog</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceModelsNativeFunctionParametersjs">trunk/Source/WebInspectorUI/UserInterface/Models/NativeFunctionParameters.js</a></li>
</ul>

<h3>Added Paths</h3>
<ul>
<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>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkLayoutTestsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/ChangeLog (191282 => 191283)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/ChangeLog        2015-10-19 09:13:43 UTC (rev 191282)
+++ trunk/LayoutTests/ChangeLog        2015-10-19 09:46:01 UTC (rev 191283)
</span><span class="lines">@@ -1,3 +1,31 @@
</span><ins>+2015-10-19  Xabier Rodriguez Calvar  &lt;calvaris@igalia.com&gt;
+
+        [Streams API] Add skeleton for initial WritableStream support
+        https://bugs.webkit.org/show_bug.cgi?id=149951
+
+        Reviewed by Darin Adler.
+
+        Changed expectations to accomodate the WritableStream skeleton, including global-constructors-attributes.
+
+        * js/dom/global-constructors-attributes-expected.txt:
+        * platform/efl/js/dom/global-constructors-attributes-expected.txt:
+        * platform/gtk/js/dom/global-constructors-attributes-expected.txt:
+        * platform/mac-mavericks/js/dom/global-constructors-attributes-expected.txt:
+        * platform/mac-yosemite/js/dom/global-constructors-attributes-expected.txt:
+        * platform/mac/js/dom/global-constructors-attributes-expected.txt:
+        * platform/win/js/dom/global-constructors-attributes-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:
+        * streams/reference-implementation/writable-stream-expected.txt:
+
</ins><span class="cx"> 2015-10-18  Yusuke Suzuki  &lt;utatane.tea@gmail.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Promise constructor should throw when not called with &quot;new&quot;
</span></span></pre></div>
<a id="trunkLayoutTestsjsdomglobalconstructorsattributesexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/js/dom/global-constructors-attributes-expected.txt (191282 => 191283)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/js/dom/global-constructors-attributes-expected.txt        2015-10-19 09:13:43 UTC (rev 191282)
+++ trunk/LayoutTests/js/dom/global-constructors-attributes-expected.txt        2015-10-19 09:46:01 UTC (rev 191283)
</span><span class="lines">@@ -1908,6 +1908,11 @@
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'Worker').hasOwnProperty('set') is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'Worker').enumerable is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'Worker').configurable is true
</span><ins>+PASS Object.getOwnPropertyDescriptor(global, 'WritableStream').value is WritableStream
+PASS Object.getOwnPropertyDescriptor(global, 'WritableStream').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WritableStream').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WritableStream').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'WritableStream').configurable is true
</ins><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'XMLDocument').value is XMLDocument
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'XMLDocument').hasOwnProperty('get') is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'XMLDocument').hasOwnProperty('set') is false
</span></span></pre></div>
<a id="trunkLayoutTestsplatformefljsdomglobalconstructorsattributesexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/efl/js/dom/global-constructors-attributes-expected.txt (191282 => 191283)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/efl/js/dom/global-constructors-attributes-expected.txt        2015-10-19 09:13:43 UTC (rev 191282)
+++ trunk/LayoutTests/platform/efl/js/dom/global-constructors-attributes-expected.txt        2015-10-19 09:46:01 UTC (rev 191283)
</span><span class="lines">@@ -2043,6 +2043,11 @@
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'Worker').hasOwnProperty('set') is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'Worker').enumerable is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'Worker').configurable is true
</span><ins>+PASS Object.getOwnPropertyDescriptor(global, 'WritableStream').value is WritableStream
+PASS Object.getOwnPropertyDescriptor(global, 'WritableStream').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WritableStream').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WritableStream').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'WritableStream').configurable is true
</ins><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'XMLDocument').value is XMLDocument
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'XMLDocument').hasOwnProperty('get') is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'XMLDocument').hasOwnProperty('set') is false
</span></span></pre></div>
<a id="trunkLayoutTestsplatformgtkjsdomglobalconstructorsattributesexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/gtk/js/dom/global-constructors-attributes-expected.txt (191282 => 191283)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/gtk/js/dom/global-constructors-attributes-expected.txt        2015-10-19 09:13:43 UTC (rev 191282)
+++ trunk/LayoutTests/platform/gtk/js/dom/global-constructors-attributes-expected.txt        2015-10-19 09:46:01 UTC (rev 191283)
</span><span class="lines">@@ -1998,6 +1998,11 @@
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'Worker').hasOwnProperty('set') is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'Worker').enumerable is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'Worker').configurable is true
</span><ins>+PASS Object.getOwnPropertyDescriptor(global, 'WritableStream').value is WritableStream
+PASS Object.getOwnPropertyDescriptor(global, 'WritableStream').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WritableStream').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WritableStream').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'WritableStream').configurable is true
</ins><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'XMLDocument').value is XMLDocument
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'XMLDocument').hasOwnProperty('get') is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'XMLDocument').hasOwnProperty('set') is false
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmacjsdomglobalconstructorsattributesexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac/js/dom/global-constructors-attributes-expected.txt (191282 => 191283)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/js/dom/global-constructors-attributes-expected.txt        2015-10-19 09:13:43 UTC (rev 191282)
+++ trunk/LayoutTests/platform/mac/js/dom/global-constructors-attributes-expected.txt        2015-10-19 09:46:01 UTC (rev 191283)
</span><span class="lines">@@ -2063,6 +2063,11 @@
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'Worker').hasOwnProperty('set') is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'Worker').enumerable is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'Worker').configurable is true
</span><ins>+PASS Object.getOwnPropertyDescriptor(global, 'WritableStream').value is WritableStream
+PASS Object.getOwnPropertyDescriptor(global, 'WritableStream').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WritableStream').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WritableStream').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'WritableStream').configurable is true
</ins><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'XMLDocument').value is XMLDocument
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'XMLDocument').hasOwnProperty('get') is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'XMLDocument').hasOwnProperty('set') is false
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmacmavericksjsdomglobalconstructorsattributesexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac-mavericks/js/dom/global-constructors-attributes-expected.txt (191282 => 191283)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac-mavericks/js/dom/global-constructors-attributes-expected.txt        2015-10-19 09:13:43 UTC (rev 191282)
+++ trunk/LayoutTests/platform/mac-mavericks/js/dom/global-constructors-attributes-expected.txt        2015-10-19 09:46:01 UTC (rev 191283)
</span><span class="lines">@@ -2038,6 +2038,11 @@
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'Worker').hasOwnProperty('set') is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'Worker').enumerable is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'Worker').configurable is true
</span><ins>+PASS Object.getOwnPropertyDescriptor(global, 'WritableStream').value is WritableStream
+PASS Object.getOwnPropertyDescriptor(global, 'WritableStream').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WritableStream').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WritableStream').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'WritableStream').configurable is true
</ins><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'XMLDocument').value is XMLDocument
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'XMLDocument').hasOwnProperty('get') is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'XMLDocument').hasOwnProperty('set') is false
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmacyosemitejsdomglobalconstructorsattributesexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac-yosemite/js/dom/global-constructors-attributes-expected.txt (191282 => 191283)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac-yosemite/js/dom/global-constructors-attributes-expected.txt        2015-10-19 09:13:43 UTC (rev 191282)
+++ trunk/LayoutTests/platform/mac-yosemite/js/dom/global-constructors-attributes-expected.txt        2015-10-19 09:46:01 UTC (rev 191283)
</span><span class="lines">@@ -2058,6 +2058,11 @@
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'Worker').hasOwnProperty('set') is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'Worker').enumerable is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'Worker').configurable is true
</span><ins>+PASS Object.getOwnPropertyDescriptor(global, 'WritableStream').value is WritableStream
+PASS Object.getOwnPropertyDescriptor(global, 'WritableStream').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WritableStream').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WritableStream').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'WritableStream').configurable is true
</ins><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'XMLDocument').value is XMLDocument
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'XMLDocument').hasOwnProperty('get') is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'XMLDocument').hasOwnProperty('set') is false
</span></span></pre></div>
<a id="trunkLayoutTestsplatformwinjsdomglobalconstructorsattributesexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/win/js/dom/global-constructors-attributes-expected.txt (191282 => 191283)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/win/js/dom/global-constructors-attributes-expected.txt        2015-10-19 09:13:43 UTC (rev 191282)
+++ trunk/LayoutTests/platform/win/js/dom/global-constructors-attributes-expected.txt        2015-10-19 09:46:01 UTC (rev 191283)
</span><span class="lines">@@ -1793,6 +1793,11 @@
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'Worker').hasOwnProperty('set') is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'Worker').enumerable is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'Worker').configurable is true
</span><ins>+PASS Object.getOwnPropertyDescriptor(global, 'WritableStream').value is WritableStream
+PASS Object.getOwnPropertyDescriptor(global, 'WritableStream').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WritableStream').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'WritableStream').enumerable is false
+PASS Object.getOwnPropertyDescriptor(global, 'WritableStream').configurable is true
</ins><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'XMLDocument').value is XMLDocument
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'XMLDocument').hasOwnProperty('get') is false
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, 'XMLDocument').hasOwnProperty('set') is false
</span></span></pre></div>
<a id="trunkLayoutTestsstreamsreferenceimplementationbadstrategiesexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/streams/reference-implementation/bad-strategies-expected.txt (191282 => 191283)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/streams/reference-implementation/bad-strategies-expected.txt        2015-10-19 09:13:43 UTC (rev 191282)
+++ trunk/LayoutTests/streams/reference-implementation/bad-strategies-expected.txt        2015-10-19 09:46:01 UTC (rev 191283)
</span><span class="lines">@@ -6,13 +6,13 @@
</span><span class="cx"> PASS Readable stream: invalid strategy.size return value 
</span><span class="cx"> FAIL Writable stream: throwing strategy.size getter assert_throws: construction should re-throw the error function &quot;function () {
</span><span class="cx">         new WritableStream({}, {
</span><del>-          ...&quot; threw object &quot;ReferenceError: Can't find variable: WritableStream&quot; (&quot;ReferenceError&quot;) expected object &quot;Error: a unique string&quot; (&quot;Error&quot;)
-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
</del><ins>+          ...&quot; threw object &quot;EvalError: WritableStream constructor not implemented&quot; (&quot;EvalError&quot;) expected object &quot;Error: a unique string&quot; (&quot;Error&quot;)
+FAIL Writable stream: throwing strategy.size method WritableStream constructor not implemented
+FAIL Writable stream: invalid strategy.size return value WritableStream constructor not implemented
</ins><span class="cx"> FAIL Writable stream: throwing strategy.highWaterMark getter assert_throws: construction should re-throw the error function &quot;function () {
</span><span class="cx">         new WritableStream({}, {
</span><del>-          ...&quot; threw object &quot;ReferenceError: Can't find variable: WritableStream&quot; (&quot;ReferenceError&quot;) expected object &quot;Error: a unique string&quot; (&quot;Error&quot;)
</del><ins>+          ...&quot; threw object &quot;EvalError: WritableStream constructor not implemented&quot; (&quot;EvalError&quot;) expected object &quot;Error: a unique string&quot; (&quot;Error&quot;)
</ins><span class="cx"> FAIL Writable stream: invalid strategy.highWaterMark assert_throws: construction should throw a RangeError for -1 function &quot;function () {
</span><span class="cx">             new WritableStream({}, {
</span><del>-      ...&quot; threw object &quot;ReferenceError: Can't find variable: WritableStream&quot; (&quot;ReferenceError&quot;) expected object &quot;RangeError&quot; (&quot;RangeError&quot;)
</del><ins>+      ...&quot; threw object &quot;EvalError: WritableStream constructor not implemented&quot; (&quot;EvalError&quot;) expected object &quot;RangeError&quot; (&quot;RangeError&quot;)
</ins><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 (191282 => 191283)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/streams/reference-implementation/bad-underlying-sinks-expected.txt        2015-10-19 09:13:43 UTC (rev 191282)
+++ trunk/LayoutTests/streams/reference-implementation/bad-underlying-sinks-expected.txt        2015-10-19 09:46:01 UTC (rev 191283)
</span><span class="lines">@@ -1,14 +1,14 @@
</span><span class="cx"> 
</span><span class="cx"> FAIL Underlying sink: throwing start getter assert_throws: function &quot;function () {
</span><span class="cx">         new WritableStream({
</span><del>-            ge...&quot; threw object &quot;ReferenceError: Can't find variable: WritableStream&quot; (&quot;ReferenceError&quot;) expected object &quot;Error: a unique string&quot; (&quot;Error&quot;)
</del><ins>+            ge...&quot; threw object &quot;EvalError: WritableStream constructor not implemented&quot; (&quot;EvalError&quot;) expected object &quot;Error: a unique string&quot; (&quot;Error&quot;)
</ins><span class="cx"> FAIL Underlying sink: throwing start method assert_throws: function &quot;function () {
</span><span class="cx">         new WritableStream({
</span><del>-            st...&quot; threw object &quot;ReferenceError: Can't find variable: WritableStream&quot; (&quot;ReferenceError&quot;) expected object &quot;Error: a unique string&quot; (&quot;Error&quot;)
-FAIL Underlying sink: throwing write getter Can't find variable: WritableStream
-FAIL Underlying sink: throwing write method Can't find variable: WritableStream
-FAIL Underlying sink: throwing abort getter Can't find variable: WritableStream
-FAIL Underlying sink: throwing abort method Can't find variable: WritableStream
-FAIL Underlying sink: throwing close getter Can't find variable: WritableStream
-FAIL Underlying sink: throwing close method Can't find variable: WritableStream
</del><ins>+            st...&quot; threw object &quot;EvalError: WritableStream constructor not implemented&quot; (&quot;EvalError&quot;) expected object &quot;Error: a unique string&quot; (&quot;Error&quot;)
+FAIL Underlying sink: throwing write getter WritableStream constructor not implemented
+FAIL Underlying sink: throwing write method WritableStream constructor not implemented
+FAIL Underlying sink: throwing abort getter WritableStream constructor not implemented
+FAIL Underlying sink: throwing abort method WritableStream constructor not implemented
+FAIL Underlying sink: throwing close getter WritableStream constructor not implemented
+FAIL Underlying sink: throwing close method WritableStream constructor not implemented
</ins><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 (191282 => 191283)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/streams/reference-implementation/brand-checks-expected.txt        2015-10-19 09:13:43 UTC (rev 191282)
+++ trunk/LayoutTests/streams/reference-implementation/brand-checks-expected.txt        2015-10-19 09:46:01 UTC (rev 191283)
</span><span class="lines">@@ -1,11 +1,11 @@
</span><span class="cx"> 
</span><span class="cx"> PASS Can get the ReadableStreamReader constructor indirectly 
</span><span class="cx"> PASS Can get the ReadableStreamController constructor indirectly 
</span><del>-FAIL ReadableStream.prototype.cancel enforces a brand check Can't find variable: WritableStream
-FAIL ReadableStream.prototype.getReader enforces a brand check Can't find variable: WritableStream
</del><ins>+FAIL ReadableStream.prototype.cancel enforces a brand check WritableStream constructor not implemented
+FAIL ReadableStream.prototype.getReader enforces a brand check WritableStream constructor not implemented
</ins><span class="cx"> PASS ReadableStream.prototype.pipeThrough works generically on its this and its arguments 
</span><span class="cx"> FAIL ReadableStream.prototype.pipeTo works generically on its this and its arguments pipeTo is not implemented
</span><del>-FAIL ReadableStream.prototype.tee enforces a brand check Can't find variable: WritableStream
</del><ins>+FAIL ReadableStream.prototype.tee enforces a brand check WritableStream constructor not implemented
</ins><span class="cx"> PASS ReadableStreamReader enforces a brand check on its argument 
</span><span class="cx"> PASS ReadableStreamReader.prototype.closed enforces a brand check 
</span><span class="cx"> PASS ReadableStreamReader.prototype.cancel enforces a brand check 
</span><span class="lines">@@ -17,12 +17,12 @@
</span><span class="cx"> PASS ReadableStreamController.prototype.close enforces a brand check 
</span><span class="cx"> PASS ReadableStreamController.prototype.enqueue enforces a brand check 
</span><span class="cx"> PASS ReadableStreamController.prototype.error enforces a brand check 
</span><del>-FAIL WritableStream.prototype.closed enforces a brand check Can't find variable: WritableStream
-FAIL WritableStream.prototype.ready enforces a brand check Can't find variable: WritableStream
-FAIL WritableStream.prototype.state enforces a brand check Can't find variable: WritableStream
-FAIL WritableStream.prototype.abort enforces a brand check Can't find variable: WritableStream
-FAIL WritableStream.prototype.write enforces a brand check Can't find variable: WritableStream
-FAIL WritableStream.prototype.close enforces a brand check Can't find variable: WritableStream
</del><ins>+FAIL WritableStream.prototype.closed enforces a brand check closed not implemented
+FAIL WritableStream.prototype.ready enforces a brand check ready not implemented
+FAIL WritableStream.prototype.state enforces a brand check assert_throws: state should throw a TypeError function &quot;function () { getter.call(target); }&quot; threw object &quot;EvalError: state not implemented&quot; (&quot;EvalError&quot;) expected object &quot;TypeError&quot; (&quot;TypeError&quot;)
+FAIL WritableStream.prototype.abort enforces a brand check abort not implemented
+FAIL WritableStream.prototype.write enforces a brand check write not implemented
+FAIL WritableStream.prototype.close enforces a brand check close not implemented
</ins><span class="cx"> PASS ByteLengthQueuingStrategy.prototype.size should work generically on its this and its arguments 
</span><span class="cx"> PASS CountQueuingStrategy.prototype.size should work generically on its this and its arguments 
</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 (191282 => 191283)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/streams/reference-implementation/byte-length-queuing-strategy-expected.txt        2015-10-19 09:13:43 UTC (rev 191282)
+++ trunk/LayoutTests/streams/reference-implementation/byte-length-queuing-strategy-expected.txt        2015-10-19 09:46:01 UTC (rev 191283)
</span><span class="lines">@@ -4,5 +4,5 @@
</span><span class="cx"> PASS ByteLengthQueuingStrategy constructor behaves as expected with wrong arguments 
</span><span class="cx"> PASS ByteLengthQueuingStrategy size behaves as expected with wrong arguments 
</span><span class="cx"> PASS ByteLengthQueuingStrategy instances have the correct properties 
</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>+FAIL Closing a writable stream with in-flight writes below the high water mark delays the close call properly WritableStream constructor not implemented
</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 (191282 => 191283)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/streams/reference-implementation/count-queuing-strategy-expected.txt        2015-10-19 09:13:43 UTC (rev 191282)
+++ trunk/LayoutTests/streams/reference-implementation/count-queuing-strategy-expected.txt        2015-10-19 09:46:01 UTC (rev 191283)
</span><span class="lines">@@ -8,7 +8,7 @@
</span><span class="cx"> PASS Correctly governs the return value of a ReadableStream's enqueue function (HWM = 0) 
</span><span class="cx"> PASS Correctly governs a ReadableStreamController's desiredSize property (HWM = 1) 
</span><span class="cx"> PASS Correctly governs a ReadableStreamController's desiredSize property (HWM = 4) 
</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>+FAIL Can construct a writable stream with a valid CountQueuingStrategy WritableStream constructor not implemented
+FAIL Correctly governs the value of a WritableStream's state property (HWM = 0) WritableStream constructor not implemented
+FAIL Correctly governs the value of a WritableStream's state property (HWM = 4) WritableStream constructor not implemented
</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 (191282 => 191283)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/streams/reference-implementation/pipe-through-expected.txt        2015-10-19 09:13:43 UTC (rev 191282)
+++ trunk/LayoutTests/streams/reference-implementation/pipe-through-expected.txt        2015-10-19 09:46:01 UTC (rev 191283)
</span><span class="lines">@@ -1,4 +1,4 @@
</span><span class="cx"> 
</span><del>-FAIL Piping through a duck-typed pass-through transform stream works Can't find variable: WritableStream
</del><ins>+FAIL Piping through a duck-typed pass-through transform stream works WritableStream constructor not implemented
</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 (191282 => 191283)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/streams/reference-implementation/pipe-to-expected.txt        2015-10-19 09:13:43 UTC (rev 191282)
+++ trunk/LayoutTests/streams/reference-implementation/pipe-to-expected.txt        2015-10-19 09:46:01 UTC (rev 191283)
</span><span class="lines">@@ -1,26 +1,26 @@
</span><span class="cx"> 
</span><del>-FAIL Piping from a ReadableStream from which lots of data are readable synchronously Can't find variable: WritableStream
-FAIL Piping from a ReadableStream in readable state to a WritableStream in closing state Can't find variable: WritableStream
-FAIL Piping from a ReadableStream in readable state to a WritableStream in errored state Can't find variable: WritableStream
-FAIL Piping from a ReadableStream in the readable state which becomes closed after pipeTo call to a WritableStream in the writable state Can't find variable: WritableStream
-FAIL Piping from a ReadableStream in the readable state which becomes errored after pipeTo call to a WritableStream in the writable state Can't find variable: WritableStream
-FAIL Piping from an empty ReadableStream which becomes non-empty after pipeTo call to a WritableStream in the writable state Can't find variable: WritableStream
-FAIL Piping from an empty ReadableStream which becomes errored after pipeTo call to a WritableStream in the writable state Can't find variable: WritableStream
-FAIL Piping from an empty ReadableStream to a WritableStream in the writable state which becomes errored after a pipeTo call Can't find variable: WritableStream
-FAIL Piping from a non-empty ReadableStream to a WritableStream in the waiting state which becomes writable after a pipeTo call Can't find variable: WritableStream
-FAIL Piping from a non-empty ReadableStream to a WritableStream in waiting state which becomes errored after a pipeTo call Can't find variable: WritableStream
-FAIL Piping from a non-empty ReadableStream which becomes errored after pipeTo call to a WritableStream in the waiting state Can't find variable: WritableStream
-FAIL Piping from a non-empty ReadableStream to a WritableStream in the waiting state where both become ready after a pipeTo Can't find variable: WritableStream
-FAIL Piping from an empty ReadableStream to a WritableStream in the waiting state which becomes writable after a pipeTo call Can't find variable: WritableStream
-FAIL Piping from an empty ReadableStream which becomes closed after a pipeTo call to a WritableStream in the waiting state whose writes never complete Can't find variable: WritableStream
-FAIL Piping from an empty ReadableStream which becomes errored after a pipeTo call to a WritableStream in the waiting state Can't find variable: WritableStream
</del><ins>+FAIL Piping from a ReadableStream from which lots of data are readable synchronously WritableStream constructor not implemented
+FAIL Piping from a ReadableStream in readable state to a WritableStream in closing state WritableStream constructor not implemented
+FAIL Piping from a ReadableStream in readable state to a WritableStream in errored state WritableStream constructor not implemented
+FAIL Piping from a ReadableStream in the readable state which becomes closed after pipeTo call to a WritableStream in the writable state WritableStream constructor not implemented
+FAIL Piping from a ReadableStream in the readable state which becomes errored after pipeTo call to a WritableStream in the writable state WritableStream constructor not implemented
+FAIL Piping from an empty ReadableStream which becomes non-empty after pipeTo call to a WritableStream in the writable state WritableStream constructor not implemented
+FAIL Piping from an empty ReadableStream which becomes errored after pipeTo call to a WritableStream in the writable state WritableStream constructor not implemented
+FAIL Piping from an empty ReadableStream to a WritableStream in the writable state which becomes errored after a pipeTo call WritableStream constructor not implemented
+FAIL Piping from a non-empty ReadableStream to a WritableStream in the waiting state which becomes writable after a pipeTo call WritableStream constructor not implemented
+FAIL Piping from a non-empty ReadableStream to a WritableStream in waiting state which becomes errored after a pipeTo call WritableStream constructor not implemented
+FAIL Piping from a non-empty ReadableStream which becomes errored after pipeTo call to a WritableStream in the waiting state WritableStream constructor not implemented
+FAIL Piping from a non-empty ReadableStream to a WritableStream in the waiting state where both become ready after a pipeTo WritableStream constructor not implemented
+FAIL Piping from an empty ReadableStream to a WritableStream in the waiting state which becomes writable after a pipeTo call WritableStream constructor not implemented
+FAIL Piping from an empty ReadableStream which becomes closed after a pipeTo call to a WritableStream in the waiting state whose writes never complete WritableStream constructor not implemented
+FAIL Piping from an empty ReadableStream which becomes errored after a pipeTo call to a WritableStream in the waiting state WritableStream constructor not implemented
</ins><span class="cx"> FAIL Piping to a duck-typed asynchronous &quot;writable stream&quot; works pipeTo is not implemented
</span><del>-FAIL Piping to a stream that has been aborted passes through the error as the cancellation reason Can't find variable: WritableStream
-FAIL Piping to a stream and then aborting it passes through the error as the cancellation reason Can't find variable: WritableStream
-FAIL Piping to a stream that has been closed propagates a TypeError cancellation reason backward Can't find variable: WritableStream
-FAIL Piping to a stream and then closing it propagates a TypeError cancellation reason backward Can't find variable: WritableStream
-FAIL Piping to a stream that errors on write should pass through the error as the cancellation reason Can't find variable: WritableStream
-FAIL Piping to a stream that errors on write should not pass through the error if the stream is already closed Can't find variable: WritableStream
-FAIL Piping to a stream that errors soon after writing should pass through the error as the cancellation reason Can't find variable: WritableStream
-FAIL Piping to a writable stream that does not consume the writes fast enough exerts backpressure on the source Can't find variable: WritableStream
</del><ins>+FAIL Piping to a stream that has been aborted passes through the error as the cancellation reason WritableStream constructor not implemented
+FAIL Piping to a stream and then aborting it passes through the error as the cancellation reason WritableStream constructor not implemented
+FAIL Piping to a stream that has been closed propagates a TypeError cancellation reason backward WritableStream constructor not implemented
+FAIL Piping to a stream and then closing it propagates a TypeError cancellation reason backward WritableStream constructor not implemented
+FAIL Piping to a stream that errors on write should pass through the error as the cancellation reason WritableStream constructor not implemented
+FAIL Piping to a stream that errors on write should not pass through the error if the stream is already closed WritableStream constructor not implemented
+FAIL Piping to a stream that errors soon after writing should pass through the error as the cancellation reason WritableStream constructor not implemented
+FAIL Piping to a writable stream that does not consume the writes fast enough exerts backpressure on the source WritableStream constructor not implemented
</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 (191282 => 191283)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/streams/reference-implementation/pipe-to-options-expected.txt        2015-10-19 09:13:43 UTC (rev 191282)
+++ trunk/LayoutTests/streams/reference-implementation/pipe-to-options-expected.txt        2015-10-19 09:46:01 UTC (rev 191283)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> 
</span><del>-FAIL Piping with no options and a destination error Can't find variable: WritableStream
-FAIL Piping with { preventCancel: false } and a destination error Can't find variable: WritableStream
-FAIL Piping with { preventCancel: true } and a destination error Can't find variable: WritableStream
</del><ins>+FAIL Piping with no options and a destination error WritableStream constructor not implemented
+FAIL Piping with { preventCancel: false } and a destination error WritableStream constructor not implemented
+FAIL Piping with { preventCancel: true } and a destination error WritableStream constructor not implemented
</ins><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsstreamsreferenceimplementationreadablestreamtemplatedexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/streams/reference-implementation/readable-stream-templated-expected.txt (191282 => 191283)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/streams/reference-implementation/readable-stream-templated-expected.txt        2015-10-19 09:13:43 UTC (rev 191282)
+++ trunk/LayoutTests/streams/reference-implementation/readable-stream-templated-expected.txt        2015-10-19 09:46:01 UTC (rev 191283)
</span><span class="lines">@@ -18,8 +18,8 @@
</span><span class="cx"> PASS cancel() should return a distinct fulfilled promise each time 
</span><span class="cx"> PASS locked should be false 
</span><span class="cx"> PASS getReader() should be OK 
</span><del>-FAIL piping to a WritableStream in the writable state should close the writable stream Can't find variable: WritableStream
-FAIL piping to a WritableStream in the writable state with { preventClose: true } should do nothing Can't find variable: WritableStream
</del><ins>+FAIL piping to a WritableStream in the writable state should close the writable stream WritableStream constructor not implemented
+FAIL piping to a WritableStream in the writable state with { preventClose: true } should do nothing WritableStream constructor not implemented
</ins><span class="cx"> PASS should be able to acquire multiple readers, since they are all auto-released 
</span><span class="cx"> PASS Running templatedRSClosedReader with ReadableStream reader (closed before getting reader) 
</span><span class="cx"> PASS read() should fulfill with { value: undefined, done: true } 
</span><span class="lines">@@ -37,8 +37,8 @@
</span><span class="cx"> PASS cancel() should return a distinct fulfilled promise each time 
</span><span class="cx"> PASS locked should be false 
</span><span class="cx"> PASS getReader() should be OK 
</span><del>-FAIL piping to a WritableStream in the writable state should close the writable stream Can't find variable: WritableStream
-FAIL piping to a WritableStream in the writable state with { preventClose: true } should do nothing Can't find variable: WritableStream
</del><ins>+FAIL piping to a WritableStream in the writable state should close the writable stream WritableStream constructor not implemented
+FAIL piping to a WritableStream in the writable state with { preventClose: true } should do nothing WritableStream constructor not implemented
</ins><span class="cx"> PASS should be able to acquire multiple readers, since they are all auto-released 
</span><span class="cx"> PASS Running templatedRSClosedReader with ReadableStream reader (closed via cancel after getting reader) 
</span><span class="cx"> PASS read() should fulfill with { value: undefined, done: true } 
</span><span class="lines">@@ -47,7 +47,7 @@
</span><span class="cx"> PASS closed should fulfill with undefined 
</span><span class="cx"> PASS cancel() should return a distinct fulfilled promise each time 
</span><span class="cx"> PASS Running templatedRSErrored with ReadableStream (errored via call in start) 
</span><del>-FAIL piping to a WritableStream in the writable state should abort the writable stream Can't find variable: WritableStream
</del><ins>+FAIL piping to a WritableStream in the writable state should abort the writable stream WritableStream constructor not implemented
</ins><span class="cx"> PASS getReader() should return a reader that acts errored 
</span><span class="cx"> PASS read() twice should give the error each time 
</span><span class="cx"> PASS locked should be false 
</span><span class="lines">@@ -57,14 +57,14 @@
</span><span class="cx"> PASS reader cancel() should return a distinct rejected promise each time 
</span><span class="cx"> PASS should be able to acquire multiple readers, since they are all auto-released 
</span><span class="cx"> PASS Running templatedRSErrored with ReadableStream (errored via returning a rejected promise in start) 
</span><del>-FAIL piping to a WritableStream in the writable state should abort the writable stream Can't find variable: WritableStream
</del><ins>+FAIL piping to a WritableStream in the writable state should abort the writable stream WritableStream constructor not implemented
</ins><span class="cx"> PASS getReader() should return a reader that acts errored 
</span><span class="cx"> PASS read() twice should give the error each time 
</span><span class="cx"> PASS locked should be false 
</span><span class="cx"> PASS Running templatedRSErroredAsyncOnly with ReadableStream (errored via returning a rejected promise in start) reader 
</span><del>-FAIL piping with no options Can't find variable: WritableStream
-FAIL piping with { preventAbort: false } Can't find variable: WritableStream
-FAIL piping with { preventAbort: true } Can't find variable: WritableStream
</del><ins>+FAIL piping with no options WritableStream constructor not implemented
+FAIL piping with { preventAbort: false } WritableStream constructor not implemented
+FAIL piping with { preventAbort: true } WritableStream constructor not implemented
</ins><span class="cx"> PASS Running templatedRSErroredReader with ReadableStream (errored via returning a rejected promise in start) reader 
</span><span class="cx"> PASS closed should reject with the error 
</span><span class="cx"> PASS read() should reject with the error 
</span><span class="lines">@@ -80,26 +80,26 @@
</span><span class="cx"> PASS read() should return distinct promises each time 
</span><span class="cx"> PASS cancel() after a read() should still give that single read result 
</span><span class="cx"> PASS Running templatedRSTwoChunksClosed with ReadableStream (two chunks enqueued, then closed) 
</span><del>-FAIL piping with no options and no destination errors Can't find variable: WritableStream
-FAIL piping with { preventClose: false } and no destination errors Can't find variable: WritableStream
-FAIL piping with { preventClose: true } and no destination errors Can't find variable: WritableStream
-FAIL piping with { preventClose: false } and a destination with that errors synchronously Can't find variable: WritableStream
-FAIL piping with { preventClose: true } and a destination with that errors synchronously Can't find variable: WritableStream
-FAIL piping with { preventClose: true } and a destination that errors on the last chunk Can't find variable: WritableStream
</del><ins>+FAIL piping with no options and no destination errors WritableStream constructor not implemented
+FAIL piping with { preventClose: false } and no destination errors WritableStream constructor not implemented
+FAIL piping with { preventClose: true } and no destination errors WritableStream constructor not implemented
+FAIL piping with { preventClose: false } and a destination with that errors synchronously WritableStream constructor not implemented
+FAIL piping with { preventClose: true } and a destination with that errors synchronously WritableStream constructor not implemented
+FAIL piping with { preventClose: true } and a destination that errors on the last chunk WritableStream constructor not implemented
</ins><span class="cx"> PASS Running templatedRSTwoChunksClosed with ReadableStream (two chunks enqueued async, then closed) 
</span><del>-FAIL piping with no options and no destination errors Can't find variable: WritableStream
-FAIL piping with { preventClose: false } and no destination errors Can't find variable: WritableStream
-FAIL piping with { preventClose: true } and no destination errors Can't find variable: WritableStream
-FAIL piping with { preventClose: false } and a destination with that errors synchronously Can't find variable: WritableStream
-FAIL piping with { preventClose: true } and a destination with that errors synchronously Can't find variable: WritableStream
-FAIL piping with { preventClose: true } and a destination that errors on the last chunk Can't find variable: WritableStream
</del><ins>+FAIL piping with no options and no destination errors WritableStream constructor not implemented
+FAIL piping with { preventClose: false } and no destination errors WritableStream constructor not implemented
+FAIL piping with { preventClose: true } and no destination errors WritableStream constructor not implemented
+FAIL piping with { preventClose: false } and a destination with that errors synchronously WritableStream constructor not implemented
+FAIL piping with { preventClose: true } and a destination with that errors synchronously WritableStream constructor not implemented
+FAIL piping with { preventClose: true } and a destination that errors on the last chunk WritableStream constructor not implemented
</ins><span class="cx"> PASS Running templatedRSTwoChunksClosed with ReadableStream (two chunks enqueued via pull, then closed) 
</span><del>-FAIL piping with no options and no destination errors Can't find variable: WritableStream
-FAIL piping with { preventClose: false } and no destination errors Can't find variable: WritableStream
-FAIL piping with { preventClose: true } and no destination errors Can't find variable: WritableStream
-FAIL piping with { preventClose: false } and a destination with that errors synchronously Can't find variable: WritableStream
-FAIL piping with { preventClose: true } and a destination with that errors synchronously Can't find variable: WritableStream
-FAIL piping with { preventClose: true } and a destination that errors on the last chunk Can't find variable: WritableStream
</del><ins>+FAIL piping with no options and no destination errors WritableStream constructor not implemented
+FAIL piping with { preventClose: false } and no destination errors WritableStream constructor not implemented
+FAIL piping with { preventClose: true } and no destination errors WritableStream constructor not implemented
+FAIL piping with { preventClose: false } and a destination with that errors synchronously WritableStream constructor not implemented
+FAIL piping with { preventClose: true } and a destination with that errors synchronously WritableStream constructor not implemented
+FAIL piping with { preventClose: true } and a destination that errors on the last chunk WritableStream constructor not implemented
</ins><span class="cx"> PASS Running templatedRSTwoChunksClosedReader with ReadableStream (two chunks enqueued, then closed) reader 
</span><span class="cx"> PASS third read(), without waiting, should give { value: undefined, done: true } 
</span><span class="cx"> PASS third read, with waiting, should give { value: undefined, done: true } 
</span></span></pre></div>
<a id="trunkLayoutTestsstreamsreferenceimplementationwritablestreamabortexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/streams/reference-implementation/writable-stream-abort-expected.txt (191282 => 191283)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/streams/reference-implementation/writable-stream-abort-expected.txt        2015-10-19 09:13:43 UTC (rev 191282)
+++ trunk/LayoutTests/streams/reference-implementation/writable-stream-abort-expected.txt        2015-10-19 09:46:01 UTC (rev 191283)
</span><span class="lines">@@ -1,14 +1,14 @@
</span><span class="cx"> 
</span><del>-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 ws.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 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 stored error equal to the abort reason Can't find variable: WritableStream
-FAIL Aborting a WritableStream causes any outstanding ready promises to be fulfilled immediately Can't find variable: WritableStream
-FAIL Aborting a WritableStream causes any outstanding write() promises to be rejected with the abort reason 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 error 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 call underlying sink's close if no abort is supplied Can't find variable: WritableStream
</del><ins>+FAIL Aborting a WritableStream immediately prevents future writes WritableStream constructor not implemented
+FAIL Aborting a WritableStream prevents further writes after any that are in progress WritableStream constructor not implemented
+FAIL Fulfillment value of ws.abort() call must be undefined even if the underlying sink returns a non-undefined value WritableStream constructor not implemented
+FAIL WritableStream if sink's abort throws, the promise returned by ws.abort() rejects WritableStream constructor not implemented
+FAIL Aborting a WritableStream passes through the given reason WritableStream constructor not implemented
+FAIL Aborting a WritableStream puts it in an errored state, with stored error equal to the abort reason WritableStream constructor not implemented
+FAIL Aborting a WritableStream causes any outstanding ready promises to be fulfilled immediately WritableStream constructor not implemented
+FAIL Aborting a WritableStream causes any outstanding write() promises to be rejected with the abort reason WritableStream constructor not implemented
+FAIL Closing but then immediately aborting a WritableStream causes the stream to error WritableStream constructor not implemented
+FAIL Closing a WritableStream and aborting it while it closes causes the stream to error WritableStream constructor not implemented
+FAIL Aborting a WritableStream after it is closed is a no-op WritableStream constructor not implemented
+FAIL WritableStream should call underlying sink's close if no abort is supplied WritableStream constructor not implemented
</ins><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsstreamsreferenceimplementationwritablestreamexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/streams/reference-implementation/writable-stream-expected.txt (191282 => 191283)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/streams/reference-implementation/writable-stream-expected.txt        2015-10-19 09:13:43 UTC (rev 191282)
+++ trunk/LayoutTests/streams/reference-implementation/writable-stream-expected.txt        2015-10-19 09:46:01 UTC (rev 191283)
</span><span class="lines">@@ -1,14 +1,14 @@
</span><span class="cx"> 
</span><del>-FAIL error argument is given to start method Can't find variable: WritableStream
-FAIL Underlying sink's write won't be called until start finishes Can't find variable: WritableStream
-FAIL Underlying sink's close won't be called until start finishes Can't find variable: WritableStream
-FAIL Fulfillment value of ws.close() call must be undefined even if the underlying sink returns a non-undefined value Can't find variable: WritableStream
-FAIL Underlying sink's write or close are never invoked if start throws assert_equals: expected object &quot;Error: horrible things&quot; but got object &quot;ReferenceError: Can't find variable: WritableStream&quot;
-FAIL Underlying sink's write or close are never invoked if the promise returned by start is rejected Can't find variable: WritableStream
-FAIL WritableStream can be constructed with no arguments Can't find variable: WritableStream
-FAIL WritableStream instances have the correct methods and properties Can't find variable: WritableStream
-FAIL WritableStream with simple input, processed asynchronously Can't find variable: WritableStream
-FAIL WritableStream with simple input, processed synchronously Can't find variable: WritableStream
-FAIL WritableStream is writable and ready fulfills immediately if the strategy does not apply backpressure Can't find variable: WritableStream
-FAIL Fulfillment value of ws.write() call must be undefined even if the underlying sink returns a non-undefined ovalue Can't find variable: WritableStream
</del><ins>+FAIL error argument is given to start method WritableStream constructor not implemented
+FAIL Underlying sink's write won't be called until start finishes WritableStream constructor not implemented
+FAIL Underlying sink's close won't be called until start finishes WritableStream constructor not implemented
+FAIL Fulfillment value of ws.close() call must be undefined even if the underlying sink returns a non-undefined value WritableStream constructor not implemented
+FAIL Underlying sink's write or close are never invoked if start throws assert_equals: expected object &quot;Error: horrible things&quot; but got object &quot;EvalError: WritableStream constructor not implemented&quot;
+FAIL Underlying sink's write or close are never invoked if the promise returned by start is rejected WritableStream constructor not implemented
+FAIL WritableStream can be constructed with no arguments WritableStream constructor not implemented
+FAIL WritableStream instances have the correct methods and properties WritableStream constructor not implemented
+FAIL WritableStream with simple input, processed asynchronously WritableStream constructor not implemented
+FAIL WritableStream with simple input, processed synchronously WritableStream constructor not implemented
+FAIL WritableStream is writable and ready fulfills immediately if the strategy does not apply backpressure WritableStream constructor not implemented
+FAIL Fulfillment value of ws.write() call must be undefined even if the underlying sink returns a non-undefined ovalue WritableStream constructor not implemented
</ins><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreCMakeListstxt"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/CMakeLists.txt (191282 => 191283)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/CMakeLists.txt        2015-10-19 09:13:43 UTC (rev 191282)
+++ trunk/Source/WebCore/CMakeLists.txt        2015-10-19 09:46:01 UTC (rev 191283)
</span><span class="lines">@@ -281,6 +281,7 @@
</span><span class="cx">     Modules/streams/ReadableStream.idl
</span><span class="cx">     Modules/streams/ReadableStreamController.idl
</span><span class="cx">     Modules/streams/ReadableStreamReader.idl
</span><ins>+    Modules/streams/WritableStream.idl
</ins><span class="cx"> 
</span><span class="cx">     Modules/vibration/NavigatorVibration.idl
</span><span class="cx"> 
</span><span class="lines">@@ -3368,6 +3369,7 @@
</span><span class="cx">     ${WEBCORE_DIR}/Modules/streams/ReadableStreamController.js
</span><span class="cx">     ${WEBCORE_DIR}/Modules/streams/ReadableStreamInternals.js
</span><span class="cx">     ${WEBCORE_DIR}/Modules/streams/ReadableStreamReader.js
</span><ins>+    ${WEBCORE_DIR}/Modules/streams/WritableStream.js
</ins><span class="cx"> )
</span><span class="cx"> 
</span><span class="cx"> WEBKIT_INCLUDE_CONFIG_FILES_IF_EXISTS()
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (191282 => 191283)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2015-10-19 09:13:43 UTC (rev 191282)
+++ trunk/Source/WebCore/ChangeLog        2015-10-19 09:46:01 UTC (rev 191283)
</span><span class="lines">@@ -1,3 +1,36 @@
</span><ins>+2015-10-19  Xabier Rodriguez Calvar  &lt;calvaris@igalia.com&gt;
+
+        [Streams API] Add skeleton for initial WritableStream support
+        https://bugs.webkit.org/show_bug.cgi?id=149951
+
+        Reviewed by Darin Adler.
+
+        This basically adds an empty WritableStream object without initializing the object. It also adds all empty
+        methods by raising an exception.
+
+        The reason why the object is not fully initialized is that it requires some other support and some refactorings
+        to share more code with ReadableStream and we will make in following patches.
+
+        Tests are covered by current set and their expectations are properly updated.
+
+        * CMakeLists.txt:
+        * DerivedSources.cpp:
+        * DerivedSources.make:
+        * WebCore.vcxproj/WebCore.vcxproj:
+        * WebCore.vcxproj/WebCore.vcxproj.filters:
+        * WebCore.xcodeproj/project.pbxproj:
+        * bindings/js/WebCoreJSBuiltins.cpp:
+        * bindings/js/WebCoreJSBuiltins.h: Build infrastructure.
+        * Modules/streams/WritableStream.idl: Added all methods and attributes.
+        * Modules/streams/WritableStream.js:
+        (initializeWritableStream):
+        (abort):
+        (close):
+        (write):
+        (closed):
+        (ready):
+        (state): Added all by throwing an EvalError.
+
</ins><span class="cx"> 2015-10-18  Chris Dumez  &lt;cdumez@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Script element with an empty for or event attributes should not execute
</span></span></pre></div>
<a id="trunkSourceWebCoreDerivedSourcescpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/DerivedSources.cpp (191282 => 191283)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/DerivedSources.cpp        2015-10-19 09:13:43 UTC (rev 191282)
+++ trunk/Source/WebCore/DerivedSources.cpp        2015-10-19 09:46:01 UTC (rev 191283)
</span><span class="lines">@@ -311,6 +311,7 @@
</span><span class="cx"> #include &quot;JSReadableStream.cpp&quot;
</span><span class="cx"> #include &quot;JSReadableStreamController.cpp&quot;
</span><span class="cx"> #include &quot;JSReadableStreamReader.cpp&quot;
</span><ins>+#include &quot;JSWritableStream.cpp&quot;
</ins><span class="cx"> #endif
</span><span class="cx"> #include &quot;JSRect.cpp&quot;
</span><span class="cx"> #include &quot;JSRequestAnimationFrameCallback.cpp&quot;
</span></span></pre></div>
<a id="trunkSourceWebCoreDerivedSourcesmake"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/DerivedSources.make (191282 => 191283)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/DerivedSources.make        2015-10-19 09:13:43 UTC (rev 191282)
+++ trunk/Source/WebCore/DerivedSources.make        2015-10-19 09:46:01 UTC (rev 191283)
</span><span class="lines">@@ -179,6 +179,7 @@
</span><span class="cx">     $(WebCore)/Modules/streams/ReadableStream.idl \
</span><span class="cx">     $(WebCore)/Modules/streams/ReadableStreamController.idl \
</span><span class="cx">     $(WebCore)/Modules/streams/ReadableStreamReader.idl \
</span><ins>+    $(WebCore)/Modules/streams/WritableStream.idl \
</ins><span class="cx">     $(WebCore)/Modules/webaudio/AudioBuffer.idl \
</span><span class="cx">     $(WebCore)/Modules/webaudio/AudioBufferCallback.idl \
</span><span class="cx">     $(WebCore)/Modules/webaudio/AudioBufferSourceNode.idl \
</span><span class="lines">@@ -1260,6 +1261,7 @@
</span><span class="cx">     $(WebCore)/Modules/streams/ReadableStreamController.js \
</span><span class="cx">     $(WebCore)/Modules/streams/ReadableStreamInternals.js \
</span><span class="cx">     $(WebCore)/Modules/streams/ReadableStreamReader.js \
</span><ins>+    $(WebCore)/Modules/streams/WritableStream.js \
</ins><span class="cx"> #
</span><span class="cx"> 
</span><span class="cx"> all : $(WEBCORE_JS_BUILTINS:%.js=%Builtins.cpp)
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesstreamsWritableStreamidl"></a>
<div class="addfile"><h4>Added: trunk/Source/WebCore/Modules/streams/WritableStream.idl (0 => 191283)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/streams/WritableStream.idl                                (rev 0)
+++ trunk/Source/WebCore/Modules/streams/WritableStream.idl        2015-10-19 09:46:01 UTC (rev 191283)
</span><span class="lines">@@ -0,0 +1,41 @@
</span><ins>+/*
+ * Copyright (C) 2015 Canon Inc.
+ * Copyright (C) 2015 Igalia S.L.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted, provided that the following conditions
+ * are required to be 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.
+ * 3.  Neither the name of Canon Inc. nor the names of
+ *     its contributors may be used to endorse or promote products derived
+ *     from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY CANON INC. AND ITS CONTRIBUTORS &quot;AS IS&quot; 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 CANON INC. AND 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.
+ */
+
+[
+    Conditional=STREAMS_API,
+    JSBuiltinConstructor
+] interface WritableStream { 
+    [JSBuiltin] Promise abort([Default=Undefined] optional any reason);
+    [JSBuiltin] Promise close();
+    [JSBuiltin] Promise write(any chunk);
+
+    [JSBuiltin] readonly attribute Promise closed;
+    [JSBuiltin] readonly attribute Promise ready;
+    [JSBuiltin] readonly attribute DOMString state;
+};
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesstreamsWritableStreamjs"></a>
<div class="addfile"><h4>Added: trunk/Source/WebCore/Modules/streams/WritableStream.js (0 => 191283)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/streams/WritableStream.js                                (rev 0)
+++ trunk/Source/WebCore/Modules/streams/WritableStream.js        2015-10-19 09:46:01 UTC (rev 191283)
</span><span class="lines">@@ -0,0 +1,78 @@
</span><ins>+/*
+ * Copyright (C) 2015 Canon Inc.
+ * Copyright (C) 2015 Igalia
+ *
+ * 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. ``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
+ * 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.
+ */
+
+// @optional=STREAMS_API
+
+function initializeWritableStream(underlyingSink, strategy)
+{
+    &quot;use strict&quot;;
+
+    throw new EvalError(&quot;WritableStream constructor not implemented&quot;);
+
+    return this;
+}
+
+function abort(reason)
+{
+    &quot;use strict&quot;;
+
+    throw new EvalError(&quot;abort not implemented&quot;);
+}
+
+function close()
+{
+    &quot;use strict&quot;;
+
+    throw new EvalError(&quot;close not implemented&quot;);
+}
+
+function write(chunk)
+{
+    &quot;use strict&quot;;
+
+    throw new EvalError(&quot;write not implemented&quot;);
+}
+
+function closed()
+{
+    &quot;use strict&quot;;
+
+    throw new EvalError(&quot;closed not implemented&quot;);
+}
+
+function ready()
+{
+    &quot;use strict&quot;;
+
+    throw new EvalError(&quot;ready not implemented&quot;);
+}
+
+function state()
+{
+    &quot;use strict&quot;;
+
+    throw new EvalError(&quot;state not implemented&quot;);
+}
</ins></span></pre></div>
<a id="trunkSourceWebCoreWebCorevcxprojWebCorevcxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj (191282 => 191283)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj        2015-10-19 09:13:43 UTC (rev 191282)
+++ trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj        2015-10-19 09:46:01 UTC (rev 191283)
</span><span class="lines">@@ -4002,6 +4002,20 @@
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><ins>+    &lt;ClCompile Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSWritableStream.cpp&quot;&gt;
+      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
+      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
+      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
+      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
+      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
+      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='DebugSuffix|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
+      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Release|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
+      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Release|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
+      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
+      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
+      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
+      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
+    &lt;/ClCompile&gt;
</ins><span class="cx">     &lt;ClCompile Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSRect.cpp&quot;&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="lines">@@ -20091,6 +20105,7 @@
</span><span class="cx">     &lt;ClInclude Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSReadableStream.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSReadableStreamController.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSReadableStreamReader.h&quot; /&gt;
</span><ins>+    &lt;ClInclude Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSWritableStream.h&quot; /&gt;
</ins><span class="cx">     &lt;ClInclude Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSRect.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSRequestAnimationFrameCallback.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSRGBColor.h&quot; /&gt;
</span></span></pre></div>
<a id="trunkSourceWebCoreWebCorevcxprojWebCorevcxprojfilters"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters (191282 => 191283)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters        2015-10-19 09:13:43 UTC (rev 191282)
+++ trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters        2015-10-19 09:46:01 UTC (rev 191283)
</span><span class="lines">@@ -5691,6 +5691,9 @@
</span><span class="cx">     &lt;ClCompile Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSReadableStreamReader.cpp&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;DerivedSources&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><ins>+    &lt;ClCompile Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSWritableStream.cpp&quot;&gt;
+      &lt;Filter&gt;DerivedSources&lt;/Filter&gt;
+    &lt;/ClCompile&gt;
</ins><span class="cx">     &lt;ClCompile Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSRect.cpp&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;DerivedSources&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><span class="lines">@@ -13668,6 +13671,9 @@
</span><span class="cx">     &lt;ClInclude Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSReadableStreamReader.h&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;DerivedSources&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClInclude&gt;
</span><ins>+    &lt;ClInclude Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSWritableStream.h&quot;&gt;
+      &lt;Filter&gt;DerivedSources&lt;/Filter&gt;
+    &lt;/ClInclude&gt;
</ins><span class="cx">     &lt;ClInclude Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSXMLHttpRequest.h&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;DerivedSources&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClInclude&gt;
</span></span></pre></div>
<a id="trunkSourceWebCoreWebCorexcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (191282 => 191283)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2015-10-19 09:13:43 UTC (rev 191282)
+++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2015-10-19 09:46:01 UTC (rev 191283)
</span><span class="lines">@@ -1514,6 +1514,7 @@
</span><span class="cx">                 416E6FE81BBD12DF000A6043 /* ReadableStreamInternalsBuiltins.h in Headers */ = {isa = PBXBuildFile; fileRef = 9B03D8061BB3110D00B764D9 /* ReadableStreamInternalsBuiltins.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 416E6FE91BBD12E5000A6043 /* ReadableStreamBuiltins.h in Headers */ = {isa = PBXBuildFile; fileRef = 9B03D8061BB3110D00B764D8 /* ReadableStreamBuiltins.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 416E6FEA1BBD1684000A6044 /* ReadableStreamInternalsBuiltinsWrapper.h in Headers */ = {isa = PBXBuildFile; fileRef = 9B03D8071BB3110D00B764DA /* ReadableStreamInternalsBuiltinsWrapper.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><ins>+                416E6FE91BBD12E5000A6053 /* WritableStreamBuiltins.h in Headers */ = {isa = PBXBuildFile; fileRef = 9B03D8061BB3110D00B764E8 /* WritableStreamBuiltins.h */; settings = {ATTRIBUTES = (Private, ); }; };
</ins><span class="cx">                 417253AA1354BBBC00360F2A /* MediaControlElements.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 417253A81354BBBC00360F2A /* MediaControlElements.cpp */; };
</span><span class="cx">                 417253AB1354BBBC00360F2A /* MediaControlElements.h in Headers */ = {isa = PBXBuildFile; fileRef = 417253A91354BBBC00360F2A /* MediaControlElements.h */; };
</span><span class="cx">                 417DA6D913734E6E007C57FB /* Internals.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 417DA4CF13734326007C57FB /* Internals.cpp */; };
</span><span class="lines">@@ -2655,6 +2656,8 @@
</span><span class="cx">                 7C4C96DD1AD4483500365A50 /* JSReadableStream.h in Headers */ = {isa = PBXBuildFile; fileRef = 7C4C96D91AD4483500365A50 /* JSReadableStream.h */; };
</span><span class="cx">                 7C4C96DE1AD4483500365A50 /* JSReadableStreamReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7C4C96DA1AD4483500365A50 /* JSReadableStreamReader.cpp */; };
</span><span class="cx">                 7C4C96DF1AD4483500365A50 /* JSReadableStreamReader.h in Headers */ = {isa = PBXBuildFile; fileRef = 7C4C96DB1AD4483500365A50 /* JSReadableStreamReader.h */; };
</span><ins>+                7C4C96DC1AD4483500365A60 /* JSWritableStream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7C4C96D81AD4483500365A60 /* JSWritableStream.cpp */; };
+                7C4C96DD1AD4483500365A60 /* JSWritableStream.h in Headers */ = {isa = PBXBuildFile; fileRef = 7C4C96D91AD4483500365A60 /* JSWritableStream.h */; };
</ins><span class="cx">                 7C4C96E31AD44ABF00365A50 /* LaunchServicesSPI.h in Headers */ = {isa = PBXBuildFile; fileRef = 7C4C96E21AD44ABF00365A50 /* LaunchServicesSPI.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 7C4EDD741A7B607800198C4D /* FontCocoa.mm in Sources */ = {isa = PBXBuildFile; fileRef = 7C4EDD731A7B607800198C4D /* FontCocoa.mm */; };
</span><span class="cx">                 7C522D4B15B477E8009B7C95 /* InspectorOverlay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7C522D4915B477E8009B7C95 /* InspectorOverlay.cpp */; };
</span><span class="lines">@@ -8849,6 +8852,7 @@
</span><span class="cx">                 419BE7551BC7F3DB00E1C85B /* WebCoreJSBuiltins.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebCoreJSBuiltins.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 419FAFAD1ABABCD5005B828B /* ReadableStreamReader.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = ReadableStreamReader.idl; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 41A023ED1A39DB7900F722CF /* ReadableStream.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = ReadableStream.idl; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><ins>+                41A023ED1A39DB7900F722DF /* WritableStream.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WritableStream.idl; sourceTree = &quot;&lt;group&gt;&quot;; };
</ins><span class="cx">                 41A3D58C101C152D00316D07 /* DedicatedWorkerThread.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DedicatedWorkerThread.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 41A3D58D101C152D00316D07 /* DedicatedWorkerThread.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DedicatedWorkerThread.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 41BF700A0FE86F49005E8DEC /* MessagePortChannel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MessagePortChannel.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -10107,6 +10111,8 @@
</span><span class="cx">                 7C4C96D91AD4483500365A50 /* JSReadableStream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSReadableStream.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 7C4C96DA1AD4483500365A50 /* JSReadableStreamReader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSReadableStreamReader.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 7C4C96DB1AD4483500365A50 /* JSReadableStreamReader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSReadableStreamReader.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><ins>+                7C4C96D81AD4483500365A60 /* JSWritableStream.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSWritableStream.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
+                7C4C96D91AD4483500365A60 /* JSWritableStream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSWritableStream.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</ins><span class="cx">                 7C4C96E21AD44ABF00365A50 /* LaunchServicesSPI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LaunchServicesSPI.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 7C4EDD731A7B607800198C4D /* FontCocoa.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = FontCocoa.mm; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 7C522D4915B477E8009B7C95 /* InspectorOverlay.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InspectorOverlay.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -11350,6 +11356,7 @@
</span><span class="cx">                 9908B0F01BCACF9100ED0F65 /* ReadableStreamController.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = ReadableStreamController.js; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 9908B0F11BCACF9100ED0F65 /* ReadableStreamInternals.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = ReadableStreamInternals.js; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 9908B0F21BCACF9100ED0F65 /* ReadableStreamReader.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = ReadableStreamReader.js; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><ins>+                9908B0EF1BCACF9100ED0F75 /* WritableStream.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = WritableStream.js; sourceTree = &quot;&lt;group&gt;&quot;; };
</ins><span class="cx">                 9908B0F31BCACFFE00ED0F65 /* ByteLengthQueuingStrategyBuiltins.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ByteLengthQueuingStrategyBuiltins.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 9908B0F41BCACFFE00ED0F65 /* ByteLengthQueuingStrategyBuiltinsWrapper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ByteLengthQueuingStrategyBuiltinsWrapper.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 9908B0F51BCAD07D00ED0F65 /* ByteLengthQueuingStrategyBuiltins.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ByteLengthQueuingStrategyBuiltins.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -11364,6 +11371,7 @@
</span><span class="cx">                 9908B0FE1BCAD07D00ED0F65 /* ReadableStreamReaderBuiltins.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ReadableStreamReaderBuiltins.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 9908B0FF1BCAD07D00ED0F65 /* ReadableStreamReaderBuiltins.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ReadableStreamReaderBuiltins.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 9908B1001BCAD07D00ED0F65 /* ReadableStreamReaderBuiltinsWrapper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ReadableStreamReaderBuiltinsWrapper.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><ins>+                9908B0F91BCAD07D00ED0F75 /* WritableStreamBuiltins.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WritableStreamBuiltins.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</ins><span class="cx">                 9920398018B95BC600B39AF9 /* UserInputBridge.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = UserInputBridge.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 9920398118B95BC600B39AF9 /* UserInputBridge.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UserInputBridge.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 99C7CCB218C663E40032E413 /* MemoizedDOMResult.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MemoizedDOMResult.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -11404,6 +11412,8 @@
</span><span class="cx">                 9B03D8061BB3110D00B764D9 /* ReadableStreamInternalsBuiltins.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ReadableStreamInternalsBuiltins.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 9B03D8071BB3110D00B764D8 /* ReadableStreamBuiltinsWrapper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ReadableStreamBuiltinsWrapper.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 9B03D8071BB3110D00B764DA /* ReadableStreamInternalsBuiltinsWrapper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ReadableStreamInternalsBuiltinsWrapper.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><ins>+                9B03D8061BB3110D00B764E8 /* WritableStreamBuiltins.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WritableStreamBuiltins.h; sourceTree = &quot;&lt;group&gt;&quot;; };
+                9B03D8071BB3110D00B764E8 /* WritableStreamBuiltinsWrapper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WritableStreamBuiltinsWrapper.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</ins><span class="cx">                 9B19B67E1B964E5200348745 /* ShadowRoot.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = ShadowRoot.idl; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 9B1AB0791648C69D0051F3F2 /* HTMLFormControlsCollection.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = HTMLFormControlsCollection.idl; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 9B1AB07B1648C7C40051F3F2 /* JSHTMLFormControlsCollectionCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSHTMLFormControlsCollectionCustom.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -16366,6 +16376,9 @@
</span><span class="cx">                                 4129DF821BB5B7A600322A16 /* ReadableStreamReader.h */,
</span><span class="cx">                                 419FAFAD1ABABCD5005B828B /* ReadableStreamReader.idl */,
</span><span class="cx">                                 9908B0F21BCACF9100ED0F65 /* ReadableStreamReader.js */,
</span><ins>+                                41A023ED1A39DB7900F722DF /* WritableStream.idl */,
+                                9908B0EF1BCACF9100ED0F75 /* WritableStream.js */,
+
</ins><span class="cx">                         );
</span><span class="cx">                         path = streams;
</span><span class="cx">                         sourceTree = &quot;&lt;group&gt;&quot;;
</span><span class="lines">@@ -16379,6 +16392,8 @@
</span><span class="cx">                                 6C4C96DB1AD4483500365A50 /* JSReadableStreamController.h */,
</span><span class="cx">                                 7C4C96DA1AD4483500365A50 /* JSReadableStreamReader.cpp */,
</span><span class="cx">                                 7C4C96DB1AD4483500365A50 /* JSReadableStreamReader.h */,
</span><ins>+                                7C4C96D81AD4483500365A60 /* JSWritableStream.cpp */,
+                                7C4C96D91AD4483500365A60 /* JSWritableStream.h */,
</ins><span class="cx">                         );
</span><span class="cx">                         name = Streams;
</span><span class="cx">                         sourceTree = &quot;&lt;group&gt;&quot;;
</span><span class="lines">@@ -17216,6 +17231,9 @@
</span><span class="cx">                                 1A1414B413A0F0500019996C /* WebKitFontFamilyNames.h */,
</span><span class="cx">                                 99CC0B6818BEA1FF006CEBCC /* WebReplayInputs.cpp */,
</span><span class="cx">                                 99CC0B6918BEA1FF006CEBCC /* WebReplayInputs.h */,
</span><ins>+                                9B03D8061BB3110D00B764E8 /* WritableStreamBuiltins.h */,
+                                9B03D8071BB3110D00B764E8 /* WritableStreamBuiltinsWrapper.h */,
+                                9908B0F91BCAD07D00ED0F75 /* WritableStreamBuiltins.cpp */,
</ins><span class="cx">                                 656581EA09D1508D000E61D7 /* XLinkNames.cpp */,
</span><span class="cx">                                 656581EB09D1508D000E61D7 /* XLinkNames.h */,
</span><span class="cx">                                 A833C80A0A2CF25600D57664 /* XMLNames.cpp */,
</span><span class="lines">@@ -26366,6 +26384,7 @@
</span><span class="cx">                                 E1C36D350EB0A094007410BC /* JSWorkerGlobalScopeBase.h in Headers */,
</span><span class="cx">                                 E1C362EF0EAF2AA9007410BC /* JSWorkerLocation.h in Headers */,
</span><span class="cx">                                 E1271A580EEECDE400F61213 /* JSWorkerNavigator.h in Headers */,
</span><ins>+                                7C4C96DD1AD4483500365A60 /* JSWritableStream.h in Headers */,
</ins><span class="cx">                                 BC348BD40DB7F804004ABAB9 /* JSXMLHttpRequest.h in Headers */,
</span><span class="cx">                                 BC60DA3A0D2A302800B9918F /* JSXMLHttpRequestException.h in Headers */,
</span><span class="cx">                                 F916C48E0DB510F80076CD83 /* JSXMLHttpRequestProgressEvent.h in Headers */,
</span><span class="lines">@@ -27937,6 +27956,7 @@
</span><span class="cx">                                 0B9056F90F2685F30095FF6A /* WorkerThreadableLoader.h in Headers */,
</span><span class="cx">                                 97AABD2D14FA09D5007457AE /* WorkerThreadableWebSocketChannel.h in Headers */,
</span><span class="cx">                                 93309E24099E64920056E581 /* WrapContentsInDummySpanCommand.h in Headers */,
</span><ins>+                                416E6FE91BBD12E5000A6053 /* WritableStreamBuiltins.h in Headers */,
</ins><span class="cx">                                 9BAF3B2412C1A39800014BF1 /* WritingDirection.h in Headers */,
</span><span class="cx">                                 14476AA815DC4BB100305DB2 /* WritingMode.h in Headers */,
</span><span class="cx">                                 6565820209D1508D000E61D7 /* XLinkNames.h in Headers */,
</span><span class="lines">@@ -30052,6 +30072,7 @@
</span><span class="cx">                                 E18258AC0EF3CD7000933242 /* JSWorkerGlobalScopeCustom.cpp in Sources */,
</span><span class="cx">                                 E1C362F00EAF2AA9007410BC /* JSWorkerLocation.cpp in Sources */,
</span><span class="cx">                                 E1271A590EEECDE400F61213 /* JSWorkerNavigator.cpp in Sources */,
</span><ins>+                                7C4C96DC1AD4483500365A60 /* JSWritableStream.cpp in Sources */,
</ins><span class="cx">                                 BC348BD30DB7F804004ABAB9 /* JSXMLHttpRequest.cpp in Sources */,
</span><span class="cx">                                 BC348BBE0DB7F531004ABAB9 /* JSXMLHttpRequestCustom.cpp in Sources */,
</span><span class="cx">                                 BC60DA390D2A302800B9918F /* JSXMLHttpRequestException.cpp in Sources */,
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsWebCoreJSBuiltinscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/WebCoreJSBuiltins.cpp (191282 => 191283)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/WebCoreJSBuiltins.cpp        2015-10-19 09:13:43 UTC (rev 191282)
+++ trunk/Source/WebCore/bindings/js/WebCoreJSBuiltins.cpp        2015-10-19 09:46:01 UTC (rev 191283)
</span><span class="lines">@@ -33,4 +33,5 @@
</span><span class="cx"> #include &quot;ReadableStreamControllerBuiltins.cpp&quot;
</span><span class="cx"> #include &quot;ReadableStreamInternalsBuiltins.cpp&quot;
</span><span class="cx"> #include &quot;ReadableStreamReaderBuiltins.cpp&quot;
</span><ins>+#include &quot;WritableStreamBuiltins.cpp&quot;
</ins><span class="cx"> #endif
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsWebCoreJSBuiltinsh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/WebCoreJSBuiltins.h (191282 => 191283)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/WebCoreJSBuiltins.h        2015-10-19 09:13:43 UTC (rev 191282)
+++ trunk/Source/WebCore/bindings/js/WebCoreJSBuiltins.h        2015-10-19 09:46:01 UTC (rev 191283)
</span><span class="lines">@@ -34,6 +34,7 @@
</span><span class="cx"> #include &quot;ReadableStreamControllerBuiltinsWrapper.h&quot;
</span><span class="cx"> #include &quot;ReadableStreamInternalsBuiltinsWrapper.h&quot;
</span><span class="cx"> #include &quot;ReadableStreamReaderBuiltinsWrapper.h&quot;
</span><ins>+#include &quot;WritableStreamBuiltinsWrapper.h&quot;
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="lines">@@ -52,6 +53,7 @@
</span><span class="cx">         , m_readableStreamControllerBuiltins(&amp;vm)
</span><span class="cx">         , m_readableStreamInternalsBuiltins(&amp;vm)
</span><span class="cx">         , m_readableStreamReaderBuiltins(&amp;vm)
</span><ins>+        , m_writableStreamBuiltins(&amp;vm)
</ins><span class="cx"> #endif
</span><span class="cx">     {
</span><span class="cx"> #if ENABLE(STREAMS_API)
</span><span class="lines">@@ -59,12 +61,13 @@
</span><span class="cx"> #endif
</span><span class="cx">     }
</span><span class="cx"> #if ENABLE(STREAMS_API)
</span><del>-    ByteLengthQueuingStrategyBuiltinsWrapper&amp; byteLengthQueuingStrategyBuiltins() { return m_byteLengthQueuingStrategyBuiltins;}
-    CountQueuingStrategyBuiltinsWrapper&amp; countQueuingStrategyBuiltins() { return m_countQueuingStrategyBuiltins;}
-    ReadableStreamBuiltinsWrapper&amp; readableStreamBuiltins() { return m_readableStreamBuiltins;}
-    ReadableStreamControllerBuiltinsWrapper&amp; readableStreamControllerBuiltins() { return m_readableStreamControllerBuiltins;}
-    ReadableStreamInternalsBuiltinsWrapper&amp; readableStreamInternalsBuiltins() { return m_readableStreamInternalsBuiltins;}
-    ReadableStreamReaderBuiltinsWrapper&amp; readableStreamReaderBuiltins() { return m_readableStreamReaderBuiltins;}
</del><ins>+    ByteLengthQueuingStrategyBuiltinsWrapper&amp; byteLengthQueuingStrategyBuiltins() { return m_byteLengthQueuingStrategyBuiltins; }
+    CountQueuingStrategyBuiltinsWrapper&amp; countQueuingStrategyBuiltins() { return m_countQueuingStrategyBuiltins; }
+    ReadableStreamBuiltinsWrapper&amp; readableStreamBuiltins() { return m_readableStreamBuiltins; }
+    ReadableStreamControllerBuiltinsWrapper&amp; readableStreamControllerBuiltins() { return m_readableStreamControllerBuiltins; }
+    ReadableStreamInternalsBuiltinsWrapper&amp; readableStreamInternalsBuiltins() { return m_readableStreamInternalsBuiltins; }
+    ReadableStreamReaderBuiltinsWrapper&amp; readableStreamReaderBuiltins() { return m_readableStreamReaderBuiltins; }
+    WritableStreamBuiltinsWrapper&amp; writableStreamBuiltins() { return m_writableStreamBuiltins; }
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> private:
</span><span class="lines">@@ -76,6 +79,7 @@
</span><span class="cx">     ReadableStreamControllerBuiltinsWrapper m_readableStreamControllerBuiltins;
</span><span class="cx">     ReadableStreamInternalsBuiltinsWrapper m_readableStreamInternalsBuiltins;
</span><span class="cx">     ReadableStreamReaderBuiltinsWrapper m_readableStreamReaderBuiltins;
</span><ins>+    WritableStreamBuiltinsWrapper m_writableStreamBuiltins;
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebInspectorUIChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/ChangeLog (191282 => 191283)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/ChangeLog        2015-10-19 09:13:43 UTC (rev 191282)
+++ trunk/Source/WebInspectorUI/ChangeLog        2015-10-19 09:46:01 UTC (rev 191283)
</span><span class="lines">@@ -1,3 +1,12 @@
</span><ins>+2015-10-19  Xabier Rodriguez Calvar  &lt;calvaris@igalia.com&gt;
+
+        [Streams API] Add skeleton for initial WritableStream support
+        https://bugs.webkit.org/show_bug.cgi?id=149951
+
+        Reviewed by Darin Adler.
+
+        * UserInterface/Models/NativeFunctionParameters.js: Added support for WritableStream.
+
</ins><span class="cx"> 2015-10-19  James Craig  &lt;jcraig@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Web Inspector: AX: console list 'input'/'output' markers are not perceivable
</span></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceModelsNativeFunctionParametersjs"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/UserInterface/Models/NativeFunctionParameters.js (191282 => 191283)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Models/NativeFunctionParameters.js        2015-10-19 09:13:43 UTC (rev 191282)
+++ trunk/Source/WebInspectorUI/UserInterface/Models/NativeFunctionParameters.js        2015-10-19 09:46:01 UTC (rev 191283)
</span><span class="lines">@@ -1262,6 +1262,13 @@
</span><span class="cx">         __proto__: null,
</span><span class="cx">     },
</span><span class="cx"> 
</span><ins>+    WritableStream: {
+        abort: &quot;reason&quot;,
+        close: &quot;&quot;,
+        write: &quot;chunk&quot;,
+        __proto__: null,
+    },
+
</ins><span class="cx">     RequestAnimationFrameCallback: {
</span><span class="cx">         handleEvent: &quot;highResTime&quot;,
</span><span class="cx">         __proto__: null,
</span></span></pre>
</div>
</div>

</body>
</html>