author | Jason Orendorff <jorendorff@mozilla.com> |
Fri, 16 Nov 2018 12:37:15 +0000 | |
changeset 446745 | 629234236ee4c8991f2170eca8df19297a9f583d |
parent 446744 | 6da0db82505cb9e55b15c4306725503cf168553d |
child 446746 | ff90a2f2c6547e2a432ea50d0479184c3283fa8b |
push id | 35048 |
push user | rgurzau@mozilla.com |
push date | Fri, 16 Nov 2018 17:06:22 +0000 |
treeherder | mozilla-central@8c5eaa1d4356 [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | jwalden |
bugs | 1506656 |
milestone | 65.0a1 |
first release with | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
last release without | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
js/src/builtin/Stream.cpp | file | annotate | diff | comparison | revisions | |
js/src/js.msg | file | annotate | diff | comparison | revisions |
--- a/js/src/builtin/Stream.cpp +++ b/js/src/builtin/Stream.cpp @@ -2289,49 +2289,20 @@ CreateReadableStreamDefaultController(JS } // Streams spec, 3.8.3. // new ReadableStreamDefaultController( stream, underlyingSource, size, // highWaterMark ) bool ReadableStreamDefaultController::constructor(JSContext* cx, unsigned argc, Value* vp) { - CallArgs args = CallArgsFromVp(argc, vp); - - if (!ThrowIfNotConstructing(cx, args, "ReadableStreamDefaultController")) { - return false; - } - - // Step 1: If ! IsReadableStream(stream) is false, throw a TypeError exception. - HandleValue streamVal = args.get(0); - if (!Is<ReadableStream>(streamVal)) { - ReportArgTypeError(cx, "ReadableStreamDefaultController", "ReadableStream", - args.get(0)); - return false; - } - - Rooted<ReadableStream*> stream(cx, &streamVal.toObject().as<ReadableStream>()); - - // Step 2: If stream.[[readableStreamController]] is not undefined, throw a - // TypeError exception. - if (stream->hasController()) { - JS_ReportErrorNumberASCII(cx, GetErrorMessage, nullptr, - JSMSG_READABLESTREAM_CONTROLLER_SET); - return false; - } - - // Steps 3-11. - RootedObject controller(cx, CreateReadableStreamDefaultController(cx, stream, args.get(1), - args.get(2), args.get(3))); - if (!controller) { - return false; - } - - args.rval().setObject(*controller); - return true; + // Step 1: Throw a TypeError. + JS_ReportErrorNumberASCII(cx, GetErrorMessage, nullptr, + JSMSG_BOGUS_CONSTRUCTOR, "ReadableStreamDefaultController"); + return false; } static MOZ_MUST_USE double ReadableStreamControllerGetDesiredSizeUnchecked(ReadableStreamController* controller); // Streams spec, 3.8.4.1. get desiredSize // and // Streams spec, 3.10.4.2. get desiredSize @@ -3219,48 +3190,20 @@ CreateReadableByteStreamController(JSCon } // Streams spec, 3.10.3. // new ReadableByteStreamController ( stream, underlyingByteSource, // highWaterMark ) bool ReadableByteStreamController::constructor(JSContext* cx, unsigned argc, Value* vp) { - CallArgs args = CallArgsFromVp(argc, vp); - - if (!ThrowIfNotConstructing(cx, args, "ReadableByteStreamController")) { - return false; - } - - // Step 1: If ! IsReadableStream(stream) is false, throw a TypeError exception. - HandleValue streamVal = args.get(0); - if (!Is<ReadableStream>(streamVal)) { - ReportArgTypeError(cx, "ReadableStreamDefaultController", "ReadableStream", - args.get(0)); - return false; - } - - Rooted<ReadableStream*> stream(cx, &streamVal.toObject().as<ReadableStream>()); - - // Step 2: If stream.[[readableStreamController]] is not undefined, throw a - // TypeError exception. - if (stream->hasController()) { - JS_ReportErrorNumberASCII(cx, GetErrorMessage, nullptr, - JSMSG_READABLESTREAM_CONTROLLER_SET); - return false; - } - - RootedObject controller(cx, CreateReadableByteStreamController(cx, stream, args.get(1), - args.get(2))); - if (!controller) { - return false; - } - - args.rval().setObject(*controller); - return true; + // Step 1: Throw a TypeError exception. + JS_ReportErrorNumberASCII(cx, GetErrorMessage, nullptr, + JSMSG_BOGUS_CONSTRUCTOR, "ReadableByteStreamController"); + return false; } // Version of the ReadableByteStreamConstructor that's specialized for // handling external, embedding-provided, underlying sources. static MOZ_MUST_USE ReadableByteStreamController* CreateReadableByteStreamController(JSContext* cx, Handle<ReadableStream*> stream, void* underlyingSource) {
--- a/js/src/js.msg +++ b/js/src/js.msg @@ -46,16 +46,17 @@ MSG_DEF(JSMSG_MORE_ARGS_NEEDED, 3 MSG_DEF(JSMSG_INCOMPATIBLE_PROTO, 3, JSEXN_TYPEERR, "{0}.prototype.{1} called on incompatible {2}") MSG_DEF(JSMSG_NO_CONSTRUCTOR, 1, JSEXN_TYPEERR, "{0} has no constructor") MSG_DEF(JSMSG_BAD_SORT_ARG, 0, JSEXN_TYPEERR, "invalid Array.prototype.sort argument") MSG_DEF(JSMSG_READ_ONLY, 1, JSEXN_TYPEERR, "{0} is read-only") MSG_DEF(JSMSG_CANT_DELETE, 1, JSEXN_TYPEERR, "property {0} is non-configurable and can't be deleted") MSG_DEF(JSMSG_CANT_TRUNCATE_ARRAY, 0, JSEXN_TYPEERR, "can't delete non-configurable array element") MSG_DEF(JSMSG_NOT_FUNCTION, 1, JSEXN_TYPEERR, "{0} is not a function") MSG_DEF(JSMSG_NOT_CONSTRUCTOR, 1, JSEXN_TYPEERR, "{0} is not a constructor") +MSG_DEF(JSMSG_BOGUS_CONSTRUCTOR, 1, JSEXN_TYPEERR, "{0} constructor can't be used directly") MSG_DEF(JSMSG_CANT_CONVERT_TO, 2, JSEXN_TYPEERR, "can't convert {0} to {1}") MSG_DEF(JSMSG_TOPRIMITIVE_NOT_CALLABLE, 2, JSEXN_TYPEERR, "can't convert {0} to {1}: its [Symbol.toPrimitive] property is not a function") MSG_DEF(JSMSG_TOPRIMITIVE_RETURNED_OBJECT, 2, JSEXN_TYPEERR, "can't convert {0} to {1}: its [Symbol.toPrimitive] method returned an object") MSG_DEF(JSMSG_NO_PROPERTIES, 1, JSEXN_TYPEERR, "{0} has no properties") MSG_DEF(JSMSG_PROPERTY_FAIL, 2, JSEXN_TYPEERR, "can't access property {0} of {1}") MSG_DEF(JSMSG_PROPERTY_FAIL_EXPR, 3, JSEXN_TYPEERR, "{0} is {1}; can't access its {2} property") MSG_DEF(JSMSG_ELEMENT_FAIL_EXPR, 3, JSEXN_TYPEERR, "{0} is {1}; can't access element at index {2}") MSG_DEF(JSMSG_BAD_REGEXP_FLAG, 1, JSEXN_SYNTAXERR, "invalid regular expression flag {0}")