<!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>[212656] 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/212656">212656</a></dd>
<dt>Author</dt> <dd>commit-queue@webkit.org</dd>
<dt>Date</dt> <dd>2017-02-20 10:18:06 -0800 (Mon, 20 Feb 2017)</dd>
</dl>
<h3>Log Message</h3>
<pre>[Readable Streams API] Add ReadableByteStreamController byobRequest attribute
https://bugs.webkit.org/show_bug.cgi?id=168319
Patch by Romain Bellessort <romain.bellessort@crf.canon.fr> on 2017-02-20
Reviewed by Youenn Fablet.
LayoutTests/imported/w3c:
Updated expectations for imported w3c tests (new type of error is now obtained).
* web-platform-tests/streams/readable-byte-streams/general-expected.txt: Updated.
* web-platform-tests/streams/readable-byte-streams/general.dedicatedworker-expected.txt: Updated.
Source/WebCore:
Added ReadableByteStreamController byobRequest attribute.
Added tests related to ReadableStreamBYOBRequest as a dedicated object
and also as an attribute of ReadableByteStreamController.
* CMakeLists.txt: Added new files.
* DerivedSources.cpp: Added new files.
* DerivedSources.make: Added new files.
* Modules/streams/ReadableByteStreamController.idl: Added byobRequest support.
* Modules/streams/ReadableByteStreamController.js: Added byobRequest support.
* Modules/streams/ReadableByteStreamInternals.js:
(privateInitializeReadableStreamBYOBRequest): Added constructor.
* Modules/streams/ReadableStreamBYOBRequest.idl: Added.
* Modules/streams/ReadableStreamBYOBRequest.js: Added.
(respond): Not implemented yet.
(respondWithNewView): Not implemented yet.
(view): Not implemented yet.
* WebCore.xcodeproj/project.pbxproj: Added new files.
* bindings/js/JSDOMGlobalObject.cpp: Added ReadableStreamBYOBRequest support.
(WebCore::JSDOMGlobalObject::addBuiltinGlobals):
(WebCore::JSDOMGlobalObject::finishCreation):
(WebCore::JSDOMGlobalObject::visitChildren):
* bindings/js/JSReadableStreamPrivateConstructors.cpp: Added ReadableStreamBYOBRequest support.
(WebCore::constructJSReadableByteStreamController):
(WebCore::constructJSReadableStreamBYOBRequest):
(WebCore::JSBuiltinReadableStreamBYOBRequestPrivateConstructor::initializeExecutable):
(WebCore::createReadableStreamBYOBRequestPrivateConstructor):
* bindings/js/JSReadableStreamPrivateConstructors.h: Added ReadableStreamBYOBRequest support.
* bindings/js/WebCoreBuiltinNames.h: Added ReadableStreamBYOBRequest support.
LayoutTests:
Added tests related to ReadableStreamBYOBRequest as a dedicated object
and also as an attribute of ReadableByteStreamController.
* streams/readable-byte-stream-controller.js: Updated with byobRequest attribute test.
* streams/readable-stream-byob-request-expected.txt: Added.
* streams/readable-stream-byob-request.html: Added.
* streams/readable-stream-byob-request.js: Added to cover tests related to ReadableStreamBYOBRequest.</pre>
<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsChangeLog">trunk/LayoutTests/ChangeLog</a></li>
<li><a href="#trunkLayoutTestsimportedw3cChangeLog">trunk/LayoutTests/imported/w3c/ChangeLog</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsstreamsreadablebytestreamsgeneralexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/streams/readable-byte-streams/general-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsstreamsreadablebytestreamsgeneraldedicatedworkerexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/streams/readable-byte-streams/general.dedicatedworker-expected.txt</a></li>
<li><a href="#trunkLayoutTestsstreamsreadablebytestreamcontrollerjs">trunk/LayoutTests/streams/readable-byte-stream-controller.js</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="#trunkSourceWebCoreModulesstreamsReadableByteStreamControlleridl">trunk/Source/WebCore/Modules/streams/ReadableByteStreamController.idl</a></li>
<li><a href="#trunkSourceWebCoreModulesstreamsReadableByteStreamControllerjs">trunk/Source/WebCore/Modules/streams/ReadableByteStreamController.js</a></li>
<li><a href="#trunkSourceWebCoreModulesstreamsReadableByteStreamInternalsjs">trunk/Source/WebCore/Modules/streams/ReadableByteStreamInternals.js</a></li>
<li><a href="#trunkSourceWebCoreWebCorexcodeprojprojectpbxproj">trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSDOMGlobalObjectcpp">trunk/Source/WebCore/bindings/js/JSDOMGlobalObject.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSReadableStreamPrivateConstructorscpp">trunk/Source/WebCore/bindings/js/JSReadableStreamPrivateConstructors.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSReadableStreamPrivateConstructorsh">trunk/Source/WebCore/bindings/js/JSReadableStreamPrivateConstructors.h</a></li>
<li><a href="#trunkSourceWebCorebindingsjsWebCoreBuiltinNamesh">trunk/Source/WebCore/bindings/js/WebCoreBuiltinNames.h</a></li>
</ul>
<h3>Added Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsstreamsreadablestreambyobrequestexpectedtxt">trunk/LayoutTests/streams/readable-stream-byob-request-expected.txt</a></li>
<li><a href="#trunkLayoutTestsstreamsreadablestreambyobrequesthtml">trunk/LayoutTests/streams/readable-stream-byob-request.html</a></li>
<li><a href="#trunkLayoutTestsstreamsreadablestreambyobrequestjs">trunk/LayoutTests/streams/readable-stream-byob-request.js</a></li>
<li><a href="#trunkSourceWebCoreModulesstreamsReadableStreamBYOBRequestidl">trunk/Source/WebCore/Modules/streams/ReadableStreamBYOBRequest.idl</a></li>
<li><a href="#trunkSourceWebCoreModulesstreamsReadableStreamBYOBRequestjs">trunk/Source/WebCore/Modules/streams/ReadableStreamBYOBRequest.js</a></li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkLayoutTestsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/ChangeLog (212655 => 212656)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/ChangeLog        2017-02-20 18:16:46 UTC (rev 212655)
+++ trunk/LayoutTests/ChangeLog        2017-02-20 18:18:06 UTC (rev 212656)
</span><span class="lines">@@ -1,3 +1,18 @@
</span><ins>+2017-02-20 Romain Bellessort <romain.bellessort@crf.canon.fr>
+
+ [Readable Streams API] Add ReadableByteStreamController byobRequest attribute
+ https://bugs.webkit.org/show_bug.cgi?id=168319
+
+ Reviewed by Youenn Fablet.
+
+ Added tests related to ReadableStreamBYOBRequest as a dedicated object
+ and also as an attribute of ReadableByteStreamController.
+
+ * streams/readable-byte-stream-controller.js: Updated with byobRequest attribute test.
+ * streams/readable-stream-byob-request-expected.txt: Added.
+ * streams/readable-stream-byob-request.html: Added.
+ * streams/readable-stream-byob-request.js: Added to cover tests related to ReadableStreamBYOBRequest.
+
</ins><span class="cx"> 2017-02-20 Ryan Haddad <ryanhaddad@apple.com>
</span><span class="cx">
</span><span class="cx"> Rebaseline fast/canvas/webgl/context-creation-attributes.html after r212650.
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/ChangeLog (212655 => 212656)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/ChangeLog        2017-02-20 18:16:46 UTC (rev 212655)
+++ trunk/LayoutTests/imported/w3c/ChangeLog        2017-02-20 18:18:06 UTC (rev 212656)
</span><span class="lines">@@ -1,3 +1,15 @@
</span><ins>+2017-02-20 Romain Bellessort <romain.bellessort@crf.canon.fr>
+
+ [Readable Streams API] Add ReadableByteStreamController byobRequest attribute
+ https://bugs.webkit.org/show_bug.cgi?id=168319
+
+ Reviewed by Youenn Fablet.
+
+ Updated expectations for imported w3c tests (new type of error is now obtained).
+
+ * web-platform-tests/streams/readable-byte-streams/general-expected.txt: Updated.
+ * web-platform-tests/streams/readable-byte-streams/general.dedicatedworker-expected.txt: Updated.
+
</ins><span class="cx"> 2017-02-19 Chris Dumez <cdumez@apple.com>
</span><span class="cx">
</span><span class="cx"> onbeforeunload event return value coercion is not per-spec
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsstreamsreadablebytestreamsgeneralexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/streams/readable-byte-streams/general-expected.txt (212655 => 212656)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/streams/readable-byte-streams/general-expected.txt        2017-02-20 18:16:46 UTC (rev 212655)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/streams/readable-byte-streams/general-expected.txt        2017-02-20 18:18:06 UTC (rev 212656)
</span><span class="lines">@@ -14,7 +14,7 @@
</span><span class="cx"> PASS ReadableStream with byte source: Automatic pull() after start()
</span><span class="cx"> PASS ReadableStream with byte source: Automatic pull() after start() and read()
</span><span class="cx"> FAIL ReadableStream with byte source: autoAllocateChunkSize assert_equals: pull() must have been invoked once expected 1 but got 0
</span><del>-FAIL ReadableStream with byte source: Mix of auto allocate and BYOB promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'byobRequest.view')"
</del><ins>+FAIL ReadableStream with byte source: Mix of auto allocate and BYOB promise_test: Unhandled rejection with value: object "TypeError: ReadableByteStreamController view is not implemented"
</ins><span class="cx"> PASS ReadableStream with byte source: Automatic pull() after start() and read(view)
</span><span class="cx"> PASS ReadableStream with byte source: enqueue(), getReader(), then read()
</span><span class="cx"> PASS ReadableStream with byte source: Push source that doesn't understand pull signal
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsstreamsreadablebytestreamsgeneraldedicatedworkerexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/streams/readable-byte-streams/general.dedicatedworker-expected.txt (212655 => 212656)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/streams/readable-byte-streams/general.dedicatedworker-expected.txt        2017-02-20 18:16:46 UTC (rev 212655)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/streams/readable-byte-streams/general.dedicatedworker-expected.txt        2017-02-20 18:18:06 UTC (rev 212656)
</span><span class="lines">@@ -14,7 +14,7 @@
</span><span class="cx"> PASS ReadableStream with byte source: Automatic pull() after start()
</span><span class="cx"> PASS ReadableStream with byte source: Automatic pull() after start() and read()
</span><span class="cx"> FAIL ReadableStream with byte source: autoAllocateChunkSize assert_equals: pull() must have been invoked once expected 1 but got 0
</span><del>-FAIL ReadableStream with byte source: Mix of auto allocate and BYOB promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'byobRequest.view')"
</del><ins>+FAIL ReadableStream with byte source: Mix of auto allocate and BYOB promise_test: Unhandled rejection with value: object "TypeError: ReadableByteStreamController view is not implemented"
</ins><span class="cx"> PASS ReadableStream with byte source: Automatic pull() after start() and read(view)
</span><span class="cx"> PASS ReadableStream with byte source: enqueue(), getReader(), then read()
</span><span class="cx"> PASS ReadableStream with byte source: Push source that doesn't understand pull signal
</span></span></pre></div>
<a id="trunkLayoutTestsstreamsreadablebytestreamcontrollerjs"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/streams/readable-byte-stream-controller.js (212655 => 212656)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/streams/readable-byte-stream-controller.js        2017-02-20 18:16:46 UTC (rev 212655)
+++ trunk/LayoutTests/streams/readable-byte-stream-controller.js        2017-02-20 18:18:06 UTC (rev 212656)
</span><span class="lines">@@ -12,8 +12,7 @@
</span><span class="cx">
</span><span class="cx"> test(() => {
</span><span class="cx"> const methods = ['close', 'constructor', 'enqueue', 'error'];
</span><del>- // FIXME: Add byobRequest when implemented.
- const properties = methods.concat(['desiredSize']).sort();
</del><ins>+ const properties = methods.concat(['byobRequest', 'desiredSize']).sort();
</ins><span class="cx">
</span><span class="cx"> let controller;
</span><span class="cx">
</span><span class="lines">@@ -36,6 +35,12 @@
</span><span class="cx"> assert_equals(typeof controller[m], 'function', 'should have be a method');
</span><span class="cx"> }
</span><span class="cx">
</span><ins>+ const byobRequestPropDesc = Object.getOwnPropertyDescriptor(proto, 'byobRequest');
+ assert_equals(byobRequestPropDesc.enumerable, false, 'byobRequest should be non-enumerable');
+ assert_equals(byobRequestPropDesc.configurable, true, 'byobRequest should be configurable');
+ assert_not_equals(byobRequestPropDesc.get, undefined, 'byobRequest should have a getter');
+ assert_equals(byobRequestPropDesc.set, undefined, 'byobRequest should not have a setter');
+
</ins><span class="cx"> const desiredSizePropDesc = Object.getOwnPropertyDescriptor(proto, 'desiredSize');
</span><span class="cx"> assert_equals(desiredSizePropDesc.enumerable, false, 'desiredSize should be non-enumerable');
</span><span class="cx"> assert_equals(desiredSizePropDesc.configurable, true, 'desiredSize should be configurable');
</span></span></pre></div>
<a id="trunkLayoutTestsstreamsreadablestreambyobrequestexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/streams/readable-stream-byob-request-expected.txt (0 => 212656)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/streams/readable-stream-byob-request-expected.txt         (rev 0)
+++ trunk/LayoutTests/streams/readable-stream-byob-request-expected.txt        2017-02-20 18:18:06 UTC (rev 212656)
</span><span class="lines">@@ -0,0 +1,6 @@
</span><ins>+
+PASS ReadableStreamBYOBRequest instances should have the correct list of properties
+PASS By default, byobRequest should be undefined
+PASS ReadableStreamBYOBRequest instances should have the correct list of properties
+PASS By default, byobRequest should be undefined
+
</ins></span></pre></div>
<a id="trunkLayoutTestsstreamsreadablestreambyobrequesthtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/streams/readable-stream-byob-request.html (0 => 212656)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/streams/readable-stream-byob-request.html         (rev 0)
+++ trunk/LayoutTests/streams/readable-stream-byob-request.html        2017-02-20 18:18:06 UTC (rev 212656)
</span><span class="lines">@@ -0,0 +1,9 @@
</span><ins>+
+<!DOCTYPE html>
+<script src='../resources/testharness.js'></script>
+<script src='../resources/testharnessreport.js'></script>
+<script src='readable-stream-byob-request.js'></script>
+<script>
+'use strict';
+fetch_tests_from_worker(new Worker('readable-stream-byob-request.js'));
+</script>
</ins></span></pre></div>
<a id="trunkLayoutTestsstreamsreadablestreambyobrequestjs"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/streams/readable-stream-byob-request.js (0 => 212656)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/streams/readable-stream-byob-request.js         (rev 0)
+++ trunk/LayoutTests/streams/readable-stream-byob-request.js        2017-02-20 18:18:06 UTC (rev 212656)
</span><span class="lines">@@ -0,0 +1,69 @@
</span><ins>+'use strict';
+
+if (self.importScripts) {
+ self.importScripts('../resources/testharness.js');
+}
+
+test(() => {
+ const methods = ['constructor', 'respond', 'respondWithNewView'];
+ const properties = methods.concat(['view']).sort();
+
+ let controller;
+
+ // FIXME: Remove next line when bug https://bugs.webkit.org/show_bug.cgi?id=167697
+ // is fixed. For the moment, so that test may pass, we have to insert a reference
+ // to Uint8Array here (otherwise, the private variable cannot be resolved).
+ const d = new Uint8Array(1);
+
+ // Specifying autoAllocateChunkSize and calling read() are steps that allow
+ // getting a ReadableStreamBYOBRequest returned instead of undefined. The
+ // purpose here is just to get such an object.
+ const rs = new ReadableStream({
+ autoAllocateChunkSize: 128,
+ start: function(c) {
+ controller = c;
+ },
+ type: "bytes"
+ });
+
+ rs.getReader().read();
+ const byobReq = controller.byobRequest;
+
+ const proto = Object.getPrototypeOf(byobReq);
+
+ assert_array_equals(Object.getOwnPropertyNames(proto).sort(), properties);
+
+ for (const m of methods) {
+ const propDesc = Object.getOwnPropertyDescriptor(proto, m);
+ assert_equals(propDesc.enumerable, false, 'method should be non-enumerable');
+ assert_equals(propDesc.configurable, true, 'method should be configurable');
+ assert_equals(propDesc.writable, true, 'method should be writable');
+ assert_equals(typeof byobReq[m], 'function', 'should have be a method');
+ }
+
+ const viewPropDesc = Object.getOwnPropertyDescriptor(proto, 'view');
+ assert_equals(viewPropDesc.enumerable, false, 'view should be non-enumerable');
+ assert_equals(viewPropDesc.configurable, true, 'view should be configurable');
+ assert_not_equals(viewPropDesc.get, undefined, 'view should have a getter');
+ assert_equals(viewPropDesc.set, undefined, 'view should not have a setter');
+
+ assert_equals(byobReq.constructor.length, 2, 'constructor has 2 parameters');
+ assert_equals(byobReq.respond.length, 1, 'respond has 1 parameter');
+ assert_equals(byobReq.respondWithNewView.length, 1, 'respondWithNewView has 1 parameter');
+
+}, 'ReadableStreamBYOBRequest instances should have the correct list of properties');
+
+test(function() {
+ let controller;
+
+ const rs = new ReadableStream({
+ start: function(c) {
+ controller = c;
+ },
+ type: "bytes"
+ });
+
+ assert_equals(controller.byobRequest, undefined, "by default byobRequest should be undefined");
+}, "By default, byobRequest should be undefined");
+
+done();
</ins></span></pre></div>
<a id="trunkSourceWebCoreCMakeListstxt"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/CMakeLists.txt (212655 => 212656)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/CMakeLists.txt        2017-02-20 18:16:46 UTC (rev 212655)
+++ trunk/Source/WebCore/CMakeLists.txt        2017-02-20 18:18:06 UTC (rev 212656)
</span><span class="lines">@@ -260,6 +260,7 @@
</span><span class="cx"> Modules/streams/CountQueuingStrategy.idl
</span><span class="cx"> Modules/streams/ReadableByteStreamController.idl
</span><span class="cx"> Modules/streams/ReadableStream.idl
</span><ins>+ Modules/streams/ReadableStreamBYOBRequest.idl
</ins><span class="cx"> Modules/streams/ReadableStreamDefaultController.idl
</span><span class="cx"> Modules/streams/ReadableStreamDefaultReader.idl
</span><span class="cx"> Modules/streams/ReadableStreamSource.idl
</span><span class="lines">@@ -3675,6 +3676,7 @@
</span><span class="cx"> ${WEBCORE_DIR}/Modules/streams/ReadableByteStreamController.js
</span><span class="cx"> ${WEBCORE_DIR}/Modules/streams/ReadableByteStreamInternals.js
</span><span class="cx"> ${WEBCORE_DIR}/Modules/streams/ReadableStream.js
</span><ins>+ ${WEBCORE_DIR}/Modules/streams/ReadableStreamBYOBRequest.js
</ins><span class="cx"> ${WEBCORE_DIR}/Modules/streams/ReadableStreamDefaultController.js
</span><span class="cx"> ${WEBCORE_DIR}/Modules/streams/ReadableStreamInternals.js
</span><span class="cx"> ${WEBCORE_DIR}/Modules/streams/ReadableStreamDefaultReader.js
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (212655 => 212656)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2017-02-20 18:16:46 UTC (rev 212655)
+++ trunk/Source/WebCore/ChangeLog        2017-02-20 18:18:06 UTC (rev 212656)
</span><span class="lines">@@ -1,3 +1,40 @@
</span><ins>+2017-02-20 Romain Bellessort <romain.bellessort@crf.canon.fr>
+
+ [Readable Streams API] Add ReadableByteStreamController byobRequest attribute
+ https://bugs.webkit.org/show_bug.cgi?id=168319
+
+ Reviewed by Youenn Fablet.
+
+ Added ReadableByteStreamController byobRequest attribute.
+
+ Added tests related to ReadableStreamBYOBRequest as a dedicated object
+ and also as an attribute of ReadableByteStreamController.
+
+ * CMakeLists.txt: Added new files.
+ * DerivedSources.cpp: Added new files.
+ * DerivedSources.make: Added new files.
+ * Modules/streams/ReadableByteStreamController.idl: Added byobRequest support.
+ * Modules/streams/ReadableByteStreamController.js: Added byobRequest support.
+ * Modules/streams/ReadableByteStreamInternals.js:
+ (privateInitializeReadableStreamBYOBRequest): Added constructor.
+ * Modules/streams/ReadableStreamBYOBRequest.idl: Added.
+ * Modules/streams/ReadableStreamBYOBRequest.js: Added.
+ (respond): Not implemented yet.
+ (respondWithNewView): Not implemented yet.
+ (view): Not implemented yet.
+ * WebCore.xcodeproj/project.pbxproj: Added new files.
+ * bindings/js/JSDOMGlobalObject.cpp: Added ReadableStreamBYOBRequest support.
+ (WebCore::JSDOMGlobalObject::addBuiltinGlobals):
+ (WebCore::JSDOMGlobalObject::finishCreation):
+ (WebCore::JSDOMGlobalObject::visitChildren):
+ * bindings/js/JSReadableStreamPrivateConstructors.cpp: Added ReadableStreamBYOBRequest support.
+ (WebCore::constructJSReadableByteStreamController):
+ (WebCore::constructJSReadableStreamBYOBRequest):
+ (WebCore::JSBuiltinReadableStreamBYOBRequestPrivateConstructor::initializeExecutable):
+ (WebCore::createReadableStreamBYOBRequestPrivateConstructor):
+ * bindings/js/JSReadableStreamPrivateConstructors.h: Added ReadableStreamBYOBRequest support.
+ * bindings/js/WebCoreBuiltinNames.h: Added ReadableStreamBYOBRequest support.
+
</ins><span class="cx"> 2017-02-20 Per Arne Vollan <pvollan@apple.com>
</span><span class="cx">
</span><span class="cx"> [Win] Custom scale factor is not applied in all cases.
</span></span></pre></div>
<a id="trunkSourceWebCoreDerivedSourcescpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/DerivedSources.cpp (212655 => 212656)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/DerivedSources.cpp        2017-02-20 18:16:46 UTC (rev 212655)
+++ trunk/Source/WebCore/DerivedSources.cpp        2017-02-20 18:18:06 UTC (rev 212656)
</span><span class="lines">@@ -386,6 +386,7 @@
</span><span class="cx"> #include "JSRange.cpp"
</span><span class="cx"> #include "JSReadableByteStreamController.cpp"
</span><span class="cx"> #include "JSReadableStream.cpp"
</span><ins>+#include "JSReadableStreamBYOBRequest.cpp"
</ins><span class="cx"> #include "JSReadableStreamDefaultController.cpp"
</span><span class="cx"> #include "JSReadableStreamDefaultReader.cpp"
</span><span class="cx"> #include "JSRequestAnimationFrameCallback.cpp"
</span></span></pre></div>
<a id="trunkSourceWebCoreDerivedSourcesmake"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/DerivedSources.make (212655 => 212656)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/DerivedSources.make        2017-02-20 18:16:46 UTC (rev 212655)
+++ trunk/Source/WebCore/DerivedSources.make        2017-02-20 18:18:06 UTC (rev 212656)
</span><span class="lines">@@ -203,6 +203,7 @@
</span><span class="cx"> $(WebCore)/Modules/streams/CountQueuingStrategy.idl \
</span><span class="cx"> $(WebCore)/Modules/streams/ReadableByteStreamController.idl \
</span><span class="cx"> $(WebCore)/Modules/streams/ReadableStream.idl \
</span><ins>+ $(WebCore)/Modules/streams/ReadableStreamBYOBRequest.idl \
</ins><span class="cx"> $(WebCore)/Modules/streams/ReadableStreamDefaultController.idl \
</span><span class="cx"> $(WebCore)/Modules/streams/ReadableStreamDefaultReader.idl \
</span><span class="cx"> $(WebCore)/Modules/streams/ReadableStreamSource.idl \
</span><span class="lines">@@ -1349,6 +1350,7 @@
</span><span class="cx"> $(WebCore)/Modules/streams/ReadableByteStreamController.js \
</span><span class="cx"> $(WebCore)/Modules/streams/ReadableByteStreamInternals.js \
</span><span class="cx"> $(WebCore)/Modules/streams/ReadableStream.js \
</span><ins>+ $(WebCore)/Modules/streams/ReadableStreamBYOBRequest.js \
</ins><span class="cx"> $(WebCore)/Modules/streams/ReadableStreamDefaultController.js \
</span><span class="cx"> $(WebCore)/Modules/streams/ReadableStreamInternals.js \
</span><span class="cx"> $(WebCore)/Modules/streams/ReadableStreamDefaultReader.js \
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesstreamsReadableByteStreamControlleridl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/streams/ReadableByteStreamController.idl (212655 => 212656)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/streams/ReadableByteStreamController.idl        2017-02-20 18:16:46 UTC (rev 212655)
+++ trunk/Source/WebCore/Modules/streams/ReadableByteStreamController.idl        2017-02-20 18:18:06 UTC (rev 212656)
</span><span class="lines">@@ -38,6 +38,6 @@
</span><span class="cx"> [NotEnumerable] void close();
</span><span class="cx"> [NotEnumerable] void error(optional any error);
</span><span class="cx">
</span><del>- //FIXME: Add byobRequest when implemented.
</del><ins>+ [NotEnumerable] readonly attribute ReadableStreamBYOBRequest byobRequest;
</ins><span class="cx"> [NotEnumerable] readonly attribute double desiredSize;
</span><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesstreamsReadableByteStreamControllerjs"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/streams/ReadableByteStreamController.js (212655 => 212656)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/streams/ReadableByteStreamController.js        2017-02-20 18:16:46 UTC (rev 212655)
+++ trunk/Source/WebCore/Modules/streams/ReadableByteStreamController.js        2017-02-20 18:18:06 UTC (rev 212656)
</span><span class="lines">@@ -80,8 +80,18 @@
</span><span class="cx"> {
</span><span class="cx"> "use strict";
</span><span class="cx">
</span><del>- //FIXME: Implement appropriate behavior.
- @throwTypeError("ReadableByteStreamController byobRequest is not implemented");
</del><ins>+ if (!@isReadableByteStreamController(this))
+ throw @makeGetterTypeError("ReadableByteStreamController", "byobRequest");
+
+ if (this.@byobRequest === @undefined && this.@pendingPullIntos.length) {
+ const firstDescriptor = this.@pendingPullIntos[0];
+ const view = new @Uint8Array(firstDescriptor.buffer,
+ firstDescriptor.byteOffset + firstDescriptor.bytesFilled,
+ firstDescriptor.byteLength - firstDescriptor.bytesFilled);
+ this.@byobRequest = new @ReadableStreamBYOBRequest(this, view);
+ }
+
+ return this.@byobRequest;
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> function desiredSize()
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesstreamsReadableByteStreamInternalsjs"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/streams/ReadableByteStreamInternals.js (212655 => 212656)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/streams/ReadableByteStreamInternals.js        2017-02-20 18:16:46 UTC (rev 212655)
+++ trunk/Source/WebCore/Modules/streams/ReadableByteStreamInternals.js        2017-02-20 18:18:06 UTC (rev 212656)
</span><span class="lines">@@ -78,6 +78,14 @@
</span><span class="cx"> return this;
</span><span class="cx"> }
</span><span class="cx">
</span><ins>+function privateInitializeReadableStreamBYOBRequest(controller, view)
+{
+ "use strict";
+
+ this.@associatedReadableByteStreamController = controller;
+ this.@view = view;
+}
+
</ins><span class="cx"> function isReadableByteStreamController(controller)
</span><span class="cx"> {
</span><span class="cx"> "use strict";
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesstreamsReadableStreamBYOBRequestidlfromrev212655trunkSourceWebCoreModulesstreamsReadableByteStreamControlleridl"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/Modules/streams/ReadableStreamBYOBRequest.idl (from rev 212655, trunk/Source/WebCore/Modules/streams/ReadableByteStreamController.idl) (0 => 212656)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/streams/ReadableStreamBYOBRequest.idl         (rev 0)
+++ trunk/Source/WebCore/Modules/streams/ReadableStreamBYOBRequest.idl        2017-02-20 18:18:06 UTC (rev 212656)
</span><span class="lines">@@ -0,0 +1,40 @@
</span><ins>+/*
+ * Copyright (C) 2017 Canon Inc.
+ *
+ * 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 "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 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=READABLE_STREAM_API&READABLE_BYTE_STREAM_API,
+ CustomConstructor(ReadableByteStreamController controller, TypedArray view),
+ Exposed=(Window,Worker),
+ JSBuiltin,
+ NoInterfaceObject
+] interface ReadableStreamBYOBRequest {
+ [NotEnumerable] void respond(optional any bytesWritten);
+ [NotEnumerable] void respondWithNewView(optional any view);
+
+ [NotEnumerable] readonly attribute TypedArray view;
+};
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesstreamsReadableStreamBYOBRequestjs"></a>
<div class="addfile"><h4>Added: trunk/Source/WebCore/Modules/streams/ReadableStreamBYOBRequest.js (0 => 212656)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/streams/ReadableStreamBYOBRequest.js         (rev 0)
+++ trunk/Source/WebCore/Modules/streams/ReadableStreamBYOBRequest.js        2017-02-20 18:18:06 UTC (rev 212656)
</span><span class="lines">@@ -0,0 +1,50 @@
</span><ins>+/*
+ * Copyright (C) 2017 Canon Inc.
+ *
+ * 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.
+ */
+
+// @conditional=ENABLE(READABLE_STREAM_API) && ENABLE(READABLE_BYTE_STREAM_API)
+
+function respond(bytesWritten)
+{
+ "use strict";
+
+ // FIXME: Implement appropriate behavior.
+ @throwTypeError("ReadableStreamBYOBRequest respond() is not implemented");
+}
+
+function respondWithNewView(view)
+{
+ "use strict";
+
+ // FIXME: Implement appropriate behavior.
+ @throwTypeError("ReadableStreamBYOBRequest respondWithNewView() is not implemented");
+}
+
+function view()
+{
+ "use strict";
+
+ // FIXME: Implement appropriate behavior.
+ @throwTypeError("ReadableByteStreamController view is not implemented");
+}
</ins></span></pre></div>
<a id="trunkSourceWebCoreWebCorexcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (212655 => 212656)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2017-02-20 18:16:46 UTC (rev 212655)
+++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2017-02-20 18:18:06 UTC (rev 212656)
</span><span class="lines">@@ -2612,8 +2612,10 @@
</span><span class="cx">                 6B693A2E1C51A82E00B03BEF /* ResourceLoadObserver.h in Headers */ = {isa = PBXBuildFile; fileRef = 6B693A2D1C51A82E00B03BEF /* ResourceLoadObserver.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 6B693A341C51A95D00B03BEF /* ResourceLoadObserver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6B693A331C51A95D00B03BEF /* ResourceLoadObserver.cpp */; };
</span><span class="cx">                 6C4C96DE1AD4483500363F64 /* JSReadableByteStreamController.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6C4C96DA1AD4483500363F64 /* JSReadableByteStreamController.cpp */; };
</span><ins>+                6C4C96DE1AD4483500365672 /* JSReadableStreamBYOBRequest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6C4C96DA1AD4483500365672 /* JSReadableStreamBYOBRequest.cpp */; };
</ins><span class="cx">                 6C4C96DE1AD4483500365A50 /* JSReadableStreamDefaultController.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6C4C96DA1AD4483500365A50 /* JSReadableStreamDefaultController.cpp */; };
</span><span class="cx">                 6C4C96DF1AD4483500363F64 /* JSReadableByteStreamController.h in Headers */ = {isa = PBXBuildFile; fileRef = 6C4C96DB1AD4483500363F64 /* JSReadableByteStreamController.h */; };
</span><ins>+                6C4C96DF1AD4483500365672 /* JSReadableStreamBYOBRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = 6C4C96DB1AD4483500365672 /* JSReadableStreamBYOBRequest.h */; };
</ins><span class="cx">                 6C4C96DF1AD4483500365A50 /* JSReadableStreamDefaultController.h in Headers */ = {isa = PBXBuildFile; fileRef = 6C4C96DB1AD4483500365A50 /* JSReadableStreamDefaultController.h */; };
</span><span class="cx">                 6C638895A96CCEE50C8C946C /* CachedResourceRequestInitiators.h in Headers */ = {isa = PBXBuildFile; fileRef = 6C638893A96CCEE50C8C946C /* CachedResourceRequestInitiators.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 6C638896A96CCEE50C8C946C /* CachedResourceRequestInitiators.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6C638894A96CCEE50C8C946C /* CachedResourceRequestInitiators.cpp */; };
</span><span class="lines">@@ -8770,6 +8772,7 @@
</span><span class="cx">                 41103AAA1E39790A00769F03 /* RealtimeIncomingAudioSource.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RealtimeIncomingAudioSource.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 41189EF71AD8232800B90A0D /* ReadableStreamDefaultController.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = ReadableStreamDefaultController.idl; sourceTree = "<group>"; };
</span><span class="cx">                 41189EF71AD8232800B93F64 /* ReadableByteStreamController.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = ReadableByteStreamController.idl; sourceTree = "<group>"; };
</span><ins>+                41189EF71AD8232800B95672 /* ReadableStreamBYOBRequest.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = ReadableStreamBYOBRequest.idl; sourceTree = "<group>"; };
</ins><span class="cx">                 4127D5360F8AAB1D00E424F5 /* ScriptState.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ScriptState.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 4129DF831BB5B7F700322A16 /* JSReadableStreamPrivateConstructors.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSReadableStreamPrivateConstructors.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 4129DF841BB5B7F700322A16 /* JSReadableStreamPrivateConstructors.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSReadableStreamPrivateConstructors.h; sourceTree = "<group>"; };
</span><span class="lines">@@ -10018,8 +10021,10 @@
</span><span class="cx">                 6B693A2D1C51A82E00B03BEF /* ResourceLoadObserver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ResourceLoadObserver.h; sourceTree = "<group>"; };
</span><span class="cx">                 6B693A331C51A95D00B03BEF /* ResourceLoadObserver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ResourceLoadObserver.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 6C4C96DA1AD4483500363F64 /* JSReadableByteStreamController.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSReadableByteStreamController.cpp; sourceTree = "<group>"; };
</span><ins>+                6C4C96DA1AD4483500365672 /* JSReadableStreamBYOBRequest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSReadableStreamBYOBRequest.cpp; sourceTree = "<group>"; };
</ins><span class="cx">                 6C4C96DA1AD4483500365A50 /* JSReadableStreamDefaultController.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSReadableStreamDefaultController.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 6C4C96DB1AD4483500363F64 /* JSReadableByteStreamController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSReadableByteStreamController.h; sourceTree = "<group>"; };
</span><ins>+                6C4C96DB1AD4483500365672 /* JSReadableStreamBYOBRequest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSReadableStreamBYOBRequest.h; sourceTree = "<group>"; };
</ins><span class="cx">                 6C4C96DB1AD4483500365A50 /* JSReadableStreamDefaultController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSReadableStreamDefaultController.h; sourceTree = "<group>"; };
</span><span class="cx">                 6C638893A96CCEE50C8C946C /* CachedResourceRequestInitiators.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CachedResourceRequestInitiators.h; sourceTree = "<group>"; };
</span><span class="cx">                 6C638894A96CCEE50C8C946C /* CachedResourceRequestInitiators.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = CachedResourceRequestInitiators.cpp; sourceTree = "<group>"; };
</span><span class="lines">@@ -11609,6 +11614,7 @@
</span><span class="cx">                 9908B0EF1BCACF9100ED0F75 /* WritableStream.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = WritableStream.js; sourceTree = "<group>"; };
</span><span class="cx">                 9908B0F01BCACF9100ED0F65 /* ReadableStreamDefaultController.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = ReadableStreamDefaultController.js; sourceTree = "<group>"; };
</span><span class="cx">                 9908B0F01BCACF9100ED3F64 /* ReadableByteStreamController.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = ReadableByteStreamController.js; sourceTree = "<group>"; };
</span><ins>+                9908B0F01BCACF9100ED5672 /* ReadableStreamBYOBRequest.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = ReadableStreamBYOBRequest.js; sourceTree = "<group>"; };
</ins><span class="cx">                 9908B0F11BCACF9100ED0F55 /* StreamInternals.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = StreamInternals.js; sourceTree = "<group>"; };
</span><span class="cx">                 9908B0F11BCACF9100ED0F65 /* ReadableStreamInternals.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = ReadableStreamInternals.js; sourceTree = "<group>"; };
</span><span class="cx">                 9908B0F11BCACF9100ED0F75 /* WritableStreamInternals.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = WritableStreamInternals.js; sourceTree = "<group>"; };
</span><span class="lines">@@ -16952,6 +16958,8 @@
</span><span class="cx">                                 9908B0F11BCACF9100ED3F64 /* ReadableByteStreamInternals.js */,
</span><span class="cx">                                 41A023ED1A39DB7900F722CF /* ReadableStream.idl */,
</span><span class="cx">                                 9908B0EF1BCACF9100ED0F65 /* ReadableStream.js */,
</span><ins>+                                41189EF71AD8232800B95672 /* ReadableStreamBYOBRequest.idl */,
+                                9908B0F01BCACF9100ED5672 /* ReadableStreamBYOBRequest.js */,
</ins><span class="cx">                                 41189EF71AD8232800B90A0D /* ReadableStreamDefaultController.idl */,
</span><span class="cx">                                 9908B0F01BCACF9100ED0F65 /* ReadableStreamDefaultController.js */,
</span><span class="cx">                                 419FAFAD1ABABCD5005B828B /* ReadableStreamDefaultReader.idl */,
</span><span class="lines">@@ -16974,6 +16982,8 @@
</span><span class="cx">                                 6C4C96DB1AD4483500363F64 /* JSReadableByteStreamController.h */,
</span><span class="cx">                                 7C4C96D81AD4483500365A50 /* JSReadableStream.cpp */,
</span><span class="cx">                                 7C4C96D91AD4483500365A50 /* JSReadableStream.h */,
</span><ins>+                                6C4C96DA1AD4483500365672 /* JSReadableStreamBYOBRequest.cpp */,
+                                6C4C96DB1AD4483500365672 /* JSReadableStreamBYOBRequest.h */,
</ins><span class="cx">                                 6C4C96DA1AD4483500365A50 /* JSReadableStreamDefaultController.cpp */,
</span><span class="cx">                                 6C4C96DB1AD4483500365A50 /* JSReadableStreamDefaultController.h */,
</span><span class="cx">                                 7C4C96DA1AD4483500365A50 /* JSReadableStreamDefaultReader.cpp */,
</span><span class="lines">@@ -26862,6 +26872,7 @@
</span><span class="cx">                                 65DF320209D1CC60000BE325 /* JSRange.h in Headers */,
</span><span class="cx">                                 6C4C96DF1AD4483500363F64 /* JSReadableByteStreamController.h in Headers */,
</span><span class="cx">                                 7C4C96DD1AD4483500365A50 /* JSReadableStream.h in Headers */,
</span><ins>+                                6C4C96DF1AD4483500365672 /* JSReadableStreamBYOBRequest.h in Headers */,
</ins><span class="cx">                                 6C4C96DF1AD4483500365A50 /* JSReadableStreamDefaultController.h in Headers */,
</span><span class="cx">                                 7C4C96DF1AD4483500365A50 /* JSReadableStreamDefaultReader.h in Headers */,
</span><span class="cx">                                 4129DF861BB5B80C00322A16 /* JSReadableStreamPrivateConstructors.h in Headers */,
</span><span class="lines">@@ -30688,6 +30699,7 @@
</span><span class="cx">                                 65DF320109D1CC60000BE325 /* JSRange.cpp in Sources */,
</span><span class="cx">                                 6C4C96DE1AD4483500363F64 /* JSReadableByteStreamController.cpp in Sources */,
</span><span class="cx">                                 7C4C96DC1AD4483500365A50 /* JSReadableStream.cpp in Sources */,
</span><ins>+                                6C4C96DE1AD4483500365672 /* JSReadableStreamBYOBRequest.cpp in Sources */,
</ins><span class="cx">                                 6C4C96DE1AD4483500365A50 /* JSReadableStreamDefaultController.cpp in Sources */,
</span><span class="cx">                                 7C4C96DE1AD4483500365A50 /* JSReadableStreamDefaultReader.cpp in Sources */,
</span><span class="cx">                                 4129DF851BB5B80700322A16 /* JSReadableStreamPrivateConstructors.cpp in Sources */,
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSDOMGlobalObjectcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSDOMGlobalObject.cpp (212655 => 212656)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSDOMGlobalObject.cpp        2017-02-20 18:16:46 UTC (rev 212655)
+++ trunk/Source/WebCore/bindings/js/JSDOMGlobalObject.cpp        2017-02-20 18:18:06 UTC (rev 212656)
</span><span class="lines">@@ -107,6 +107,7 @@
</span><span class="cx"> JSObject* privateReadableStreamDefaultControllerConstructor = createReadableStreamDefaultControllerPrivateConstructor(vm, *this);
</span><span class="cx"> #if ENABLE(READABLE_BYTE_STREAM_API)
</span><span class="cx"> JSObject* privateReadableByteStreamControllerConstructor = createReadableByteStreamControllerPrivateConstructor(vm, *this);
</span><ins>+ JSObject* privateReadableStreamBYOBRequestConstructor = createReadableStreamBYOBRequestPrivateConstructor(vm, *this);
</ins><span class="cx"> #endif
</span><span class="cx"> JSObject* privateReadableStreamDefaultReaderConstructor = createReadableStreamDefaultReaderPrivateConstructor(vm, *this);
</span><span class="cx">
</span><span class="lines">@@ -113,6 +114,7 @@
</span><span class="cx"> ASSERT(!constructors(NoLockingNecessary).get(privateReadableStreamDefaultControllerConstructor->info()).get());
</span><span class="cx"> #if ENABLE(READABLE_BYTE_STREAM_API)
</span><span class="cx"> ASSERT(!constructors(NoLockingNecessary).get(privateReadableByteStreamControllerConstructor->info()).get());
</span><ins>+ ASSERT(!constructors(NoLockingNecessary).get(privateReadableStreamBYOBRequestConstructor->info()).get());
</ins><span class="cx"> #endif
</span><span class="cx"> ASSERT(!constructors(NoLockingNecessary).get(privateReadableStreamDefaultReaderConstructor->info()).get());
</span><span class="cx"> JSC::WriteBarrier<JSC::JSObject> temp;
</span><span class="lines">@@ -121,6 +123,7 @@
</span><span class="cx"> constructors(locker).add(privateReadableStreamDefaultControllerConstructor->info(), temp).iterator->value.set(vm, this, privateReadableStreamDefaultControllerConstructor);
</span><span class="cx"> #if ENABLE(READABLE_BYTE_STREAM_API)
</span><span class="cx"> constructors(locker).add(privateReadableByteStreamControllerConstructor->info(), temp).iterator->value.set(vm, this, privateReadableByteStreamControllerConstructor);
</span><ins>+ constructors(locker).add(privateReadableStreamBYOBRequestConstructor->info(), temp).iterator->value.set(vm, this, privateReadableStreamBYOBRequestConstructor);
</ins><span class="cx"> #endif
</span><span class="cx"> constructors(locker).add(privateReadableStreamDefaultReaderConstructor->info(), temp).iterator->value.set(vm, this, privateReadableStreamDefaultReaderConstructor);
</span><span class="cx"> }
</span><span class="lines">@@ -148,6 +151,7 @@
</span><span class="cx"> JSDOMGlobalObject::GlobalPropertyInfo(clientData.builtinNames().ReadableStreamDefaultControllerPrivateName(), privateReadableStreamDefaultControllerConstructor, DontDelete | ReadOnly),
</span><span class="cx"> #if ENABLE(READABLE_BYTE_STREAM_API)
</span><span class="cx"> JSDOMGlobalObject::GlobalPropertyInfo(clientData.builtinNames().ReadableByteStreamControllerPrivateName(), privateReadableByteStreamControllerConstructor, DontDelete | ReadOnly),
</span><ins>+ JSDOMGlobalObject::GlobalPropertyInfo(clientData.builtinNames().ReadableStreamBYOBRequestPrivateName(), privateReadableStreamBYOBRequestConstructor, DontDelete | ReadOnly),
</ins><span class="cx"> #endif
</span><span class="cx"> JSDOMGlobalObject::GlobalPropertyInfo(clientData.builtinNames().ReadableStreamDefaultReaderPrivateName(), privateReadableStreamDefaultReaderConstructor, DontDelete | ReadOnly),
</span><span class="cx"> #endif
</span><span class="lines">@@ -161,7 +165,7 @@
</span><span class="cx"> ASSERT(inherits(vm, info()));
</span><span class="cx">
</span><span class="cx"> addBuiltinGlobals(vm);
</span><del>-
</del><ins>+
</ins><span class="cx"> RELEASE_ASSERT(classInfo());
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -171,7 +175,7 @@
</span><span class="cx"> ASSERT(inherits(vm, info()));
</span><span class="cx">
</span><span class="cx"> addBuiltinGlobals(vm);
</span><del>-
</del><ins>+
</ins><span class="cx"> RELEASE_ASSERT(classInfo());
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -191,16 +195,16 @@
</span><span class="cx"> JSDOMGlobalObject* thisObject = jsCast<JSDOMGlobalObject*>(cell);
</span><span class="cx"> ASSERT_GC_OBJECT_INHERITS(thisObject, info());
</span><span class="cx"> Base::visitChildren(thisObject, visitor);
</span><del>-
</del><ins>+
</ins><span class="cx"> {
</span><span class="cx"> auto locker = holdLock(thisObject->m_gcLock);
</span><del>-
</del><ins>+
</ins><span class="cx"> for (auto& structure : thisObject->structures(locker).values())
</span><span class="cx"> visitor.append(structure);
</span><del>-
</del><ins>+
</ins><span class="cx"> for (auto& constructor : thisObject->constructors(locker).values())
</span><span class="cx"> visitor.append(constructor);
</span><del>-
</del><ins>+
</ins><span class="cx"> for (auto& deferredPromise : thisObject->deferredPromises(locker))
</span><span class="cx"> deferredPromise->visitAggregate(visitor);
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSReadableStreamPrivateConstructorscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSReadableStreamPrivateConstructors.cpp (212655 => 212656)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSReadableStreamPrivateConstructors.cpp        2017-02-20 18:16:46 UTC (rev 212655)
+++ trunk/Source/WebCore/bindings/js/JSReadableStreamPrivateConstructors.cpp        2017-02-20 18:18:06 UTC (rev 212656)
</span><span class="lines">@@ -25,6 +25,7 @@
</span><span class="cx"> #include "JSDOMBuiltinConstructor.h"
</span><span class="cx"> #include "JSReadableByteStreamController.h"
</span><span class="cx"> #include "JSReadableStream.h"
</span><ins>+#include "JSReadableStreamBYOBRequest.h"
</ins><span class="cx"> #include "JSReadableStreamDefaultController.h"
</span><span class="cx"> #include "JSReadableStreamDefaultReader.h"
</span><span class="cx"> #include "ReadableByteStreamInternalsBuiltins.h"
</span><span class="lines">@@ -44,16 +45,6 @@
</span><span class="cx"> return throwVMTypeError(&exec, scope, ASCIILiteral("ReadableStreamDefaultController constructor should not be called directly"));
</span><span class="cx"> }
</span><span class="cx">
</span><del>-#if ENABLE(READABLE_BYTE_STREAM_API)
-// Public JS ReadableByteStreamController constructor callback.
-EncodedJSValue JSC_HOST_CALL constructJSReadableByteStreamController(ExecState& exec)
-{
- VM& vm = exec.vm();
- auto scope = DECLARE_THROW_SCOPE(vm);
- return throwVMTypeError(&exec, scope, ASCIILiteral("ReadableByteStreamController constructor should not be called directly"));
-}
-#endif
-
</del><span class="cx"> EncodedJSValue JSC_HOST_CALL constructJSReadableStreamDefaultReader(ExecState& exec)
</span><span class="cx"> {
</span><span class="cx"> VM& vm = exec.vm();
</span><span class="lines">@@ -70,6 +61,23 @@
</span><span class="cx"> return JSValue::encode(JSC::construct(&exec, constructor, constructType, constructData, args));
</span><span class="cx"> }
</span><span class="cx">
</span><ins>+#if ENABLE(READABLE_BYTE_STREAM_API)
+// Public JS ReadableByteStreamController and ReadableStreamBYOBRequest constructor callback.
+EncodedJSValue JSC_HOST_CALL constructJSReadableByteStreamController(ExecState& exec)
+{
+ VM& vm = exec.vm();
+ auto scope = DECLARE_THROW_SCOPE(vm);
+ return throwVMTypeError(&exec, scope, ASCIILiteral("ReadableByteStreamController constructor should not be called directly"));
+}
+
+EncodedJSValue JSC_HOST_CALL constructJSReadableStreamBYOBRequest(ExecState& exec)
+{
+ VM& vm = exec.vm();
+ auto scope = DECLARE_THROW_SCOPE(vm);
+ return throwVMTypeError(&exec, scope, ASCIILiteral("ReadableStreamBYOBRequest constructor should not be called directly"));
+}
+#endif
+
</ins><span class="cx"> // Private JS ReadableStreamDefaultReader and ReadableStreamDefaultController constructors.
</span><span class="cx"> using JSBuiltinReadableStreamDefaultReaderPrivateConstructor = JSDOMBuiltinConstructor<JSReadableStreamDefaultReader>;
</span><span class="cx"> using JSBuiltinReadableStreamDefaultControllerPrivateConstructor = JSDOMBuiltinConstructor<JSReadableStreamDefaultController>;
</span><span class="lines">@@ -76,6 +84,7 @@
</span><span class="cx"> #if ENABLE(READABLE_BYTE_STREAM_API)
</span><span class="cx"> // Private JS ReadableByteStreamController constructor.
</span><span class="cx"> using JSBuiltinReadableByteStreamControllerPrivateConstructor = JSDOMBuiltinConstructor<JSReadableByteStreamController>;
</span><ins>+using JSBuiltinReadableStreamBYOBRequestPrivateConstructor = JSDOMBuiltinConstructor<JSReadableStreamBYOBRequest>;
</ins><span class="cx"> #endif
</span><span class="cx">
</span><span class="cx"> STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(JSBuiltinReadableStreamDefaultReaderPrivateConstructor);
</span><span class="lines">@@ -82,6 +91,7 @@
</span><span class="cx"> STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(JSBuiltinReadableStreamDefaultControllerPrivateConstructor);
</span><span class="cx"> #if ENABLE(READABLE_BYTE_STREAM_API)
</span><span class="cx"> STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(JSBuiltinReadableByteStreamControllerPrivateConstructor);
</span><ins>+STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(JSBuiltinReadableStreamBYOBRequestPrivateConstructor);
</ins><span class="cx"> #endif
</span><span class="cx">
</span><span class="cx"> template<> const ClassInfo JSBuiltinReadableStreamDefaultReaderPrivateConstructor::s_info = { "ReadableStreamDefaultReaderPrivateConstructor", &Base::s_info, 0, CREATE_METHOD_TABLE(JSBuiltinReadableStreamDefaultReaderPrivateConstructor) };
</span><span class="lines">@@ -88,6 +98,7 @@
</span><span class="cx"> template<> const ClassInfo JSBuiltinReadableStreamDefaultControllerPrivateConstructor::s_info = { "ReadableStreamDefaultControllerPrivateConstructor", &Base::s_info, 0, CREATE_METHOD_TABLE(JSBuiltinReadableStreamDefaultControllerPrivateConstructor) };
</span><span class="cx"> #if ENABLE(READABLE_BYTE_STREAM_API)
</span><span class="cx"> template<> const ClassInfo JSBuiltinReadableByteStreamControllerPrivateConstructor::s_info = { "ReadableByteStreamControllerPrivateConstructor", &Base::s_info, 0, CREATE_METHOD_TABLE(JSBuiltinReadableByteStreamControllerPrivateConstructor) };
</span><ins>+template<> const ClassInfo JSBuiltinReadableStreamBYOBRequestPrivateConstructor::s_info = { "ReadableStreamBYOBRequestPrivateConstructor", &Base::s_info, 0, CREATE_METHOD_TABLE(JSBuiltinReadableStreamBYOBRequestPrivateConstructor) };
</ins><span class="cx"> #endif
</span><span class="cx">
</span><span class="cx"> template<> FunctionExecutable* JSBuiltinReadableStreamDefaultReaderPrivateConstructor::initializeExecutable(JSC::VM& vm)
</span><span class="lines">@@ -105,6 +116,11 @@
</span><span class="cx"> {
</span><span class="cx"> return readableByteStreamInternalsPrivateInitializeReadableByteStreamControllerCodeGenerator(vm);
</span><span class="cx"> }
</span><ins>+
+template<> FunctionExecutable* JSBuiltinReadableStreamBYOBRequestPrivateConstructor::initializeExecutable(JSC::VM& vm)
+{
+ return readableByteStreamInternalsPrivateInitializeReadableStreamBYOBRequestCodeGenerator(vm);
+}
</ins><span class="cx"> #endif
</span><span class="cx">
</span><span class="cx"> JSObject* createReadableStreamDefaultReaderPrivateConstructor(VM& vm, JSDOMGlobalObject& globalObject)
</span><span class="lines">@@ -122,6 +138,11 @@
</span><span class="cx"> {
</span><span class="cx"> return JSBuiltinReadableByteStreamControllerPrivateConstructor::create(vm, JSBuiltinReadableByteStreamControllerPrivateConstructor::createStructure(vm, globalObject, globalObject.objectPrototype()), globalObject);
</span><span class="cx"> }
</span><ins>+
+JSObject* createReadableStreamBYOBRequestPrivateConstructor(VM& vm, JSDOMGlobalObject& globalObject)
+{
+ return JSBuiltinReadableStreamBYOBRequestPrivateConstructor::create(vm, JSBuiltinReadableStreamBYOBRequestPrivateConstructor::createStructure(vm, globalObject, globalObject.objectPrototype()), globalObject);
+}
</ins><span class="cx"> #endif
</span><span class="cx">
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSReadableStreamPrivateConstructorsh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSReadableStreamPrivateConstructors.h (212655 => 212656)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSReadableStreamPrivateConstructors.h        2017-02-20 18:16:46 UTC (rev 212655)
+++ trunk/Source/WebCore/bindings/js/JSReadableStreamPrivateConstructors.h        2017-02-20 18:18:06 UTC (rev 212656)
</span><span class="lines">@@ -34,6 +34,7 @@
</span><span class="cx">
</span><span class="cx"> #if ENABLE(READABLE_BYTE_STREAM_API)
</span><span class="cx"> JSC::JSObject* createReadableByteStreamControllerPrivateConstructor(JSC::VM&, JSDOMGlobalObject&);
</span><ins>+JSC::JSObject* createReadableStreamBYOBRequestPrivateConstructor(JSC::VM&, JSDOMGlobalObject&);
</ins><span class="cx"> #endif
</span><span class="cx">
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsWebCoreBuiltinNamesh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/WebCoreBuiltinNames.h (212655 => 212656)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/WebCoreBuiltinNames.h        2017-02-20 18:16:46 UTC (rev 212655)
+++ trunk/Source/WebCore/bindings/js/WebCoreBuiltinNames.h        2017-02-20 18:18:06 UTC (rev 212656)
</span><span class="lines">@@ -33,8 +33,10 @@
</span><span class="cx"> #define WEBCORE_COMMON_PRIVATE_IDENTIFIERS_EACH_PROPERTY_NAME(macro)\
</span><span class="cx"> macro(addTrack) \
</span><span class="cx"> macro(appendFromJS) \
</span><ins>+ macro(associatedReadableByteStreamController) \
</ins><span class="cx"> macro(autoAllocateChunkSize) \
</span><span class="cx"> macro(body) \
</span><ins>+ macro(byobRequest) \
</ins><span class="cx"> macro(cancel) \
</span><span class="cx"> macro(cloneForJS) \
</span><span class="cx"> macro(closeRequested) \
</span><span class="lines">@@ -103,6 +105,7 @@
</span><span class="cx"> macro(underlyingByteSource) \
</span><span class="cx"> macro(underlyingSink) \
</span><span class="cx"> macro(underlyingSource) \
</span><ins>+ macro(view) \
</ins><span class="cx"> macro(writing) \
</span><span class="cx"> macro(Headers) \
</span><span class="cx"> macro(MediaStream) \
</span><span class="lines">@@ -109,6 +112,7 @@
</span><span class="cx"> macro(MediaStreamTrack) \
</span><span class="cx"> macro(ReadableByteStreamController) \
</span><span class="cx"> macro(ReadableStream) \
</span><ins>+ macro(ReadableStreamBYOBRequest) \
</ins><span class="cx"> macro(ReadableStreamDefaultController) \
</span><span class="cx"> macro(ReadableStreamDefaultReader) \
</span><span class="cx"> macro(Request) \
</span></span></pre>
</div>
</div>
</body>
</html>