From 2f86eb3f31deda3ef2e38afea36ac7f82f51b759 Mon Sep 17 00:00:00 2001 From: Jason Orendorff Date: Fri, 2 Nov 2018 21:08:58 +0000 Subject: [PATCH] Bug 1503006 - Part 11: Rename two remaining static methods to toplevel functions. r=tcampbell This also reorders the remaining members of class ReadableStream a bit. Depends on D10435 Differential Revision: https://phabricator.services.mozilla.com/D10436 --HG-- extra : moz-landing-system : lando --- js/src/builtin/Stream.cpp | 31 +++++++++++++++++++------------ js/src/builtin/Stream.h | 29 ++++++++++++----------------- 2 files changed, 31 insertions(+), 29 deletions(-) diff --git a/js/src/builtin/Stream.cpp b/js/src/builtin/Stream.cpp index 47bdc1f241b9..0c84ae9f4ab1 100644 --- a/js/src/builtin/Stream.cpp +++ b/js/src/builtin/Stream.cpp @@ -712,6 +712,9 @@ ReadableStream_locked(JSContext* cx, unsigned argc, Value* vp) return true; } +static MOZ_MUST_USE JSObject* +ReadableStreamCancel(JSContext* cx, Handle stream, HandleValue reason); + // Streams spec, 3.2.5.2. cancel ( reason ) static MOZ_MUST_USE bool ReadableStream_cancel(JSContext* cx, unsigned argc, Value* vp) @@ -734,7 +737,7 @@ ReadableStream_cancel(JSContext* cx, unsigned argc, Value* vp) } // Step 3: Return ! ReadableStreamCancel(this, reason). - RootedObject cancelPromise(cx, ReadableStream::cancel(cx, stream, args.get(0))); + RootedObject cancelPromise(cx, ::ReadableStreamCancel(cx, stream, args.get(0))); if (!cancelPromise) { return false; } @@ -997,6 +1000,10 @@ TeeReaderReadHandler(JSContext* cx, unsigned argc, Value* vp) return true; } +static MOZ_MUST_USE JSObject* +ReadableStreamDefaultReaderRead(JSContext* cx, + Handle unwrappedReader); + static MOZ_MUST_USE JSObject* ReadableStreamTee_Pull(JSContext* cx, Handle unwrappedTeeState) { @@ -1020,7 +1027,7 @@ ReadableStreamTee_Pull(JSContext* cx, Handle unwrappedTeeState) Rooted unwrappedReader(cx, &unwrappedReaderObj->as()); - RootedObject readPromise(cx, ReadableStreamDefaultReader::read(cx, unwrappedReader)); + RootedObject readPromise(cx, ::ReadableStreamDefaultReaderRead(cx, unwrappedReader)); if (!readPromise) { return nullptr; } @@ -1101,7 +1108,7 @@ ReadableStreamTee_Cancel(JSContext* cx, Handle teeState, Rooted promise(cx, teeState->promise()); // Step b: Let cancelResult be ! ReadableStreamCancel(stream, compositeReason). - RootedObject cancelResult(cx, ReadableStream::cancel(cx, stream, compositeReasonVal)); + RootedObject cancelResult(cx, ::ReadableStreamCancel(cx, stream, compositeReasonVal)); { AutoRealm ar(cx, promise); if (!cancelResult) { @@ -1337,8 +1344,8 @@ ReadableStreamCloseInternal(JSContext* cx, Handle stream); * Note: can operate on unwrapped ReadableStream instances from * another compartment. `reason` must be in the cx compartment. */ -/* static */ MOZ_MUST_USE JSObject* -ReadableStream::cancel(JSContext* cx, Handle stream, HandleValue reason) +static MOZ_MUST_USE JSObject* +ReadableStreamCancel(JSContext* cx, Handle stream, HandleValue reason) { AssertSameCompartment(cx, reason); @@ -1853,7 +1860,7 @@ ReadableStreamDefaultReader_read(JSContext* cx, unsigned argc, Value* vp) } // Step 3: Return ! ReadableStreamDefaultReaderRead(this). - JSObject* readPromise = ReadableStreamDefaultReader::read(cx, reader); + JSObject* readPromise = ::ReadableStreamDefaultReaderRead(cx, reader); if (!readPromise) { return false; } @@ -1955,7 +1962,7 @@ ReadableStreamReaderGenericCancel(JSContext* cx, Handle r } // Step 3: Return ! ReadableStreamCancel(stream, reason). - return ReadableStream::cancel(cx, stream, reason); + return ::ReadableStreamCancel(cx, stream, reason); } /** @@ -2107,9 +2114,9 @@ ReadableStreamControllerPullSteps(JSContext* cx, Handle unwrappedReader) +static MOZ_MUST_USE JSObject* +ReadableStreamDefaultReaderRead(JSContext* cx, + Handle unwrappedReader) { // Step 1: Let stream be reader.[[ownerReadableStream]]. // Step 2: Assert: stream is not undefined. @@ -4294,7 +4301,7 @@ JS::ReadableStreamCancel(JSContext* cx, HandleObject streamObj, HandleValue reas if (!stream) return nullptr; - return ReadableStream::cancel(cx, stream, reason); + return ::ReadableStreamCancel(cx, stream, reason); } JS_PUBLIC_API(bool) @@ -4658,5 +4665,5 @@ JS::ReadableStreamDefaultReaderRead(JSContext* cx, HandleObject readerObj) if (!reader) return nullptr; - return js::ReadableStreamDefaultReader::read(cx, reader); + return ::ReadableStreamDefaultReaderRead(cx, reader); } diff --git a/js/src/builtin/Stream.h b/js/src/builtin/Stream.h index 0152508a8865..4c4ceee4ab08 100644 --- a/js/src/builtin/Stream.h +++ b/js/src/builtin/Stream.h @@ -41,6 +41,13 @@ class ReadableStream : public NativeObject SlotCount }; + enum State { + Readable = 1 << 0, + Closed = 1 << 1, + Errored = 1 << 2, + Disturbed = 1 << 3 + }; + private: uint32_t stateBits() const { return getFixedSlot(Slot_State).toInt32(); } void initStateBits(uint32_t stateBits) { setFixedSlot(Slot_State, Int32Value(stateBits)); } @@ -71,6 +78,11 @@ class ReadableStream : public NativeObject Value storedError() const { return getFixedSlot(Slot_StoredError); } void setStoredError(HandleValue value) { setFixedSlot(Slot_StoredError, value); } + JS::ReadableStreamMode mode() const; + uint8_t embeddingFlags() const; + + bool locked() const; + public: static ReadableStream* createDefaultStream(JSContext* cx, HandleValue underlyingSource, HandleValue size, HandleValue highWaterMark, @@ -78,21 +90,6 @@ class ReadableStream : public NativeObject static ReadableStream* createExternalSourceStream(JSContext* cx, void* underlyingSource, uint8_t flags, HandleObject proto = nullptr); - bool locked() const; - - JS::ReadableStreamMode mode() const; - uint8_t embeddingFlags() const; - - static MOZ_MUST_USE JSObject* cancel(JSContext* cx, Handle stream, - HandleValue reason); - - enum State { - Readable = 1 << 0, - Closed = 1 << 1, - Errored = 1 << 2, - Disturbed = 1 << 3 - }; - private: static MOZ_MUST_USE ReadableStream* createStream(JSContext* cx, HandleObject proto = nullptr); @@ -156,8 +153,6 @@ class ReadableStreamReader : public NativeObject class ReadableStreamDefaultReader : public ReadableStreamReader { public: - static MOZ_MUST_USE JSObject* read(JSContext* cx, Handle reader); - static bool constructor(JSContext* cx, unsigned argc, Value* vp); static const ClassSpec classSpec_; static const Class class_;