Title: [203347] trunk
Revision
203347
Author
[email protected]
Date
2016-07-18 06:41:07 -0700 (Mon, 18 Jul 2016)

Log Message

[Streams API] ReadableStream should throw a RangeError in case of NaN highWaterMark
https://bugs.webkit.org/show_bug.cgi?id=159870

Patch by Youenn Fablet <[email protected]> on 2016-07-18
Reviewed by Xabier Rodriguez-Calvar.

LayoutTests/imported/w3c:

* web-platform-tests/streams/readable-streams/bad-strategies.https-expected.txt:

Source/WebCore:

Covered by rebased test.

* Modules/streams/StreamInternals.js:
(validateAndNormalizeQueuingStrategy): Throwing a RangeError in lieu of a TypeError in case of NaN highWaterMark.

LayoutTests:

* streams/reference-implementation/bad-strategies.html: Reflecting isNaN change in WritableStream test.

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (203346 => 203347)


--- trunk/LayoutTests/ChangeLog	2016-07-18 12:41:44 UTC (rev 203346)
+++ trunk/LayoutTests/ChangeLog	2016-07-18 13:41:07 UTC (rev 203347)
@@ -1,3 +1,12 @@
+2016-07-18  Youenn Fablet  <[email protected]>
+
+        [Streams API] ReadableStream should throw a RangeError in case of NaN highWaterMark
+        https://bugs.webkit.org/show_bug.cgi?id=159870
+
+        Reviewed by Xabier Rodriguez-Calvar.
+
+        * streams/reference-implementation/bad-strategies.html: Reflecting isNaN change in WritableStream test.
+
 2016-07-17  Frederic Wang  <[email protected]>
 
         Rebaseline Windows and EFL MathML pixel tests after r203289.

Modified: trunk/LayoutTests/imported/w3c/ChangeLog (203346 => 203347)


--- trunk/LayoutTests/imported/w3c/ChangeLog	2016-07-18 12:41:44 UTC (rev 203346)
+++ trunk/LayoutTests/imported/w3c/ChangeLog	2016-07-18 13:41:07 UTC (rev 203347)
@@ -1,3 +1,12 @@
+2016-07-18  Youenn Fablet  <[email protected]>
+
+        [Streams API] ReadableStream should throw a RangeError in case of NaN highWaterMark
+        https://bugs.webkit.org/show_bug.cgi?id=159870
+
+        Reviewed by Xabier Rodriguez-Calvar.
+
+        * web-platform-tests/streams/readable-streams/bad-strategies.https-expected.txt:
+
 2016-07-17  Brady Eidson  <[email protected]>
 
         Update DOMCoreException to use the description in toString().

Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/bad-strategies.https-expected.txt (203346 => 203347)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/bad-strategies.https-expected.txt	2016-07-18 12:41:44 UTC (rev 203346)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/bad-strategies.https-expected.txt	2016-07-18 13:41:07 UTC (rev 203347)
@@ -4,10 +4,7 @@
 PASS Readable stream: strategy.size errors the stream and then returns Infinity 
 PASS Readable stream: throwing strategy.size method 
 PASS Readable stream: throwing strategy.highWaterMark getter 
-FAIL Readable stream: invalid strategy.highWaterMark assert_throws: construction should throw a RangeError for NaN function "() => {
-      new ReadableStream({}, {
-        size() {
- ..." threw object "TypeError: highWaterMark parameter is not a number" ("TypeError") expected object "RangeError" ("RangeError")
+PASS Readable stream: invalid strategy.highWaterMark 
 PASS Readable stream: invalid strategy.size return value 
 FAIL Load bad-strategies.js with SharedWorker assert_unreached: SharedWorker is unavailable Reached unreachable code
 FAIL Untitled undefined is not an object (evaluating 'navigator.serviceWorker.getRegistration')
@@ -16,9 +13,6 @@
 PASS Readable stream: strategy.size errors the stream and then returns Infinity 
 PASS Readable stream: throwing strategy.size method 
 PASS Readable stream: throwing strategy.highWaterMark getter 
-FAIL Readable stream: invalid strategy.highWaterMark assert_throws: construction should throw a RangeError for NaN function "() => {
-      new ReadableStream({}, {
-        size() {
- ..." threw object "TypeError: highWaterMark parameter is not a number" ("TypeError") expected object "RangeError" ("RangeError")
+PASS Readable stream: invalid strategy.highWaterMark 
 PASS Readable stream: invalid strategy.size return value 
 

Modified: trunk/LayoutTests/streams/reference-implementation/bad-strategies.html (203346 => 203347)


--- trunk/LayoutTests/streams/reference-implementation/bad-strategies.html	2016-07-18 12:41:44 UTC (rev 203346)
+++ trunk/LayoutTests/streams/reference-implementation/bad-strategies.html	2016-07-18 13:41:07 UTC (rev 203347)
@@ -111,7 +111,7 @@
     }
 
     for (var highWaterMark of [NaN, 'foo', {}]) {
-        assert_throws(new TypeError(), function() {
+        assert_throws(new RangeError(), function() {
             new WritableStream({}, {
                 size: function() {
                     return 1;

Modified: trunk/Source/WebCore/ChangeLog (203346 => 203347)


--- trunk/Source/WebCore/ChangeLog	2016-07-18 12:41:44 UTC (rev 203346)
+++ trunk/Source/WebCore/ChangeLog	2016-07-18 13:41:07 UTC (rev 203347)
@@ -1,3 +1,15 @@
+2016-07-18  Youenn Fablet  <[email protected]>
+
+        [Streams API] ReadableStream should throw a RangeError in case of NaN highWaterMark
+        https://bugs.webkit.org/show_bug.cgi?id=159870
+
+        Reviewed by Xabier Rodriguez-Calvar.
+
+        Covered by rebased test.
+
+        * Modules/streams/StreamInternals.js:
+        (validateAndNormalizeQueuingStrategy): Throwing a RangeError in lieu of a TypeError in case of NaN highWaterMark.
+
 2016-07-18  Csaba Osztrogonác  <[email protected]>
 
         Windows buildfix after r203338

Modified: trunk/Source/WebCore/Modules/streams/StreamInternals.js (203346 => 203347)


--- trunk/Source/WebCore/Modules/streams/StreamInternals.js	2016-07-18 12:41:44 UTC (rev 203346)
+++ trunk/Source/WebCore/Modules/streams/StreamInternals.js	2016-07-18 13:41:07 UTC (rev 203347)
@@ -85,10 +85,8 @@
     normalizedStrategy.size = size;
     normalizedStrategy.highWaterMark = @Number(highWaterMark);
 
-    if (@isNaN(normalizedStrategy.highWaterMark))
-        throw new @TypeError("highWaterMark parameter is not a number");
-    if (normalizedStrategy.highWaterMark < 0)
-        throw new @RangeError("highWaterMark is negative");
+    if (@isNaN(normalizedStrategy.highWaterMark) || normalizedStrategy.highWaterMark < 0)
+        throw new @RangeError("highWaterMark value is negative or not a number");
 
     return normalizedStrategy;
 }
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to