<!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>[192246] trunk/Source/WebCore</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/192246">192246</a></dd>
<dt>Author</dt> <dd>calvaris@igalia.com</dd>
<dt>Date</dt> <dd>2015-11-10 07:45:21 -0800 (Tue, 10 Nov 2015)</dd>
</dl>
<h3>Log Message</h3>
<pre>[Streams API] Fix style issues
https://bugs.webkit.org/show_bug.cgi?id=151089
Reviewed by Youenn Fablet.
Inlined some things, converted var into let and const, removed some undefined parameters and returns, added
missing "use strict" clauses and other minor style changes.
Internal rework, no new tests needed.
* Modules/streams/ReadableStream.js:
(initializeReadableStream):
* Modules/streams/ReadableStreamController.js:
(enqueue):
(error):
(close):
* Modules/streams/ReadableStreamInternals.js:
(teeReadableStream):
(teeReadableStreamPullFunction):
(teeReadableStreamBranch2CancelFunction):
(errorReadableStream):
(finishClosingReadableStream):
(closeReadableStreamReader):
(enqueueInReadableStream):
(readFromReadableStreamReader):
* Modules/streams/ReadableStreamReader.js:
(releaseLock):
* Modules/streams/StreamInternals.js:
(invokeOrNoop):
(promiseInvokeOrNoop):
(promiseInvokeOrFallbackOrNoop):
(validateAndNormalizeQueuingStrategy):
(newQueue):
(dequeueValue):
(enqueueValueWithSize):
(peekQueueValue):
* Modules/streams/WritableStream.js:
(initializeWritableStream):
(abort):
(close):
* Modules/streams/WritableStreamInternals.js:
(syncWritableStreamStateWithQueue):
(errorWritableStream):
(callOrScheduleWritableStreamAdvanceQueue):
(writableStreamAdvanceQueue):
(closeWritableStream): Deleted.</pre>
<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreModulesstreamsReadableStreamjs">trunk/Source/WebCore/Modules/streams/ReadableStream.js</a></li>
<li><a href="#trunkSourceWebCoreModulesstreamsReadableStreamControllerjs">trunk/Source/WebCore/Modules/streams/ReadableStreamController.js</a></li>
<li><a href="#trunkSourceWebCoreModulesstreamsReadableStreamInternalsjs">trunk/Source/WebCore/Modules/streams/ReadableStreamInternals.js</a></li>
<li><a href="#trunkSourceWebCoreModulesstreamsReadableStreamReaderjs">trunk/Source/WebCore/Modules/streams/ReadableStreamReader.js</a></li>
<li><a href="#trunkSourceWebCoreModulesstreamsStreamInternalsjs">trunk/Source/WebCore/Modules/streams/StreamInternals.js</a></li>
<li><a href="#trunkSourceWebCoreModulesstreamsWritableStreamjs">trunk/Source/WebCore/Modules/streams/WritableStream.js</a></li>
<li><a href="#trunkSourceWebCoreModulesstreamsWritableStreamInternalsjs">trunk/Source/WebCore/Modules/streams/WritableStreamInternals.js</a></li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (192245 => 192246)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2015-11-10 14:42:42 UTC (rev 192245)
+++ trunk/Source/WebCore/ChangeLog        2015-11-10 15:45:21 UTC (rev 192246)
</span><span class="lines">@@ -1,3 +1,52 @@
</span><ins>+2015-11-10 Xabier Rodriguez Calvar <calvaris@igalia.com>
+
+ [Streams API] Fix style issues
+ https://bugs.webkit.org/show_bug.cgi?id=151089
+
+ Reviewed by Youenn Fablet.
+
+ Inlined some things, converted var into let and const, removed some undefined parameters and returns, added
+ missing "use strict" clauses and other minor style changes.
+
+ Internal rework, no new tests needed.
+
+ * Modules/streams/ReadableStream.js:
+ (initializeReadableStream):
+ * Modules/streams/ReadableStreamController.js:
+ (enqueue):
+ (error):
+ (close):
+ * Modules/streams/ReadableStreamInternals.js:
+ (teeReadableStream):
+ (teeReadableStreamPullFunction):
+ (teeReadableStreamBranch2CancelFunction):
+ (errorReadableStream):
+ (finishClosingReadableStream):
+ (closeReadableStreamReader):
+ (enqueueInReadableStream):
+ (readFromReadableStreamReader):
+ * Modules/streams/ReadableStreamReader.js:
+ (releaseLock):
+ * Modules/streams/StreamInternals.js:
+ (invokeOrNoop):
+ (promiseInvokeOrNoop):
+ (promiseInvokeOrFallbackOrNoop):
+ (validateAndNormalizeQueuingStrategy):
+ (newQueue):
+ (dequeueValue):
+ (enqueueValueWithSize):
+ (peekQueueValue):
+ * Modules/streams/WritableStream.js:
+ (initializeWritableStream):
+ (abort):
+ (close):
+ * Modules/streams/WritableStreamInternals.js:
+ (syncWritableStreamStateWithQueue):
+ (errorWritableStream):
+ (callOrScheduleWritableStreamAdvanceQueue):
+ (writableStreamAdvanceQueue):
+ (closeWritableStream): Deleted.
+
</ins><span class="cx"> 2015-11-10 Carlos Garcia Campos <cgarcia@igalia.com>
</span><span class="cx">
</span><span class="cx"> Unreviewed. Fix scrollbars/custom-scrollbar-appearance-property.html after r191991.
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesstreamsReadableStreamjs"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/streams/ReadableStream.js (192245 => 192246)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/streams/ReadableStream.js        2015-11-10 14:42:42 UTC (rev 192245)
+++ trunk/Source/WebCore/Modules/streams/ReadableStream.js        2015-11-10 15:45:21 UTC (rev 192246)
</span><span class="lines">@@ -54,8 +54,8 @@
</span><span class="cx"> this.@controller = new @ReadableStreamController(this);
</span><span class="cx"> this.@strategy = @validateAndNormalizeQueuingStrategy(strategy.size, strategy.highWaterMark);
</span><span class="cx">
</span><del>- var result = @invokeOrNoop(underlyingSource, "start", [this.@controller]);
- var _this = this;
</del><ins>+ const result = @invokeOrNoop(underlyingSource, "start", [this.@controller]);
+ const _this = this;
</ins><span class="cx"> @Promise.prototype.@then.@call(@Promise.@resolve(result), function() {
</span><span class="cx"> _this.@started = true;
</span><span class="cx"> @requestReadableStreamPull(_this);
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesstreamsReadableStreamControllerjs"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/streams/ReadableStreamController.js (192245 => 192246)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/streams/ReadableStreamController.js        2015-11-10 14:42:42 UTC (rev 192245)
+++ trunk/Source/WebCore/Modules/streams/ReadableStreamController.js        2015-11-10 15:45:21 UTC (rev 192246)
</span><span class="lines">@@ -32,14 +32,14 @@
</span><span class="cx"> if (!@isReadableStreamController(this))
</span><span class="cx"> throw new @TypeError("Function should be called on a ReadableStreamController");
</span><span class="cx">
</span><del>- var stream = this.@controlledReadableStream;
</del><ins>+ const stream = this.@controlledReadableStream;
</ins><span class="cx"> if (stream.@state === @streamErrored)
</span><span class="cx"> throw stream.@storedError;
</span><span class="cx">
</span><span class="cx"> if (stream.@closeRequested)
</span><span class="cx"> throw new @TypeError("ReadableStream is requested to close");
</span><span class="cx">
</span><del>- return @enqueueInReadableStream(stream, chunk)
</del><ins>+ return @enqueueInReadableStream(stream, chunk);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> function error(error)
</span><span class="lines">@@ -49,7 +49,7 @@
</span><span class="cx"> if (!@isReadableStreamController(this))
</span><span class="cx"> throw new @TypeError("Function should be called on a ReadableStreamController");
</span><span class="cx">
</span><del>- var stream = this.@controlledReadableStream;
</del><ins>+ const stream = this.@controlledReadableStream;
</ins><span class="cx"> if (stream.@state !== @streamReadable)
</span><span class="cx"> throw new @TypeError("ReaableStream is not readable");
</span><span class="cx">
</span><span class="lines">@@ -63,7 +63,7 @@
</span><span class="cx"> if (!@isReadableStreamController(this))
</span><span class="cx"> throw new @TypeError("Function should be called on a ReadableStreamController");
</span><span class="cx">
</span><del>- var stream = this.@controlledReadableStream;
</del><ins>+ const stream = this.@controlledReadableStream;
</ins><span class="cx"> if (stream.@closeRequested)
</span><span class="cx"> throw new @TypeError("ReadableStream is already requested to close");
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesstreamsReadableStreamInternalsjs"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/streams/ReadableStreamInternals.js (192245 => 192246)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/streams/ReadableStreamInternals.js        2015-11-10 14:42:42 UTC (rev 192245)
+++ trunk/Source/WebCore/Modules/streams/ReadableStreamInternals.js        2015-11-10 15:45:21 UTC (rev 192246)
</span><span class="lines">@@ -79,9 +79,9 @@
</span><span class="cx"> @assert(@isReadableStream(stream));
</span><span class="cx"> @assert(typeof(shouldClone) === "boolean");
</span><span class="cx">
</span><del>- let reader = stream.getReader();
</del><ins>+ const reader = stream.getReader();
</ins><span class="cx">
</span><del>- let teeState = {
</del><ins>+ const teeState = {
</ins><span class="cx"> closedOrErrored: false,
</span><span class="cx"> canceled1: false,
</span><span class="cx"> canceled2: false,
</span><span class="lines">@@ -91,21 +91,17 @@
</span><span class="cx">
</span><span class="cx"> teeState.cancelPromiseCapability = @newPromiseCapability(@InternalPromise);
</span><span class="cx">
</span><del>- let pullFunction = @teeReadableStreamPullFunction(teeState, reader, shouldClone);
</del><ins>+ const pullFunction = @teeReadableStreamPullFunction(teeState, reader, shouldClone);
</ins><span class="cx">
</span><del>- let underlyingSource1 = {
</del><ins>+ const branch1 = new ReadableStream({
</ins><span class="cx"> "pull": pullFunction,
</span><span class="cx"> "cancel": @teeReadableStreamBranch1CancelFunction(teeState, stream)
</span><del>- };
-
- let underlyingSource2 = {
</del><ins>+ });
+ const branch2 = new ReadableStream({
</ins><span class="cx"> "pull": pullFunction,
</span><span class="cx"> "cancel": @teeReadableStreamBranch2CancelFunction(teeState, stream)
</span><del>- };
</del><ins>+ });
</ins><span class="cx">
</span><del>- let branch1 = new ReadableStream(underlyingSource1);
- let branch2 = new ReadableStream(underlyingSource2);
-
</del><span class="cx"> @Promise.prototype.@catch.@call(reader.closed, function(e) {
</span><span class="cx"> if (teeState.closedOrErrored)
</span><span class="cx"> return;
</span><span class="lines">@@ -123,6 +119,8 @@
</span><span class="cx">
</span><span class="cx"> function teeReadableStreamPullFunction(teeState, reader, shouldClone)
</span><span class="cx"> {
</span><ins>+ "use strict";
+
</ins><span class="cx"> return function() {
</span><span class="cx"> @Promise.prototype.@then.@call(reader.read(), function(result) {
</span><span class="cx"> if (result.done && !teeState.closedOrErrored) {
</span><span class="lines">@@ -146,6 +144,8 @@
</span><span class="cx">
</span><span class="cx"> function teeReadableStreamBranch1CancelFunction(teeState, stream)
</span><span class="cx"> {
</span><ins>+ "use strict";
+
</ins><span class="cx"> return function(r) {
</span><span class="cx"> teeState.canceled1 = true;
</span><span class="cx"> teeState.reason1 = r;
</span><span class="lines">@@ -160,6 +160,8 @@
</span><span class="cx">
</span><span class="cx"> function teeReadableStreamBranch2CancelFunction(teeState, stream)
</span><span class="cx"> {
</span><ins>+ "use strict";
+
</ins><span class="cx"> return function(r) {
</span><span class="cx"> teeState.canceled2 = true;
</span><span class="cx"> teeState.reason2 = r;
</span><span class="lines">@@ -204,10 +206,10 @@
</span><span class="cx">
</span><span class="cx"> if (!stream.@reader)
</span><span class="cx"> return;
</span><del>- var reader = stream.@reader;
</del><ins>+ const reader = stream.@reader;
</ins><span class="cx">
</span><del>- var requests = reader.@readRequests;
- for (var index = 0, length = requests.length; index < length; ++index)
</del><ins>+ const requests = reader.@readRequests;
+ for (let index = 0, length = requests.length; index < length; ++index)
</ins><span class="cx"> requests[index].@reject.@call(undefined, error);
</span><span class="cx"> reader.@readRequests = [];
</span><span class="cx">
</span><span class="lines">@@ -238,7 +240,7 @@
</span><span class="cx">
</span><span class="cx"> stream.@pulling = true;
</span><span class="cx">
</span><del>- var promise = @promiseInvokeOrNoop(stream.@underlyingSource, "pull", [stream.@controller]);
</del><ins>+ const promise = @promiseInvokeOrNoop(stream.@underlyingSource, "pull", [stream.@controller]);
</ins><span class="cx"> @Promise.prototype.@then.@call(promise, function() {
</span><span class="cx"> stream.@pulling = false;
</span><span class="cx"> if (stream.@pullAgain) {
</span><span class="lines">@@ -292,7 +294,7 @@
</span><span class="cx">
</span><span class="cx"> @assert(stream.@state === @streamReadable);
</span><span class="cx"> stream.@state = @streamClosed;
</span><del>- var reader = stream.@reader;
</del><ins>+ const reader = stream.@reader;
</ins><span class="cx"> if (reader)
</span><span class="cx"> @closeReadableStreamReader(reader);
</span><span class="cx"> }
</span><span class="lines">@@ -314,13 +316,13 @@
</span><span class="cx"> {
</span><span class="cx"> "use strict";
</span><span class="cx">
</span><del>- var requests = reader.@readRequests;
- for (var index = 0, length = requests.length; index < length; ++index)
</del><ins>+ const requests = reader.@readRequests;
+ for (let index = 0, length = requests.length; index < length; ++index)
</ins><span class="cx"> requests[index].@resolve.@call(undefined, {value:undefined, done: true});
</span><span class="cx"> reader.@readRequests = [];
</span><span class="cx"> @releaseReadableStreamReader(reader);
</span><span class="cx"> reader.@state = @streamClosed;
</span><del>- reader.@closedPromiseCapability.@resolve.@call(undefined);
</del><ins>+ reader.@closedPromiseCapability.@resolve.@call();
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> function enqueueInReadableStream(stream, chunk)
</span><span class="lines">@@ -330,18 +332,18 @@
</span><span class="cx"> @assert(!stream.@closeRequested);
</span><span class="cx"> @assert(stream.@state !== @streamErrored);
</span><span class="cx"> if (stream.@state === @streamClosed)
</span><del>- return undefined;
</del><ins>+ return;
</ins><span class="cx"> if (@isReadableStreamLocked(stream) && stream.@reader.@readRequests.length) {
</span><span class="cx"> stream.@reader.@readRequests.shift().@resolve.@call(undefined, {value: chunk, done: false});
</span><span class="cx"> @requestReadableStreamPull(stream);
</span><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx"> try {
</span><del>- var size = 1;
</del><ins>+ let size = 1;
</ins><span class="cx"> if (stream.@strategy.size) {
</span><span class="cx"> size = Number(stream.@strategy.size(chunk));
</span><span class="cx"> if (Number.isNaN(size) || size === +Infinity || size < 0)
</span><del>- throw new RangeError("Chunk size is not valid");
</del><ins>+ throw new @RangeError("Chunk size is not valid");
</ins><span class="cx"> }
</span><span class="cx"> @enqueueValueWithSize(stream.@queue, chunk, size);
</span><span class="cx"> }
</span><span class="lines">@@ -362,16 +364,16 @@
</span><span class="cx"> return @Promise.@reject(reader.@storedError);
</span><span class="cx"> @assert(!!reader.@ownerReadableStream);
</span><span class="cx"> @assert(reader.@ownerReadableStream.@state === @streamReadable);
</span><del>- var stream = reader.@ownerReadableStream;
</del><ins>+ const stream = reader.@ownerReadableStream;
</ins><span class="cx"> if (stream.@queue.content.length) {
</span><del>- var chunk = @dequeueValue(stream.@queue);
</del><ins>+ const chunk = @dequeueValue(stream.@queue);
</ins><span class="cx"> if (!stream.@closeRequested)
</span><span class="cx"> @requestReadableStreamPull(stream);
</span><span class="cx"> else if (!stream.@queue.content.length)
</span><span class="cx"> @finishClosingReadableStream(stream);
</span><span class="cx"> return @Promise.@resolve({value: chunk, done: false});
</span><span class="cx"> }
</span><del>- var readPromiseCapability = @newPromiseCapability(@Promise);
</del><ins>+ const readPromiseCapability = @newPromiseCapability(@Promise);
</ins><span class="cx"> reader.@readRequests.push(readPromiseCapability);
</span><span class="cx"> @requestReadableStreamPull(stream);
</span><span class="cx"> return readPromiseCapability.@promise;
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesstreamsReadableStreamReaderjs"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/streams/ReadableStreamReader.js (192245 => 192246)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/streams/ReadableStreamReader.js        2015-11-10 14:42:42 UTC (rev 192245)
+++ trunk/Source/WebCore/Modules/streams/ReadableStreamReader.js        2015-11-10 15:45:21 UTC (rev 192246)
</span><span class="lines">@@ -64,7 +64,7 @@
</span><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> if (this.@readRequests.length)
</span><del>- throw new @TypeError();
</del><ins>+ throw new @TypeError("There are still pending read requests, cannot release the lock");
</ins><span class="cx">
</span><span class="cx"> @closeReadableStreamReader(this);
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesstreamsStreamInternalsjs"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/streams/StreamInternals.js (192245 => 192246)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/streams/StreamInternals.js        2015-11-10 14:42:42 UTC (rev 192245)
+++ trunk/Source/WebCore/Modules/streams/StreamInternals.js        2015-11-10 15:45:21 UTC (rev 192246)
</span><span class="lines">@@ -31,7 +31,7 @@
</span><span class="cx"> {
</span><span class="cx"> "use strict";
</span><span class="cx">
</span><del>- var method = object[key];
</del><ins>+ const method = object[key];
</ins><span class="cx"> if (typeof method === "undefined")
</span><span class="cx"> return;
</span><span class="cx"> return method.@apply(object, args);
</span><span class="lines">@@ -42,11 +42,10 @@
</span><span class="cx"> "use strict";
</span><span class="cx">
</span><span class="cx"> try {
</span><del>- var method = object[key];
</del><ins>+ const method = object[key];
</ins><span class="cx"> if (typeof method === "undefined")
</span><span class="cx"> return @Promise.@resolve();
</span><del>- var result = method.@apply(object, args);
- return @Promise.@resolve(result);
</del><ins>+ return @Promise.@resolve(method.@apply(object, args));
</ins><span class="cx"> }
</span><span class="cx"> catch(error) {
</span><span class="cx"> return @Promise.@reject(error);
</span><span class="lines">@@ -62,8 +61,7 @@
</span><span class="cx"> const method = object[key1];
</span><span class="cx"> if (typeof method === "undefined")
</span><span class="cx"> return @promiseInvokeOrNoop(object, key2, args2);
</span><del>- const result = method.@apply(object, args1);
- return @Promise.@resolve(result);
</del><ins>+ return @Promise.@resolve(method.@apply(object, args1));
</ins><span class="cx"> }
</span><span class="cx"> catch(error) {
</span><span class="cx"> return @Promise.@reject(error);
</span><span class="lines">@@ -77,7 +75,7 @@
</span><span class="cx"> if (size !== undefined && typeof size !== "function")
</span><span class="cx"> throw new @TypeError("size parameter must be a function");
</span><span class="cx">
</span><del>- var normalizedStrategy = { };
</del><ins>+ const normalizedStrategy = { };
</ins><span class="cx">
</span><span class="cx"> normalizedStrategy.size = size;
</span><span class="cx"> normalizedStrategy.highWaterMark = Number(highWaterMark);
</span><span class="lines">@@ -92,6 +90,8 @@
</span><span class="cx">
</span><span class="cx"> function newQueue()
</span><span class="cx"> {
</span><ins>+ "use strict";
+
</ins><span class="cx"> return { content: [], size: 0 };
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -99,24 +99,26 @@
</span><span class="cx"> {
</span><span class="cx"> "use strict";
</span><span class="cx">
</span><del>- var record = queue.content.shift();
</del><ins>+ const record = queue.content.shift();
</ins><span class="cx"> queue.size -= record.size;
</span><span class="cx"> return record.value;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> function enqueueValueWithSize(queue, value, size)
</span><span class="cx"> {
</span><ins>+ "use strict";
+
</ins><span class="cx"> size = Number(size);
</span><span class="cx"> if (Number.isNaN(size) || !Number.isFinite(size) || size < 0)
</span><span class="cx"> throw new @RangeError("size has an incorrect value");
</span><span class="cx"> queue.content.push({ value: value, size: size });
</span><span class="cx"> queue.size += size;
</span><del>-
- return undefined;
</del><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> function peekQueueValue(queue)
</span><span class="cx"> {
</span><ins>+ "use strict";
+
</ins><span class="cx"> @assert(queue.content.length > 0);
</span><span class="cx">
</span><span class="cx"> return queue.content[0].value;
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesstreamsWritableStreamjs"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/streams/WritableStream.js (192245 => 192246)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/streams/WritableStream.js        2015-11-10 14:42:42 UTC (rev 192245)
+++ trunk/Source/WebCore/Modules/streams/WritableStream.js        2015-11-10 15:45:21 UTC (rev 192246)
</span><span class="lines">@@ -53,10 +53,9 @@
</span><span class="cx">
</span><span class="cx"> @syncWritableStreamStateWithQueue(this);
</span><span class="cx">
</span><del>- var error = @errorWritableStream.bind(this);
- var startResult = @invokeOrNoop(underlyingSink, "start", [error]);
- this.@startedPromise = @Promise.@resolve(startResult);
- var _this = this;
</del><ins>+ const error = @errorWritableStream.bind(this);
+ this.@startedPromise = @Promise.@resolve(@invokeOrNoop(underlyingSink, "start", [error]));
+ const _this = this;
</ins><span class="cx"> @Promise.prototype.@then.@call(this.@startedPromise, function() {
</span><span class="cx"> _this.@started = true;
</span><span class="cx"> _this.@startedPromise = undefined;
</span><span class="lines">@@ -78,7 +77,7 @@
</span><span class="cx"> if (this.@state === @streamErrored)
</span><span class="cx"> return @Promise.@reject(this.@storedError);
</span><span class="cx">
</span><del>- @errorWritableStream.@apply(this, [reason]);
</del><ins>+ @errorWritableStream.@call(this, reason);
</ins><span class="cx">
</span><span class="cx"> const sinkAbortPromise = @promiseInvokeOrFallbackOrNoop(this.@underlyingSink, "abort", [reason], "close", []);
</span><span class="cx">
</span><span class="lines">@@ -99,7 +98,7 @@
</span><span class="cx"> return @Promise.@reject(this.@storedError);
</span><span class="cx">
</span><span class="cx"> if (this.@state === @streamWaiting)
</span><del>- this.@readyPromiseCapability.@resolve.@call(undefined, undefined);
</del><ins>+ this.@readyPromiseCapability.@resolve.@call();
</ins><span class="cx">
</span><span class="cx"> this.@state = @streamClosing;
</span><span class="cx"> @enqueueValueWithSize(this.@queue, "close", 0);
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesstreamsWritableStreamInternalsjs"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/streams/WritableStreamInternals.js (192245 => 192246)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/streams/WritableStreamInternals.js        2015-11-10 14:42:42 UTC (rev 192245)
+++ trunk/Source/WebCore/Modules/streams/WritableStreamInternals.js        2015-11-10 15:45:21 UTC (rev 192246)
</span><span class="lines">@@ -50,7 +50,7 @@
</span><span class="cx"> }
</span><span class="cx"> if (!shouldApplyBackpressure && stream.@state === @streamWaiting) {
</span><span class="cx"> stream.@state = @streamWritable;
</span><del>- stream.@readyPromiseCapability.@resolve.@call(undefined, undefined);
</del><ins>+ stream.@readyPromiseCapability.@resolve.@call();
</ins><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -59,34 +59,35 @@
</span><span class="cx"> "use strict";
</span><span class="cx">
</span><span class="cx"> if (this.@state === @streamClosed || this.@state === @streamErrored)
</span><del>- return undefined;
</del><ins>+ return;
</ins><span class="cx"> while (this.@queue.content.length > 0) {
</span><del>- var writeRecord = @dequeueValue(this.@queue);
</del><ins>+ const writeRecord = @dequeueValue(this.@queue);
</ins><span class="cx"> if (writeRecord !== "close")
</span><span class="cx"> writeRecord.promiseCapability.@reject.@call(undefined, e);
</span><span class="cx"> }
</span><span class="cx"> this.@storedError = e;
</span><span class="cx"> if (this.@state === @streamWaiting)
</span><del>- this.@readyPromiseCapability.@resolve.@call(undefined, undefined);
</del><ins>+ this.@readyPromiseCapability.@resolve.@call();
</ins><span class="cx"> this.@closedPromiseCapability.@reject.@call(undefined, e);
</span><span class="cx"> this.@state = @streamErrored;
</span><del>- return undefined;
</del><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> function callOrScheduleWritableStreamAdvanceQueue(stream)
</span><span class="cx"> {
</span><ins>+ "use strict";
+
</ins><span class="cx"> if (!stream.@started)
</span><span class="cx"> @Promise.prototype.@then.@call(stream.@startedPromise, function() { @writableStreamAdvanceQueue(stream); });
</span><span class="cx"> else
</span><span class="cx"> @writableStreamAdvanceQueue(stream);
</span><del>-
- return undefined;
</del><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> function writableStreamAdvanceQueue(stream)
</span><span class="cx"> {
</span><ins>+ "use strict";
+
</ins><span class="cx"> if (stream.@queue.content.length === 0 || stream.@writing)
</span><del>- return undefined;
</del><ins>+ return;
</ins><span class="cx">
</span><span class="cx"> const writeRecord = @peekQueueValue(stream.@queue);
</span><span class="cx"> if (writeRecord === "close") {
</span><span class="lines">@@ -94,7 +95,7 @@
</span><span class="cx"> @dequeueValue(stream.@queue);
</span><span class="cx"> @assert(stream.@queue.content.length === 0);
</span><span class="cx"> @closeWritableStream(stream);
</span><del>- return undefined;
</del><ins>+ return;
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> stream.@writing = true;
</span><span class="lines">@@ -103,7 +104,7 @@
</span><span class="cx"> if (stream.@state === @streamErrored)
</span><span class="cx"> return;
</span><span class="cx"> stream.@writing = false;
</span><del>- writeRecord.promiseCapability.@resolve.@call(undefined, undefined);
</del><ins>+ writeRecord.promiseCapability.@resolve.@call();
</ins><span class="cx"> @dequeueValue(stream.@queue);
</span><span class="cx"> @syncWritableStreamStateWithQueue(stream);
</span><span class="cx"> @writableStreamAdvanceQueue(stream);
</span><span class="lines">@@ -112,25 +113,23 @@
</span><span class="cx"> @errorWritableStream.@apply(stream, [r]);
</span><span class="cx"> }
</span><span class="cx"> );
</span><del>-
- return undefined;
</del><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> function closeWritableStream(stream)
</span><span class="cx"> {
</span><ins>+ "use strict";
+
</ins><span class="cx"> @assert(stream.@state === @streamClosing);
</span><span class="cx"> @Promise.prototype.@then.@call(@promiseInvokeOrNoop(stream.@underlyingSink, "close"),
</span><span class="cx"> function() {
</span><span class="cx"> if (stream.@state === @streamErrored)
</span><span class="cx"> return;
</span><span class="cx"> @assert(stream.@state === @streamClosing);
</span><del>- stream.@closedPromiseCapability.@resolve.@call(undefined, undefined);
</del><ins>+ stream.@closedPromiseCapability.@resolve.@call();
</ins><span class="cx"> stream.@state = @streamClosed;
</span><span class="cx"> },
</span><span class="cx"> function(r) {
</span><span class="cx"> @errorWritableStream.@apply(stream, [r]);
</span><span class="cx"> }
</span><span class="cx"> );
</span><del>-
- return undefined;
</del><span class="cx"> }
</span></span></pre>
</div>
</div>
</body>
</html>