Lines Matching refs:JS
47458 namespace JS {
47507 namespace JS {
47523 typedef Handle<JS::Symbol*> HandleSymbol;
47531 typedef MutableHandle<JS::Symbol*> MutableHandleSymbol;
47538 typedef Rooted<JS::Symbol*> RootedSymbol;
47540 typedef Rooted<JS::Value> RootedValue;
47547 typedef PersistentRooted<JS::Symbol*> PersistentRootedSymbol;
47566 namespace JS {
47597 static_assert(uintptr_t(JS::TraceKind::BaseShape) & OutOfLineTraceKindMask, "mask bits are set");
47598 static_assert(uintptr_t(JS::TraceKind::JitCode) & OutOfLineTraceKindMask, "mask bits are set");
47599 static_assert(uintptr_t(JS::TraceKind::LazyScript) & OutOfLineTraceKindMask, "mask bits are set");
47600 static_assert(uintptr_t(JS::TraceKind::Scope) & OutOfLineTraceKindMask, "mask bits are set");
47601 static_assert(uintptr_t(JS::TraceKind::RegExpShared) & OutOfLineTraceKindMask, "mask bits are set");
47608 static const JS::TraceKind kind = T::TraceKind;
47611 template <> struct MapTypeToTraceKind<js::BaseShape> { static const JS::TraceKind kind = JS::TraceKind::BaseShape; }; template <> struct MapTypeToTraceKind<js::jit::JitCode> { static const JS::TraceKind kind = JS::TraceKind::JitCode; }; template <> struct MapTypeToTraceKind<js::LazyScript> { static const JS::TraceKind kind = JS::TraceKind::LazyScript; }; template <> struct MapTypeToTraceKind<js::Scope> { static const JS::TraceKind kind = JS::TraceKind::Scope; }; template <> struct MapTypeToTraceKind<JSObject> { static const JS::TraceKind kind = JS::TraceKind::Object; }; template <> struct MapTypeToTraceKind<js::ObjectGroup> { static const JS::TraceKind kind = JS::TraceKind::ObjectGroup; }; template <> struct MapTypeToTraceKind<JSScript> { static const JS::TraceKind kind = JS::TraceKind::Script; }; template <> struct MapTypeToTraceKind<js::Shape> { static const JS::TraceKind kind = JS::TraceKind::Shape; }; template <> struct MapTypeToTraceKind<JSString> { static const JS::TraceKind kind = JS::TraceKind::String; }; template <> struct MapTypeToTraceKind<JS::Symbol> { static const JS::TraceKind kind = JS::TraceKind::Symbol; }; template <> struct MapTypeToTraceKind<js::RegExpShared> { static const JS::TraceKind kind = JS::TraceKind::RegExpShared; };;
47641 template <> struct MapTraceKindToRootKind<JS::TraceKind::BaseShape> { static const JS::RootKind kind = JS::RootKind::BaseShape; }; template <> struct MapTraceKindToRootKind<JS::TraceKind::JitCode> { static const JS::RootKind kind = JS::RootKind::JitCode; }; template <> struct MapTraceKindToRootKind<JS::TraceKind::LazyScript> { static const JS::RootKind kind = JS::RootKind::LazyScript; }; template <> struct MapTraceKindToRootKind<JS::TraceKind::Scope> { static const JS::RootKind kind = JS::RootKind::Scope; }; template <> struct MapTraceKindToRootKind<JS::TraceKind::Object> { static const JS::RootKind kind = JS::RootKind::Object; }; template <> struct MapTraceKindToRootKind<JS::TraceKind::ObjectGroup> { static const JS::RootKind kind = JS::RootKind::ObjectGroup; }; template <> struct MapTraceKindToRootKind<JS::TraceKind::Script> { static const JS::RootKind kind = JS::RootKind::Script; }; template <> struct MapTraceKindToRootKind<JS::TraceKind::Shape> { static const JS::RootKind kind = JS::RootKind::Shape; }; template <> struct MapTraceKindToRootKind<JS::TraceKind::String> { static const JS::RootKind kind = JS::RootKind::String; }; template <> struct MapTraceKindToRootKind<JS::TraceKind::Symbol> { static const JS::RootKind kind = JS::RootKind::Symbol; }; template <> struct MapTraceKindToRootKind<JS::TraceKind::RegExpShared> { static const JS::RootKind kind = JS::RootKind::RegExpShared; };
47649 static const JS::RootKind kind = JS::RootKind::Traceable;
47653 static const JS::RootKind kind =
47654 JS::MapTraceKindToRootKind<JS::MapTypeToTraceKind<T>::kind>::kind;
47658 static const JS::RootKind kind = JS::MapTypeToRootKind<T>::kind;
47660 template <> struct MapTypeToRootKind<JS::Value> {
47661 static const JS::RootKind kind = JS::RootKind::Value;
47664 static const JS::RootKind kind = JS::RootKind::Id;
47670 DispatchTraceKindTyped(F f, JS::TraceKind traceKind, Args&&... args)
47677 case JS::TraceKind::BaseShape: return f. template operator()<js::BaseShape>(mozilla::Forward<Args>(args)...); case JS::TraceKind::JitCode: return f. template operator()<js::jit::JitCode>(mozilla::Forward<Args>(args)...); case JS::TraceKind::LazyScript: return f. template operator()<js::LazyScript>(mozilla::Forward<Args>(args)...); case JS::TraceKind::Scope: return f. template operator()<js::Scope>(mozilla::Forward<Args>(args)...); case JS::TraceKind::Object: return f. template operator()<JSObject>(mozilla::Forward<Args>(args)...); case JS::TraceKind::ObjectGroup: return f. template operator()<js::ObjectGroup>(mozilla::Forward<Args>(args)...); case JS::TraceKind::Script: return f. template operator()<JSScript>(mozilla::Forward<Args>(args)...); case JS::TraceKind::Shape: return f. template operator()<js::Shape>(mozilla::Forward<Args>(args)...); case JS::TraceKind::String: return f. template operator()<JSString>(mozilla::Forward<Args>(args)...); case JS::TraceKind::Symbol: return f. template operator()<JS::Symbol>(mozilla::Forward<Args>(args)...); case JS::TraceKind::RegExpShared: return f. template operator()<js::RegExpShared>(mozilla::Forward<Args>(args)...);;
47687 DispatchTraceKindTyped(F f, void* thing, JS::TraceKind traceKind, Args&&... args)
47694 case JS::TraceKind::BaseShape: return f(static_cast<js::BaseShape*>(thing), mozilla::Forward<Args>(args)...); case JS::TraceKind::JitCode: return f(static_cast<js::jit::JitCode*>(thing), mozilla::Forward<Args>(args)...); case JS::TraceKind::LazyScript: return f(static_cast<js::LazyScript*>(thing), mozilla::Forward<Args>(args)...); case JS::TraceKind::Scope: return f(static_cast<js::Scope*>(thing), mozilla::Forward<Args>(args)...); case JS::TraceKind::Object: return f(static_cast<JSObject*>(thing), mozilla::Forward<Args>(args)...); case JS::TraceKind::ObjectGroup: return f(static_cast<js::ObjectGroup*>(thing), mozilla::Forward<Args>(args)...); case JS::TraceKind::Script: return f(static_cast<JSScript*>(thing), mozilla::Forward<Args>(args)...); case JS::TraceKind::Shape: return f(static_cast<js::Shape*>(thing), mozilla::Forward<Args>(args)...); case JS::TraceKind::String: return f(static_cast<JSString*>(thing), mozilla::Forward<Args>(args)...); case JS::TraceKind::Symbol: return f(static_cast<JS::Symbol*>(thing), mozilla::Forward<Args>(args)...); case JS::TraceKind::RegExpShared: return f(static_cast<js::RegExpShared*>(thing), mozilla::Forward<Args>(args)...);;
47709 namespace JS {
47808 inline JS::Zone* GetContextZone(const JSContext* cx);
47822 namespace JS {
47971 template <typename T> friend class JS::Rooted;
47974 JS::AutoGCRooter* autoGCRooters_;
47975 friend class JS::AutoGCRooter;
47992 JS::Zone* zone_;
48007 friend JS::Zone* js::GetContextZone(const JSContext* cx);
48017 return JS::RootingContext::get(cx)->compartment_;
48020 inline JS::Zone*
48023 return JS::RootingContext::get(cx)->zone_;
50471 namespace JS {}
50707 namespace JS {
50732 typedef mozilla::UniquePtr<char[], JS::FreePolicy> UniqueChars;
50733 typedef mozilla::UniquePtr<char16_t[], JS::FreePolicy> UniqueTwoByteChars;
50762 CurrentThreadCanAccessZone(JS::Zone* zone);
50821 AssertGCThingHasType(js::gc::Cell* cell, JS::TraceKind kind);
50832 namespace JS {
50879 static __attribute__((always_inline)) inline JS::shadow::Zone* asShadowZone(JS::Zone* zone) {
50880 return reinterpret_cast<JS::shadow::Zone*>(zone);
50890 GCCellPtr(void* gcthing, JS::TraceKind traceKind) : ptr(checkedCast(gcthing, traceKind)) {}
50893 GCCellPtr(decltype(nullptr)) : ptr(checkedCast(nullptr, JS::TraceKind::Null)) {}
50897 explicit GCCellPtr(T* p) : ptr(checkedCast(p, JS::MapTypeToTraceKind<T>::kind)) { }
50898 explicit GCCellPtr(JSFunction* p) : ptr(checkedCast(p, JS::TraceKind::Object)) { }
50899 explicit GCCellPtr(JSFlatString* str) : ptr(checkedCast(str, JS::TraceKind::String)) { }
50902 JS::TraceKind kind() const {
50903 JS::TraceKind traceKind = JS::TraceKind(ptr & OutOfLineTraceKindMask);
50917 bool is() const { return kind() == JS::MapTypeToTraceKind<T>::kind; }
50950 static uintptr_t checkedCast(void* p, JS::TraceKind traceKind) {
50961 JS::TraceKind outOfLineKind() const;
50989 case JS::TraceKind::BaseShape: return f(&thing.as<js::BaseShape>(), mozilla::Forward<Args>(args)...); case JS::TraceKind::JitCode: return f(&thing.as<js::jit::JitCode>(), mozilla::Forward<Args>(args)...); case JS::TraceKind::LazyScript: return f(&thing.as<js::LazyScript>(), mozilla::Forward<Args>(args)...); case JS::TraceKind::Scope: return f(&thing.as<js::Scope>(), mozilla::Forward<Args>(args)...); case JS::TraceKind::Object: return f(&thing.as<JSObject>(), mozilla::Forward<Args>(args)...); case JS::TraceKind::ObjectGroup: return f(&thing.as<js::ObjectGroup>(), mozilla::Forward<Args>(args)...); case JS::TraceKind::Script: return f(&thing.as<JSScript>(), mozilla::Forward<Args>(args)...); case JS::TraceKind::Shape: return f(&thing.as<js::Shape>(), mozilla::Forward<Args>(args)...); case JS::TraceKind::String: return f(&thing.as<JSString>(), mozilla::Forward<Args>(args)...); case JS::TraceKind::Symbol: return f(&thing.as<JS::Symbol>(), mozilla::Forward<Args>(args)...); case JS::TraceKind::RegExpShared: return f(&thing.as<js::RegExpShared>(), mozilla::Forward<Args>(args)...);;
51023 static __attribute__((always_inline)) inline JS::Zone*
51028 return *reinterpret_cast<JS::Zone**>(zone_addr);
51070 namespace JS {
51096 extern JS::TraceKind
51105 IsIncrementalBarrierNeededOnTenuredGCThing(const JS::GCCellPtr thing)
51115 JS::Zone* zone = JS::GetTenuredGCThingZone(thing);
51116 return JS::shadow::Zone::asShadowZone(zone)->needsIncrementalBarrier();
51895 virtual void NoteJSChild(const JS::GCCellPtr& aThing) = 0;
56327 namespace JS {
56885 struct nsTArray_CopyChooser<JS::Heap<E>>
56887 typedef nsTArray_CopyWithConstructors<JS::Heap<E>> Type;
56921 struct nsTArray_TypedBase<JS::Heap<E>, Derived>
56922 : public nsTArray_SafeElementAtHelper<JS::Heap<E>, Derived>
56926 static_assert(sizeof(E) == sizeof(JS::Heap<E>),
56927 "JS::Heap<E> must be binary compatible with E.");
61568 template <typename T, typename D = JS::DeletePolicy<T>>
61647 namespace JS {
61672 ExplainReason(JS::gcreason::Reason reason);
61805 JS::dbg::GarbageCollectionEvent::Ptr toGCEvent(JSContext* cx) const;
62023 ExposeGCThingToActiveJS(JS::GCCellPtr thing)
62039 JS::IncrementalReadBarrier(thing);
62041 JS::UnmarkGrayGCThingRecursively(thing);
62047 GCThingReadBarrier(JS::GCCellPtr thing)
62062 JS::IncrementalReadBarrier(thing);
62068 namespace JS {
64177 namespace JS {
64184 GCTraceKindToAscii(JS::TraceKind kind);
64247 inline JS::CallbackTracer* asCallbackTracer();
64277 namespace JS {
64297 virtual void onObjectEdge(JSObject** objp) { onChild(JS::GCCellPtr(*objp)); }
64298 virtual void onStringEdge(JSString** strp) { onChild(JS::GCCellPtr(*strp)); }
64299 virtual void onSymbolEdge(JS::Symbol** symp) { onChild(JS::GCCellPtr(*symp)); }
64300 virtual void onScriptEdge(JSScript** scriptp) { onChild(JS::GCCellPtr(*scriptp)); }
64302 onChild(JS::GCCellPtr(*shapep, JS::TraceKind::Shape));
64305 onChild(JS::GCCellPtr(*groupp, JS::TraceKind::ObjectGroup));
64308 onChild(JS::GCCellPtr(*basep, JS::TraceKind::BaseShape));
64311 onChild(JS::GCCellPtr(*codep, JS::TraceKind::JitCode));
64314 onChild(JS::GCCellPtr(*lazyp, JS::TraceKind::LazyScript));
64317 onChild(JS::GCCellPtr(*scopep, JS::TraceKind::Scope));
64320 onChild(JS::GCCellPtr(*sharedp, JS::TraceKind::RegExpShared));
64325 virtual void onChild(const JS::GCCellPtr& thing) = 0;
64354 void dispatchToOnEdge(JS::Symbol** symp) { onSymbolEdge(symp); }
64449 JS::CallbackTracer*
64453 return static_cast<JS::CallbackTracer*>(this);
64456 namespace JS {
64460 TraceEdge(JSTracer* trc, JS::Heap<T>* edgep, const char* name);
64463 TraceEdge(JSTracer* trc, JS::TenuredHeap<JSObject*>* edgep, const char* name);
64488 TraceIncomingCCWs(JSTracer* trc, const JS::CompartmentSet& compartments);
64494 void* thing, JS::TraceKind kind, bool includeDetails);
64512 EdgeNeedsSweep(JS::Heap<T>* edgep);
64529 namespace JS {
64533 namespace JS {
64587 template <> struct GCPolicy<JS::Symbol*> : public GCPointerPolicy<JS::Symbol*> {};
64595 struct GCPolicy<JS::Heap<T>>
64597 static void trace(JSTracer* trc, JS::Heap<T>* thingp, const char* name) {
64600 static bool needsSweep(JS::Heap<T>* thingp) {
64652 template <> struct IsHeapConstructibleType<JS::Symbol*> { static constexpr bool value = true; }; template <> struct IsHeapConstructibleType<JSAtom*> { static constexpr bool value = true; }; template <> struct IsHeapConstructibleType<JSFunction*> { static constexpr bool value = true; }; template <> struct IsHeapConstructibleType<JSObject*> { static constexpr bool value = true; }; template <> struct IsHeapConstructibleType<JSScript*> { static constexpr bool value = true; }; template <> struct IsHeapConstructibleType<JSString*> { static constexpr bool value = true; };
64653 template <> struct IsHeapConstructibleType<JS::Value> { static constexpr bool value = true; }; template <> struct IsHeapConstructibleType<jsid> { static constexpr bool value = true; };
64667 namespace JS {
64779 ObjectIsMarkedGray(const JS::Heap<JSObject*>& obj)
64862 friend class JS::MutableHandle<T>;
64978 JS::AssertGCThingIsNotAnObjectSubclass(reinterpret_cast<js::gc::Cell*>(next));
64982 js::gc::ExposeGCThingToActiveJS(JS::GCCellPtr(t));
64997 JS::HeapObjectPostBarrier(vp, prev, next);
65001 JS::ExposeObjectToActiveJS(obj);
65016 JS::HeapObjectPostBarrier(reinterpret_cast<JSObject**>(vp),
65022 JS::ExposeObjectToActiveJS(reinterpret_cast<JSObject*>(fun));
65040 struct MovableCellHasher<JS::Heap<T>>
65042 using Key = JS::Heap<T>;
65072 static_assert(JS::MapTypeToRootKind<T>::kind == JS::RootKind::Traceable,
65082 : tracer(&JS::GCPolicy<T>::trace),
65103 namespace JS {
65109 this->stack = &roots[JS::MapTypeToRootKind<T>::kind];
65168 MapTypeToRootKind<T>::kind == JS::RootKind::Traceable,
65185 JS::Handle<U*> as() const;
65193 JS::Handle<U*> as() const;
65204 explicit FakeRooted(CX* cx) : ptr(JS::GCPolicy<T>::initial()) {}
65266 typedef JS::Handle<T> HandleType;
65267 typedef JS::Rooted<T> RootType;
65268 typedef JS::MutableHandle<T> MutableHandleType;
65270 static inline JS::Handle<T> toHandle(HandleType v) {
65274 static inline JS::MutableHandle<T> toMutableHandle(MutableHandleType v) {
65279 static inline JS::Handle<T2*> downcastHandle(HandleType v) {
65291 static JS::Handle<T> toHandle(HandleType v) {
65295 static JS::MutableHandle<T> toMutableHandle(MutableHandleType v) {
65307 namespace JS {
65365 JS::RootKind kind = JS::MapTypeToRootKind<T>::kind;
65366 AddPersistentRoot(cx, kind, reinterpret_cast<JS::PersistentRooted<void*>*>(this));
65454 MapTypeToRootKind<T>::kind == JS::RootKind::Traceable,
65533 static_assert(sizeof(T) == sizeof(JS::Heap<T>), "T and Heap<T> must be compatible.");
65538 JS::Heap<T>* asHeapT = reinterpret_cast<JS::Heap<T>*>(v);
65551 Swap(JS::Heap<T>& aX, JS::Heap<T>& aY)
65560 Swap(JS::TenuredHeap<T>& aX, JS::TenuredHeap<T>& aY)
65576 struct DefineComparisonOps<JS::Heap<T>> : mozilla::TrueType {
65577 static const T& get(const JS::Heap<T>& v) { return v.unbarrieredGet(); }
65581 struct DefineComparisonOps<JS::TenuredHeap<T>> : mozilla::TrueType {
65582 static const T get(const JS::TenuredHeap<T>& v) { return v.unbarrieredGetPtr(); }
65586 struct DefineComparisonOps<JS::ObjectPtr> : mozilla::TrueType {
65587 static const JSObject* get(const JS::ObjectPtr& v) { return v.unbarrieredGet(); }
65591 struct DefineComparisonOps<JS::Rooted<T>> : mozilla::TrueType {
65592 static const T& get(const JS::Rooted<T>& v) { return v.get(); }
65596 struct DefineComparisonOps<JS::Handle<T>> : mozilla::TrueType {
65597 static const T& get(const JS::Handle<T>& v) { return v.get(); }
65601 struct DefineComparisonOps<JS::MutableHandle<T>> : mozilla::TrueType {
65602 static const T& get(const JS::MutableHandle<T>& v) { return v.get(); }
65606 struct DefineComparisonOps<JS::PersistentRooted<T>> : mozilla::TrueType {
65607 static const T& get(const JS::PersistentRooted<T>& v) { return v.get(); }
65734 namespace JS {
65745 virtual void Trace(JS::Heap<JS::Value>* aPtr, const char* aName,
65747 virtual void Trace(JS::Heap<jsid>* aPtr, const char* aName,
65749 virtual void Trace(JS::Heap<JSObject*>* aPtr, const char* aName,
65753 virtual void Trace(JS::TenuredHeap<JSObject*>* aPtr, const char* aName,
65755 virtual void Trace(JS::Heap<JSString*>* aPtr, const char* aName,
65757 virtual void Trace(JS::Heap<JSScript*>* aPtr, const char* aName,
65759 virtual void Trace(JS::Heap<JSFunction*>* aPtr, const char* aName,
65769 typedef void (*Func)(JS::GCCellPtr aPtr, const char* aName, void* aClosure);
65773 virtual void Trace(JS::Heap<JS::Value>* aPtr, const char* aName,
65775 virtual void Trace(JS::Heap<jsid>* aPtr, const char* aName,
65777 virtual void Trace(JS::Heap<JSObject*>* aPtr, const char* aName,
65781 virtual void Trace(JS::TenuredHeap<JSObject*>* aPtr, const char* aName,
65783 virtual void Trace(JS::Heap<JSString*>* aPtr, const char* aName,
65785 virtual void Trace(JS::Heap<JSScript*>* aPtr, const char* aName,
65787 virtual void Trace(JS::Heap<JSFunction*>* aPtr, const char* aName,
65823 static void NoteJSChild(JS::GCCellPtr aGCThing, const char* aName,
77426 namespace JS { class Value; }
77539 namespace JS {
77541 static inline constexpr JS::Value UndefinedValue();
77542 static inline JS::Value PoisonedObjectValue(JSObject* obj);
77646 void setSymbol(JS::Symbol* sym) {
77836 JS::TraceKind traceKind() const {
77838 static_assert((JSVAL_TAG_STRING & 0x03) == size_t(JS::TraceKind::String),
77839 "Value type tags must correspond with JS::TraceKinds.");
77840 static_assert((JSVAL_TAG_SYMBOL & 0x03) == size_t(JS::TraceKind::Symbol),
77841 "Value type tags must correspond with JS::TraceKinds.");
77842 static_assert((JSVAL_TAG_OBJECT & 0x03) == size_t(JS::TraceKind::Object),
77843 "Value type tags must correspond with JS::TraceKinds.");
77845 return JS::GCThingTraceKind(toGCThing());
77846 return JS::TraceKind(toTag() & 0x03);
77901 JS::Symbol* toSymbol() const {
77906 return reinterpret_cast<JS::Symbol*>(data.asBits & 0x00007FFFFFFFFFFFLL);
78081 friend constexpr Value JS::UndefinedValue();
78209 SymbolValue(JS::Symbol* sym)
78426 namespace JS {
78430 struct GCPolicy<JS::Value>
78446 struct BarrierMethods<JS::Value>
78448 static gc::Cell* asGCThingOrNull(const JS::Value& v) {
78451 static void postBarrier(JS::Value* v, const JS::Value& prev, const JS::Value& next) {
78452 JS::HeapValuePostBarrier(v, prev, next);
78454 static void exposeToJS(const JS::Value& v) {
78455 JS::ExposeValueToActiveJS(v);
78468 class WrappedPtrOperations<JS::Value, Wrapper>
78470 const JS::Value& value() const { return static_cast<const Wrapper*>(this)->get(); }
78498 JS::Symbol* toSymbol() const { return value().toSymbol(); }
78502 JS::TraceKind traceKind() const { return value().traceKind(); }
78520 class MutableWrappedPtrOperations<JS::Value, Wrapper> : public WrappedPtrOperations<JS::Value, Wrapper>
78522 JS::Value& value() { return static_cast<Wrapper*>(this)->get(); }
78529 void setNaN() { setDouble(JS::GenericNaN()); }
78535 void setSymbol(JS::Symbol* sym) { this->value().setSymbol(sym); }
78548 class HeapBase<JS::Value, Wrapper> : public WrappedPtrOperations<JS::Value, Wrapper>
78550 void setBarriered(const JS::Value& v) {
78551 *static_cast<JS::Heap<JS::Value>*>(this) = v;
78555 void setNull() { setBarriered(JS::NullValue()); }
78556 void setUndefined() { setBarriered(JS::UndefinedValue()); }
78557 void setInt32(int32_t i) { setBarriered(JS::Int32Value(i)); }
78558 void setDouble(double d) { setBarriered(JS::DoubleValue(d)); }
78559 void setNaN() { setDouble(JS::GenericNaN()); }
78560 void setBoolean(bool b) { setBarriered(JS::BooleanValue(b)); }
78561 void setMagic(JSWhyMagic why) { setBarriered(JS::MagicValue(why)); }
78562 void setString(JSString* str) { setBarriered(JS::StringValue(str)); }
78563 void setSymbol(JS::Symbol* sym) { setBarriered(JS::SymbolValue(sym)); }
78564 void setObject(JSObject& obj) { setBarriered(JS::ObjectValue(obj)); }
78565 void setPrivateGCThing(js::gc::Cell* cell) { setBarriered(JS::PrivateGCThingValue(cell)); }
78602 DispatchTyped(F f, const JS::Value& val, Args&&... args)
78623 namespace JS {
79234 namespace JS {
79269 namespace JS {
79518 JS::MutableHandle<JS::Value> aVal);
79521 JS::Handle<JSObject*> aObj,
79600 JS::Rooted<JSObject*> mGlobalJSObject;
79694 class Optional<JS::Handle<T> > :
79695 public Optional_base<JS::Handle<T>, JS::Rooted<T> >
79699 Optional_base<JS::Handle<T>, JS::Rooted<T> >()
79703 Optional_base<JS::Handle<T>, JS::Rooted<T> >()
79709 Optional_base<JS::Handle<T>, JS::Rooted<T> >(cx, aValue)
79714 JS::Handle<T> Value() const
79721 JS::Rooted<T>& Value()
79760 class Optional<JS::Value>
79765 explicit Optional(const JS::Value& aValue) = delete;
83981 virtual nsresult GetAsJSVal(JS::MutableHandleValue _retval) = 0;
85060 void ThrowJSException(JSContext* cx, JS::Handle<JS::Value> exn);
85228 JS::Value mJSException;
86992 static __attribute__((always_inline)) inline JS::Symbol*
86996 return (JS::Symbol*)((iden.asBits) & ~(size_t)0x7);
87000 SYMBOL_TO_JSID(JS::Symbol* sym)
87016 static __attribute__((always_inline)) inline JS::GCCellPtr
87021 return JS::GCCellPtr(thing, JS::TraceKind::String);
87023 return JS::GCCellPtr(thing, JS::TraceKind::Symbol);
87043 extern const JS::HandleId JSID_VOIDHANDLE;
87044 extern const JS::HandleId JSID_EMPTYHANDLE;
87046 namespace JS {
87180 virtual JSObject* WrapObject(JSContext* cx, JS::Handle<JSObject*> aGivenProto) = 0;
87755 virtual JSObject* WrapObject(JSContext *aCx, JS::Handle<JSObject*> aGivenProto) override;
87765 virtual JSObject* WrapNode(JSContext *aCx, JS::Handle<JSObject*> aGivenProto) = 0;
88872 JS::Handle<JS::Value> aData,
88873 JS::MutableHandle<JS::Value> aRetval,
88876 JS::MutableHandle<JS::Value> aRetval,
90950 JS::Handle<JSObject*> aReparentScope,
90994 JS::Handle<JSObject*> aReparentScope,
91103 JS::ExposeObjectToActiveJS(obj);
91107 virtual JSObject* WrapObject(JSContext* aCx, JS::Handle<JSObject*> aGivenProto) = 0;
93809 virtual JSObject* WrapNode(JSContext* aCx, JS::Handle<JSObject*> aGivenProto) override;
94150 virtual JSObject* WrapObject(JSContext* aCx, JS::Handle<JSObject*> aGivenProto) override;
95081 ToJSValue(JSContext* aCx, CSSStyleSheetParsingMode aArgument, JS::MutableHandle<JS::Value> aValue);
95089 DefineDOMInterface(JSContext* aCx, JS::Handle<JSObject*> aGlobal, JS::Handle<jsid> id, bool aDefineOnGlobal);
95095 Wrap(JSContext* aCx, mozilla::StyleSheet* aObject, nsWrapperCache* aCache, JS::Handle<JSObject*> aGivenProto, JS::MutableHandle<JSObject*> aReflector);
95098 inline JSObject* Wrap(JSContext* aCx, T* aObject, JS::Handle<JSObject*> aGivenProto)
95100 JS::Rooted<JSObject*> reflector(aCx);
95107 CreateInterfaceObjects(JSContext* aCx, JS::Handle<JSObject*> aGlobal, ProtoAndIfaceCache& aProtoAndIfaceCache, bool aDefineOnGlobal);
95109 JS::Handle<JSObject*>
95112 JS::Handle<JSObject*>
95665 (* JSNative)(JSContext* cx, unsigned argc, JS::Value* vp);
95667 namespace JS {
95678 ComputeThis(JSContext* cx, JS::Value* vp);
95912 __attribute__((always_inline)) inline JS::Value
95913 JS_THIS(JSContext* cx, JS::Value* vp)
95915 return vp[1].isPrimitive() ? JS::detail::ComputeThis(cx, vp) : vp[1];
95922 namespace JS {
96115 return JS::LossyTwoByteCharsToNewLatin1CharsZ(cx, tbchars);
96206 inline void JS_free(JS::Latin1CharsZ& ptr) { js_free((void*)ptr.get()); }
96207 inline void JS_free(JS::UTF8CharsZ& ptr) { js_free((void*)ptr.get()); }
96227 namespace JS {
96426 class WrappedPtrOperations<JS::PropertyResult, Wrapper>
96428 const JS::PropertyResult& value() const { return static_cast<const Wrapper*>(this)->get(); }
96442 class MutableWrappedPtrOperations<JS::PropertyResult, Wrapper>
96443 : public WrappedPtrOperations<JS::PropertyResult, Wrapper>
96445 JS::PropertyResult& value() { return static_cast<Wrapper*>(this)->get(); }
96465 (* JSGetterOp)(JSContext* cx, JS::HandleObject obj, JS::HandleId id,
96466 JS::MutableHandleValue vp);
96470 (* JSAddPropertyOp)(JSContext* cx, JS::HandleObject obj, JS::HandleId id, JS::HandleValue v);
96473 (* JSSetterOp)(JSContext* cx, JS::HandleObject obj, JS::HandleId id,
96474 JS::MutableHandleValue vp, JS::ObjectOpResult& result);
96477 (* JSDeletePropertyOp)(JSContext* cx, JS::HandleObject obj, JS::HandleId id,
96478 JS::ObjectOpResult& result);
96481 (* JSNewEnumerateOp)(JSContext* cx, JS::HandleObject obj, JS::AutoIdVector& properties,
96489 (* JSEnumerateOp)(JSContext* cx, JS::HandleObject obj);
96497 (* JSFunToStringOp)(JSContext* cx, JS::HandleObject obj, unsigned indent);
96500 (* JSResolveOp)(JSContext* cx, JS::HandleObject obj, JS::HandleId id,
96516 void (*finalize)(JS::Zone* zone, const JSStringFinalizer* fin, char16_t* chars);
96525 (* JSHasInstanceOp)(JSContext* cx, JS::HandleObject obj, JS::MutableHandleValue vp,
96542 (* LookupPropertyOp)(JSContext* cx, JS::HandleObject obj, JS::HandleId id,
96543 JS::MutableHandleObject objp, JS::MutableHandle<JS::PropertyResult> propp);
96545 (* DefinePropertyOp)(JSContext* cx, JS::HandleObject obj, JS::HandleId id,
96546 JS::Handle<JS::PropertyDescriptor> desc,
96547 JS::ObjectOpResult& result);
96549 (* HasPropertyOp)(JSContext* cx, JS::HandleObject obj, JS::HandleId id, bool* foundp);
96551 (* GetPropertyOp)(JSContext* cx, JS::HandleObject obj, JS::HandleValue receiver, JS::HandleId id,
96552 JS::MutableHandleValue vp);
96554 (* SetPropertyOp)(JSContext* cx, JS::HandleObject obj, JS::HandleId id, JS::HandleValue v,
96555 JS::HandleValue receiver, JS::ObjectOpResult& result);
96557 (* GetOwnPropertyOp)(JSContext* cx, JS::HandleObject obj, JS::HandleId id,
96558 JS::MutableHandle<JS::PropertyDescriptor> desc);
96560 (* DeletePropertyOp)(JSContext* cx, JS::HandleObject obj, JS::HandleId id,
96561 JS::ObjectOpResult& result);
96564 (* WatchOp)(JSContext* cx, JS::HandleObject obj, JS::HandleId id, JS::HandleObject callable);
96567 (* UnwatchOp)(JSContext* cx, JS::HandleObject obj, JS::HandleId id);
96583 JS::RootedObject resObj_;
96584 JS::Value* vp_;
96600 ElementAdder(JSContext* cx, JS::Value* vp, uint32_t length, GetBehavior behavior)
96610 bool append(JSContext* cx, JS::HandleValue v);
96615 (* GetElementsOp)(JSContext* cx, JS::HandleObject obj, uint32_t begin, uint32_t end,
96642 typedef bool (*FinishClassInitOp)(JSContext* cx, JS::HandleObject ctor,
96643 JS::HandleObject proto);
96910 Unbox(JSContext* cx, JS::HandleObject obj, JS::MutableHandleValue vp);
96951 namespace JS {
97078 class WrappedPtrOperations<JS::GCVector<T, Capacity, AllocPolicy>, Wrapper>
97080 using Vec = JS::GCVector<T, Capacity, AllocPolicy>;
97092 JS::Handle<T> operator[](size_t aIndex) const {
97093 return JS::Handle<T>::fromMarkedLocation(&vec().operator[](aIndex));
97098 class MutableWrappedPtrOperations<JS::GCVector<T, Capacity, AllocPolicy>, Wrapper>
97099 : public WrappedPtrOperations<JS::GCVector<T, Capacity, AllocPolicy>, Wrapper>
97101 using Vec = JS::GCVector<T, Capacity, AllocPolicy>;
97115 JS::Handle<T> operator[](size_t aIndex) const {
97116 return JS::Handle<T>::fromMarkedLocation(&vec().operator[](aIndex));
97118 JS::MutableHandle<T> operator[](size_t aIndex) {
97119 return JS::MutableHandle<T>::fromMarkedLocation(&vec().operator[](aIndex));
97141 __attribute__ ((warn_unused_result)) bool appendAll(const JS::GCVector<U, O, BP>& aU) { return vec().appendAll(aU); }
97724 namespace JS {
97785 JS::HandleObject obj, void* closure);
97797 JS::MutableHandleObject returnObject);
97800 JS::Handle<JSObject*> obj,
97804 JS::TransferableOwnership* ownership,
97813 typedef void (*FreeTransferStructuredCloneOp)(uint32_t tag, JS::TransferableOwnership ownership,
97885 JS::StructuredCloneScope scope,
97886 JS::MutableHandleValue vp,
97890 JS_WriteStructuredClone(JSContext* cx, JS::HandleValue v, JSStructuredCloneData* data,
97891 JS::StructuredCloneScope scope,
97892 JS::CloneDataPolicy cloneDataPolicy,
97894 void* closure, JS::HandleValue transferable);
97900 JS_StructuredClone(JSContext* cx, JS::HandleValue v, JS::MutableHandleValue vp,
97905 const JS::StructuredCloneScope scope_;
97910 JSAutoStructuredCloneBuffer(JS::StructuredCloneScope scope,
97953 bool read(JSContext* cx, JS::MutableHandleValue vp,
97956 bool write(JSContext* cx, JS::HandleValue v,
97959 bool write(JSContext* cx, JS::HandleValue v, JS::HandleValue transferable,
97960 JS::CloneDataPolicy cloneDataPolicy,
97976 JS_ReadTypedArray(JSStructuredCloneReader* r, JS::MutableHandleValue vp);
97985 JS_WriteString(JSStructuredCloneWriter* w, JS::HandleString str);
97988 JS_WriteTypedArray(JSStructuredCloneWriter* w, JS::HandleValue v);
97991 JS_ObjectNotWritten(JSStructuredCloneWriter* w, JS::HandleObject obj);
97993 JS::StructuredCloneScope
98090 namespace JS {
98180 namespace JS {
98287 JS::MutableHandle<T> operator[](size_t i) {
98288 return JS::MutableHandle<T>::fromMarkedLocation(&vector[i]);
98290 JS::Handle<T> operator[](size_t i) const {
98291 return JS::Handle<T>::fromMarkedLocation(&vector[i]);
98353 using ValueVector = JS::GCVector<JS::Value>;
98354 using IdVector = JS::GCVector<jsid>;
98355 using ScriptVector = JS::GCVector<JSScript*>;
98356 using StringVector = JS::GCVector<JSString*>;
98626 HandleValueArray(const JS::CallArgs& args) : length_(args.length()), elements_(args.array()) {}
98722 (* JSEnqueuePromiseJobCallback)(JSContext* cx, JS::HandleObject job,
98723 JS::HandleObject allocationSite, JS::HandleObject incumbentGlobal,
98732 (* JSPromiseRejectionTrackerCallback)(JSContext* cx, JS::HandleObject promise,
98736 (* JSProcessPromiseCallback)(JSContext* cx, JS::HandleObject promise);
98776 (* JSLocaleToUpperCase)(JSContext* cx, JS::HandleString src, JS::MutableHandleValue rval);
98779 (* JSLocaleToLowerCase)(JSContext* cx, JS::HandleString src, JS::MutableHandleValue rval);
98782 (* JSLocaleCompare)(JSContext* cx, JS::HandleString src1, JS::HandleString src2,
98783 JS::MutableHandleValue rval);
98786 (* JSLocaleToUnicode)(JSContext* cx, const char* src, JS::MutableHandleValue rval);
98789 (* JSWrapObjectCallback)(JSContext* cx, JS::HandleObject existing, JS::HandleObject obj);
98797 (* JSPreWrapCallback)(JSContext* cx, JS::HandleObject scope, JS::HandleObject obj,
98798 JS::HandleObject objectPassedToWrap,
98799 JS::MutableHandleObject retObj);
98815 (* JSZoneCallback)(JS::Zone* zone);
98826 static __attribute__((always_inline)) inline JS::Value
98830 d = JS::CanonicalizeNaN(d);
98832 return JS::Int32Value(i);
98833 return JS::DoubleValue(d);
98841 namespace JS {
98912 extern JS::Value
98915 extern JS::Value
98918 extern JS::Value
98921 extern JS::Value
98928 JS_ValueToObject(JSContext* cx, JS::HandleValue v, JS::MutableHandleObject objp);
98931 JS_ValueToFunction(JSContext* cx, JS::HandleValue v);
98934 JS_ValueToConstructor(JSContext* cx, JS::HandleValue v);
98937 JS_ValueToSource(JSContext* cx, JS::Handle<JS::Value> v);
98943 JS_TypeOfValue(JSContext* cx, JS::Handle<JS::Value> v);
98945 namespace JS {
98948 InformalValueTypeName(const JS::Value& v);
98953 JS_StrictlyEqual(JSContext* cx, JS::Handle<JS::Value> v1, JS::Handle<JS::Value> v2, bool* equal);
98956 JS_LooselyEqual(JSContext* cx, JS::Handle<JS::Value> v1, JS::Handle<JS::Value> v2, bool* equal);
98959 JS_SameValue(JSContext* cx, JS::Handle<JS::Value> v1, JS::Handle<JS::Value> v2, bool* same);
98971 uint32_t maxNurseryBytes = JS::DefaultNurseryBytes,
99019 namespace JS {
99075 namespace JS {
99302 JS_SetZoneUserData(JS::Zone* zone, void* data);
99305 JS_GetZoneUserData(JS::Zone* zone);
99308 JS_WrapObject(JSContext* cx, JS::MutableHandleObject objp);
99311 JS_WrapValue(JSContext* cx, JS::MutableHandleValue vp);
99314 JS_TransplantObject(JSContext* cx, JS::HandleObject origobj, JS::HandleObject target);
99317 JS_RefreshCrossCompartmentWrappers(JSContext* cx, JS::Handle<JSObject*> obj);
99377 JS_MarkCrossZoneIdValue(JSContext* cx, const JS::Value& value);
99380 JS_InitStandardClasses(JSContext* cx, JS::Handle<JSObject*> obj);
99383 JS_ResolveStandardClass(JSContext* cx, JS::HandleObject obj, JS::HandleId id, bool* resolved);
99389 JS_EnumerateStandardClasses(JSContext* cx, JS::HandleObject obj);
99392 JS_GetClassObject(JSContext* cx, JSProtoKey key, JS::MutableHandle<JSObject*> objp);
99395 JS_GetClassPrototype(JSContext* cx, JSProtoKey key, JS::MutableHandle<JSObject*> objp);
99397 namespace JS {
99417 ProtoKeyToId(JSContext* cx, JSProtoKey key, JS::MutableHandleId idp);
99422 JS_IdToProtoKey(JSContext* cx, JS::HandleId id);
99429 JS_GetFunctionPrototype(JSContext* cx, JS::HandleObject forObj);
99436 JS_GetObjectPrototype(JSContext* cx, JS::HandleObject forObj);
99443 JS_GetArrayPrototype(JSContext* cx, JS::HandleObject forObj);
99481 namespace JS {
99493 JS_InitReflectParse(JSContext* cx, JS::HandleObject global);
99500 JS_DefineProfilingFunctions(JSContext* cx, JS::HandleObject obj);
99504 JS_DefineDebuggerObject(JSContext* cx, JS::HandleObject obj);
99512 JS_InitCTypesClass(JSContext* cx, JS::HandleObject global);
99613 JS_UpdateWeakPointerAfterGC(JS::Heap<JSObject*>* objp);
99740 JS_ValueToId(JSContext* cx, JS::HandleValue v, JS::MutableHandleId idp);
99743 JS_StringToId(JSContext* cx, JS::HandleString s, JS::MutableHandleId idp);
99746 JS_IdToValue(JSContext* cx, jsid id, JS::MutableHandle<JS::Value> vp);
99748 namespace JS {
99751 ToPrimitive(JSContext* cx, JS::HandleObject obj, JSType hint, JS::MutableHandleValue vp);
99759 JS_PropertyStub(JSContext* cx, JS::HandleObject obj, JS::HandleId id,
99760 JS::MutableHandleValue vp);
99763 JS_StrictPropertyStub(JSContext* cx, JS::HandleObject obj, JS::HandleId id,
99764 JS::MutableHandleValue vp, JS::ObjectOpResult& result);
99820 bool getValue(JSContext* cx, JS::MutableHandleValue value) const;
99850 namespace JS {
99882 JS_InitClass(JSContext* cx, JS::HandleObject obj, JS::HandleObject parent_proto,
99892 JS_LinkConstructorAndPrototype(JSContext* cx, JS::Handle<JSObject*> ctor,
99893 JS::Handle<JSObject*> proto);
99899 JS_InstanceOf(JSContext* cx, JS::Handle<JSObject*> obj, const JSClass* clasp, JS::CallArgs* args);
99902 JS_HasInstance(JSContext* cx, JS::Handle<JSObject*> obj, JS::Handle<JS::Value> v, bool* bp);
99904 namespace JS {
99922 JS_GetInstancePrivate(JSContext* cx, JS::Handle<JSObject*> obj, const JSClass* clasp,
99923 JS::CallArgs* args);
99926 JS_GetConstructor(JSContext* cx, JS::Handle<JSObject*> proto);
99928 namespace JS {
100219 JS::OnNewGlobalHookOption hookOption,
100220 const JS::CompartmentOptions& options);
100226 JS_FireOnNewGlobalObject(JSContext* cx, JS::HandleObject global);
100239 JS_NewObjectWithGivenProto(JSContext* cx, const JSClass* clasp, JS::Handle<JSObject*> proto);
100251 JS_DeepFreezeObject(JSContext* cx, JS::Handle<JSObject*> obj);
100257 JS_FreezeObject(JSContext* cx, JS::Handle<JSObject*> obj);
100262 namespace JS {
100269 JS::Value value;
100272 : obj(nullptr), attrs(0), getter(nullptr), setter(nullptr), value(JS::UndefinedValue())
100284 class WrappedPtrOperations<JS::PropertyDescriptor, Wrapper>
100286 const JS::PropertyDescriptor& desc() const { return static_cast<const Wrapper*>(this)->get(); }
100323 JS::HandleValue value() const {
100324 return JS::HandleValue::fromMarkedLocation(&desc().value);
100331 JS::HandleObject getterObject() const {
100333 return JS::HandleObject::fromMarkedLocation(
100337 JS::HandleObject setterObject() const {
100339 return JS::HandleObject::fromMarkedLocation(
100346 JS::HandleObject object() const {
100347 return JS::HandleObject::fromMarkedLocation(&desc().obj);
100370 class MutableWrappedPtrOperations<JS::PropertyDescriptor, Wrapper>
100371 : public js::WrappedPtrOperations<JS::PropertyDescriptor, Wrapper>
100373 JS::PropertyDescriptor& desc() { return static_cast<Wrapper*>(this)->get(); }
100384 void initFields(JS::HandleObject obj, JS::HandleValue v, unsigned attrs,
100396 void assign(JS::PropertyDescriptor& other) {
100404 void setDataDescriptor(JS::HandleValue v, unsigned attrs) {
100418 JS::MutableHandleObject object() {
100419 return JS::MutableHandleObject::fromMarkedLocation(&desc().obj);
100424 JS::MutableHandleValue value() {
100425 return JS::MutableHandleValue::fromMarkedLocation(&desc().value);
100427 void setValue(JS::HandleValue v) {
100467 JS::MutableHandleObject getterObject() {
100469 return JS::MutableHandleObject::fromMarkedLocation(
100472 JS::MutableHandleObject setterObject() {
100474 return JS::MutableHandleObject::fromMarkedLocation(
100481 namespace JS {
100485 JS::HandleObject obj,
100486 JS::HandleValue descriptor,
100487 JS::MutableHandle<PropertyDescriptor> desc);
100496 JS::Handle<JS::PropertyDescriptor> desc,
100497 JS::MutableHandleValue vp);
100502 JS_GetPrototype(JSContext* cx, JS::HandleObject obj, JS::MutableHandleObject result);
100505 JS_GetPrototypeIfOrdinary(JSContext* cx, JS::HandleObject obj, bool* isOrdinary,
100506 JS::MutableHandleObject result);
100509 JS_SetPrototype(JSContext* cx, JS::HandleObject obj, JS::HandleObject proto);
100512 JS_IsExtensible(JSContext* cx, JS::HandleObject obj, bool* extensible);
100515 JS_PreventExtensions(JSContext* cx, JS::HandleObject obj, JS::ObjectOpResult& result);
100518 JS_SetImmutablePrototype(JSContext* cx, JS::HandleObject obj, bool* succeeded);
100527 JS_GetOwnPropertyDescriptorById(JSContext* cx, JS::HandleObject obj, JS::HandleId id,
100528 JS::MutableHandle<JS::PropertyDescriptor> desc);
100531 JS_GetOwnPropertyDescriptor(JSContext* cx, JS::HandleObject obj, const char* name,
100532 JS::MutableHandle<JS::PropertyDescriptor> desc);
100535 JS_GetOwnUCPropertyDescriptor(JSContext* cx, JS::HandleObject obj, const char16_t* name,
100536 JS::MutableHandle<JS::PropertyDescriptor> desc);
100545 JS_GetPropertyDescriptorById(JSContext* cx, JS::HandleObject obj, JS::HandleId id,
100546 JS::MutableHandle<JS::PropertyDescriptor> desc);
100549 JS_GetPropertyDescriptor(JSContext* cx, JS::HandleObject obj, const char* name,
100550 JS::MutableHandle<JS::PropertyDescriptor> desc);
100553 JS_DefinePropertyById(JSContext* cx, JS::HandleObject obj, JS::HandleId id,
100554 JS::Handle<JS::PropertyDescriptor> desc,
100555 JS::ObjectOpResult& result);
100562 JS_DefinePropertyById(JSContext* cx, JS::HandleObject obj, JS::HandleId id,
100563 JS::Handle<JS::PropertyDescriptor> desc);
100566 JS_DefinePropertyById(JSContext* cx, JS::HandleObject obj, JS::HandleId id, JS::HandleValue value,
100570 JS_DefinePropertyById(JSContext* cx, JS::HandleObject obj, JS::HandleId id, JS::HandleObject value,
100574 JS_DefinePropertyById(JSContext* cx, JS::HandleObject obj, JS::HandleId id, JS::HandleString value,
100578 JS_DefinePropertyById(JSContext* cx, JS::HandleObject obj, JS::HandleId id, int32_t value,
100582 JS_DefinePropertyById(JSContext* cx, JS::HandleObject obj, JS::HandleId id, uint32_t value,
100586 JS_DefinePropertyById(JSContext* cx, JS::HandleObject obj, JS::HandleId id, double value,
100590 JS_DefineProperty(JSContext* cx, JS::HandleObject obj, const char* name, JS::HandleValue value,
100594 JS_DefineProperty(JSContext* cx, JS::HandleObject obj, const char* name, JS::HandleObject value,
100598 JS_DefineProperty(JSContext* cx, JS::HandleObject obj, const char* name, JS::HandleString value,
100602 JS_DefineProperty(JSContext* cx, JS::HandleObject obj, const char* name, int32_t value,
100606 JS_DefineProperty(JSContext* cx, JS::HandleObject obj, const char* name, uint32_t value,
100610 JS_DefineProperty(JSContext* cx, JS::HandleObject obj, const char* name, double value,
100614 JS_DefineUCProperty(JSContext* cx, JS::HandleObject obj, const char16_t* name, size_t namelen,
100615 JS::Handle<JS::PropertyDescriptor> desc,
100616 JS::ObjectOpResult& result);
100619 JS_DefineUCProperty(JSContext* cx, JS::HandleObject obj, const char16_t* name, size_t namelen,
100620 JS::Handle<JS::PropertyDescriptor> desc);
100623 JS_DefineUCProperty(JSContext* cx, JS::HandleObject obj, const char16_t* name, size_t namelen,
100624 JS::HandleValue value, unsigned attrs,
100628 JS_DefineUCProperty(JSContext* cx, JS::HandleObject obj, const char16_t* name, size_t namelen,
100629 JS::HandleObject value, unsigned attrs,
100633 JS_DefineUCProperty(JSContext* cx, JS::HandleObject obj, const char16_t* name, size_t namelen,
100634 JS::HandleString value, unsigned attrs,
100638 JS_DefineUCProperty(JSContext* cx, JS::HandleObject obj, const char16_t* name, size_t namelen,
100643 JS_DefineUCProperty(JSContext* cx, JS::HandleObject obj, const char16_t* name, size_t namelen,
100648 JS_DefineUCProperty(JSContext* cx, JS::HandleObject obj, const char16_t* name, size_t namelen,
100653 JS_DefineElement(JSContext* cx, JS::HandleObject obj, uint32_t index, JS::HandleValue value,
100657 JS_DefineElement(JSContext* cx, JS::HandleObject obj, uint32_t index, JS::HandleObject value,
100661 JS_DefineElement(JSContext* cx, JS::HandleObject obj, uint32_t index, JS::HandleString value,
100665 JS_DefineElement(JSContext* cx, JS::HandleObject obj, uint32_t index, int32_t value,
100669 JS_DefineElement(JSContext* cx, JS::HandleObject obj, uint32_t index, uint32_t value,
100673 JS_DefineElement(JSContext* cx, JS::HandleObject obj, uint32_t index, double value,
100677 JS_HasPropertyById(JSContext* cx, JS::HandleObject obj, JS::HandleId id, bool* foundp);
100680 JS_HasProperty(JSContext* cx, JS::HandleObject obj, const char* name, bool* foundp);
100683 JS_HasUCProperty(JSContext* cx, JS::HandleObject obj, const char16_t* name, size_t namelen,
100687 JS_HasElement(JSContext* cx, JS::HandleObject obj, uint32_t index, bool* foundp);
100695 JS_HasOwnPropertyById(JSContext* cx, JS::HandleObject obj, JS::HandleId id, bool* foundp);
100698 JS_HasOwnProperty(JSContext* cx, JS::HandleObject obj, const char* name, bool* foundp);
100701 JS_ForwardGetPropertyTo(JSContext* cx, JS::HandleObject obj, JS::HandleId id,
100702 JS::HandleValue receiver, JS::MutableHandleValue vp);
100705 JS_ForwardGetElementTo(JSContext* cx, JS::HandleObject obj, uint32_t index,
100706 JS::HandleObject receiver, JS::MutableHandleValue vp);
100715 JS_GetPropertyById(JSContext* cx, JS::HandleObject obj, JS::HandleId id,
100716 JS::MutableHandleValue vp);
100719 JS_GetProperty(JSContext* cx, JS::HandleObject obj, const char* name, JS::MutableHandleValue vp);
100722 JS_GetUCProperty(JSContext* cx, JS::HandleObject obj, const char16_t* name, size_t namelen,
100723 JS::MutableHandleValue vp);
100726 JS_GetElement(JSContext* cx, JS::HandleObject obj, uint32_t index, JS::MutableHandleValue vp);
100729 JS_ForwardSetPropertyTo(JSContext* cx, JS::HandleObject obj, JS::HandleId id, JS::HandleValue v,
100730 JS::HandleValue receiver, JS::ObjectOpResult& result);
100739 JS_SetPropertyById(JSContext* cx, JS::HandleObject obj, JS::HandleId id, JS::HandleValue v);
100742 JS_SetProperty(JSContext* cx, JS::HandleObject obj, const char* name, JS::HandleValue v);
100745 JS_SetUCProperty(JSContext* cx, JS::HandleObject obj, const char16_t* name, size_t namelen,
100746 JS::HandleValue v);
100749 JS_SetElement(JSContext* cx, JS::HandleObject obj, uint32_t index, JS::HandleValue v);
100752 JS_SetElement(JSContext* cx, JS::HandleObject obj, uint32_t index, JS::HandleObject v);
100755 JS_SetElement(JSContext* cx, JS::HandleObject obj, uint32_t index, JS::HandleString v);
100758 JS_SetElement(JSContext* cx, JS::HandleObject obj, uint32_t index, int32_t v);
100761 JS_SetElement(JSContext* cx, JS::HandleObject obj, uint32_t index, uint32_t v);
100764 JS_SetElement(JSContext* cx, JS::HandleObject obj, uint32_t index, double v);
100767 JS_DeletePropertyById(JSContext* cx, JS::HandleObject obj, JS::HandleId id,
100768 JS::ObjectOpResult& result);
100771 JS_DeleteProperty(JSContext* cx, JS::HandleObject obj, const char* name,
100772 JS::ObjectOpResult& result);
100775 JS_DeleteUCProperty(JSContext* cx, JS::HandleObject obj, const char16_t* name, size_t namelen,
100776 JS::ObjectOpResult& result);
100779 JS_DeleteElement(JSContext* cx, JS::HandleObject obj, uint32_t index, JS::ObjectOpResult& result);
100786 JS_DeletePropertyById(JSContext* cx, JS::HandleObject obj, jsid id);
100789 JS_DeleteProperty(JSContext* cx, JS::HandleObject obj, const char* name);
100792 JS_DeleteElement(JSContext* cx, JS::HandleObject obj, uint32_t index);
100795 JS_Enumerate(JSContext* cx, JS::HandleObject obj, JS::MutableHandle<JS::IdVector> props);
100803 namespace JS {
100814 JS_CallFunctionValue(JSContext* cx, JS::HandleObject obj, JS::HandleValue fval,
100815 const JS::HandleValueArray& args, JS::MutableHandleValue rval);
100818 JS_CallFunction(JSContext* cx, JS::HandleObject obj, JS::HandleFunction fun,
100819 const JS::HandleValueArray& args, JS::MutableHandleValue rval);
100825 JS_CallFunctionName(JSContext* cx, JS::HandleObject obj, const char* name,
100826 const JS::HandleValueArray& args, JS::MutableHandleValue rval);
100828 namespace JS {
100831 Call(JSContext* cx, JS::HandleObject thisObj, JS::HandleFunction fun,
100832 const JS::HandleValueArray& args, MutableHandleValue rval)
100838 Call(JSContext* cx, JS::HandleObject thisObj, JS::HandleValue fun, const JS::HandleValueArray& args,
100845 Call(JSContext* cx, JS::HandleObject thisObj, const char* name, const JS::HandleValueArray& args,
100852 Call(JSContext* cx, JS::HandleValue thisv, JS::HandleValue fun, const JS::HandleValueArray& args,
100856 Call(JSContext* cx, JS::HandleValue thisv, JS::HandleObject funObj, const JS::HandleValueArray& args,
100860 JS::RootedValue fun(cx, JS::ObjectValue(*funObj));
100865 Construct(JSContext* cx, JS::HandleValue fun, HandleObject newTarget,
100866 const JS::HandleValueArray &args, MutableHandleObject objp);
100869 Construct(JSContext* cx, JS::HandleValue fun, const JS::HandleValueArray& args,
100879 JS_New(JSContext* cx, JS::HandleObject ctor, const JS::HandleValueArray& args);
100885 JS_DefineObject(JSContext* cx, JS::HandleObject obj, const char* name,
100889 JS_DefineConstDoubles(JSContext* cx, JS::HandleObject obj, const JSConstDoubleSpec* cds);
100892 JS_DefineConstIntegers(JSContext* cx, JS::HandleObject obj, const JSConstIntegerSpec* cis);
100895 JS_DefineProperties(JSContext* cx, JS::HandleObject obj, const JSPropertySpec* ps);
100901 JS_AlreadyHasOwnPropertyById(JSContext* cx, JS::HandleObject obj, JS::HandleId id,
100905 JS_AlreadyHasOwnProperty(JSContext* cx, JS::HandleObject obj, const char* name,
100909 JS_AlreadyHasOwnUCProperty(JSContext* cx, JS::HandleObject obj, const char16_t* name,
100913 JS_AlreadyHasOwnElement(JSContext* cx, JS::HandleObject obj, uint32_t index, bool* foundp);
100916 JS_NewArrayObject(JSContext* cx, const JS::HandleValueArray& contents);
100922 JS_IsArrayObject(JSContext* cx, JS::HandleValue value, bool* isArray);
100925 JS_IsArrayObject(JSContext* cx, JS::HandleObject obj, bool* isArray);
100928 JS_GetArrayLength(JSContext* cx, JS::Handle<JSObject*> obj, uint32_t* lengthp);
100931 JS_SetArrayLength(JSContext* cx, JS::Handle<JSObject*> obj, uint32_t length);
100933 namespace JS {
100936 IsMapObject(JSContext* cx, JS::HandleObject obj, bool* isMap);
100939 IsSetObject(JSContext* cx, JS::HandleObject obj, bool* isSet);
100972 JS_StealArrayBufferContents(JSContext* cx, JS::HandleObject obj);
100975 JS_ExternalizeArrayBufferContents(JSContext* cx, JS::HandleObject obj);
100995 extern JS::Value
100999 JS_SetReservedSlot(JSObject* obj, uint32_t index, const JS::Value& v);
101011 namespace JS {
101060 JS_DefineFunctions(JSContext* cx, JS::Handle<JSObject*> obj, const JSFunctionSpec* fs);
101063 JS_DefineFunction(JSContext* cx, JS::Handle<JSObject*> obj, const char* name, JSNative call,
101067 JS_DefineUCFunction(JSContext* cx, JS::Handle<JSObject*> obj,
101072 JS_DefineFunctionById(JSContext* cx, JS::Handle<JSObject*> obj, JS::Handle<jsid> id, JSNative call,
101081 namespace JS {
101101 JS_BufferIsCompilableUnit(JSContext* cx, JS::Handle<JSObject*> obj, const char* utf8,
101109 const JS::CompileOptions& options,
101110 JS::MutableHandleScript script);
101117 const JS::CompileOptions& options,
101118 JS::MutableHandleScript script);
101130 JS_GetFunctionScript(JSContext* cx, JS::HandleFunction fun);
101132 namespace JS {
101435 SourceBufferHolder& srcBuf, JS::MutableHandleScript script);
101439 const char* bytes, size_t length, JS::MutableHandleScript script);
101443 const char16_t* chars, size_t length, JS::MutableHandleScript script);
101447 FILE* file, JS::MutableHandleScript script);
101451 const char* filename, JS::MutableHandleScript script);
101455 SourceBufferHolder& srcBuf, JS::MutableHandleScript script);
101459 const char* bytes, size_t length, JS::MutableHandleScript script);
101463 const char16_t* chars, size_t length, JS::MutableHandleScript script);
101467 FILE* file, JS::MutableHandleScript script);
101471 const char* filename, JS::MutableHandleScript script);
101513 const char16_t* chars, size_t length, JS::MutableHandleFunction fun);
101522 SourceBufferHolder& srcBuf, JS::MutableHandleFunction fun);
101531 const char* bytes, size_t length, JS::MutableHandleFunction fun);
101536 JS_DecompileScript(JSContext* cx, JS::Handle<JSScript*> script, const char* name, unsigned indent);
101545 JS_DecompileFunction(JSContext* cx, JS::Handle<JSFunction*> fun, unsigned indent);
101548 JS_ExecuteScript(JSContext* cx, JS::HandleScript script, JS::MutableHandleValue rval);
101551 JS_ExecuteScript(JSContext* cx, JS::HandleScript script);
101559 JS_ExecuteScript(JSContext* cx, JS::AutoObjectVector& envChain,
101560 JS::HandleScript script, JS::MutableHandleValue rval);
101563 JS_ExecuteScript(JSContext* cx, JS::AutoObjectVector& envChain, JS::HandleScript script);
101565 namespace JS {
101572 CloneAndExecuteScript(JSContext* cx, JS::Handle<JSScript*> script,
101573 JS::MutableHandleValue rval);
101577 namespace JS {
101584 SourceBufferHolder& srcBuf, JS::MutableHandleValue rval);
101593 SourceBufferHolder& srcBuf, JS::MutableHandleValue rval);
101600 const char16_t* chars, size_t length, JS::MutableHandleValue rval);
101609 const char16_t* chars, size_t length, JS::MutableHandleValue rval);
101616 const char* bytes, size_t length, JS::MutableHandleValue rval);
101623 const char* filename, JS::MutableHandleValue rval);
101635 SetModuleResolveHook(JSContext* cx, JS::HandleFunction func);
101643 SourceBufferHolder& srcBuf, JS::MutableHandleObject moduleRecord);
101650 SetModuleHostDefinedField(JSObject* module, const JS::Value& value);
101655 extern JS::Value
101659 ModuleDeclarationInstantiation(JSContext* cx, JS::HandleObject moduleRecord);
101662 ModuleEvaluation(JSContext* cx, JS::HandleObject moduleRecord);
101665 GetRequestedModules(JSContext* cx, JS::HandleObject moduleRecord);
101671 GetModuleScript(JSContext* cx, JS::HandleObject moduleRecord);
101690 namespace JS {
101715 NewPromiseObject(JSContext* cx, JS::HandleObject executor, JS::HandleObject proto = nullptr);
101722 IsPromiseObject(JS::HandleObject obj);
101747 GetPromiseState(JS::HandleObject promise);
101753 GetPromiseID(JS::HandleObject promise);
101759 extern JS::Value
101760 GetPromiseResult(JS::HandleObject promise);
101767 GetPromiseAllocationSite(JS::HandleObject promise);
101770 GetPromiseResolutionSite(JS::HandleObject promise);
101773 CallOriginalPromiseResolve(JSContext* cx, JS::HandleValue resolutionValue);
101780 CallOriginalPromiseReject(JSContext* cx, JS::HandleValue rejectionValue);
101789 ResolvePromise(JSContext* cx, JS::HandleObject promiseObj, JS::HandleValue resolutionValue);
101798 RejectPromise(JSContext* cx, JS::HandleObject promiseObj, JS::HandleValue rejectionValue);
101801 CallOriginalPromiseThen(JSContext* cx, JS::HandleObject promise,
101802 JS::HandleObject onResolve, JS::HandleObject onReject);
101805 AddPromiseReactions(JSContext* cx, JS::HandleObject promise,
101806 JS::HandleObject onResolve, JS::HandleObject onReject);
101809 GetWaitForAllPromise(JSContext* cx, const JS::AutoObjectVector& promises);
101871 JS_NewStringCopyUTF8Z(JSContext* cx, const JS::ConstUTF8CharsZ s);
101874 JS_NewStringCopyUTF8N(JSContext* cx, const JS::UTF8Chars s);
101877 JS_AtomizeAndPinJSString(JSContext* cx, JS::HandleString str);
101934 extern const JS::Latin1Char*
101935 JS_GetLatin1StringCharsAndLength(JSContext* cx, const JS::AutoCheckCannotGC& nogc, JSString* str,
101939 JS_GetTwoByteStringCharsAndLength(JSContext* cx, const JS::AutoCheckCannotGC& nogc, JSString* str,
101957 extern const JS::Latin1Char*
101958 JS_GetLatin1FlatStringChars(const JS::AutoCheckCannotGC& nogc, JSFlatString* str);
101961 JS_GetTwoByteFlatStringChars(const JS::AutoCheckCannotGC& nogc, JSFlatString* str);
101999 JS_NewDependentString(JSContext* cx, JS::HandleString str, size_t start,
102007 JS_ConcatStrings(JSContext* cx, JS::HandleString left, JS::HandleString right);
102024 JS_EncodeStringToUTF8(JSContext* cx, JS::HandleString str);
102071 char* encodeUtf8(JSContext* cx, JS::HandleString str) {
102106 namespace JS {
102109 NewAddonId(JSContext* cx, JS::HandleString str);
102124 namespace JS {
102200 JS_Stringify(JSContext* cx, JS::MutableHandleValue value, JS::HandleObject replacer,
102201 JS::HandleValue space, JSONWriteCallback callback, void* data);
102203 namespace JS {
102206 ToJSONMaybeSafely(JSContext* cx, JS::HandleObject input,
102215 JS_ParseJSON(JSContext* cx, const char16_t* chars, uint32_t len, JS::MutableHandleValue vp);
102218 JS_ParseJSON(JSContext* cx, JS::HandleString str, JS::MutableHandleValue vp);
102221 JS_ParseJSONWithReviver(JSContext* cx, const char16_t* chars, uint32_t len, JS::HandleValue reviver,
102222 JS::MutableHandleValue vp);
102225 JS_ParseJSONWithReviver(JSContext* cx, JS::HandleString str, JS::HandleValue reviver,
102226 JS::MutableHandleValue vp);
102234 extern JS::UniqueChars
102273 namespace JS {
102394 JS::ConstUTF8CharsZ message_;
102423 const JS::ConstUTF8CharsZ message() const {
102433 message_ = JS::ConstUTF8CharsZ(messageArg, strlen(messageArg));
102567 namespace JS {
102595 GetWeakMapEntry(JSContext* cx, JS::HandleObject mapObj, JS::HandleObject key,
102596 JS::MutableHandleValue val);
102599 SetWeakMapEntry(JSContext* cx, JS::HandleObject mapObj, JS::HandleObject key,
102600 JS::HandleValue val);
102682 JS_ObjectIsDate(JSContext* cx, JS::HandleObject obj, bool* isDate);
102691 JS_SetRegExpInput(JSContext* cx, JS::HandleObject obj, JS::HandleString input);
102694 JS_ClearRegExpStatics(JSContext* cx, JS::HandleObject obj);
102697 JS_ExecuteRegExp(JSContext* cx, JS::HandleObject obj, JS::HandleObject reobj,
102699 JS::MutableHandleValue rval);
102704 JS_ExecuteRegExpNoStatics(JSContext* cx, JS::HandleObject reobj, char16_t* chars, size_t length,
102705 size_t* indexp, bool test, JS::MutableHandleValue rval);
102708 JS_ObjectIsRegExp(JSContext* cx, JS::HandleObject obj, bool* isRegExp);
102711 JS_GetRegExpFlags(JSContext* cx, JS::HandleObject obj);
102714 JS_GetRegExpSource(JSContext* cx, JS::HandleObject obj);
102722 JS_GetPendingException(JSContext* cx, JS::MutableHandleValue vp);
102725 JS_SetPendingException(JSContext* cx, JS::HandleValue v);
102730 namespace JS {
102786 JS_ErrorFromException(JSContext* cx, JS::HandleObject obj);
102789 ExceptionStackOrNull(JS::HandleObject obj);
102798 JS_IsStopIteration(const JS::Value& v);
102804 JS_NewObjectForConstructor(JSContext* cx, const JSClass* clasp, const JS::CallArgs& args);
102846 JS_IndexToId(JSContext* cx, uint32_t index, JS::MutableHandleId);
102854 JS_CharsToId(JSContext* cx, JS::TwoByteChars chars, JS::MutableHandleId);
102860 JS_IsIdentifier(JSContext* cx, JS::HandleString str, bool* isIdentifier);
102874 namespace JS {
102961 EncodeScript(JSContext* cx, TranscodeBuffer& buffer, JS::HandleScript script);
102964 EncodeInterpretedFunction(JSContext* cx, TranscodeBuffer& buffer, JS::HandleObject funobj);
102967 DecodeScript(JSContext* cx, TranscodeBuffer& buffer, JS::MutableHandleScript scriptp,
102971 DecodeInterpretedFunction(JSContext* cx, TranscodeBuffer& buffer, JS::MutableHandleFunction funp,
102975 StartIncrementalEncoding(JSContext* cx, TranscodeBuffer& buffer, JS::HandleScript script);
102978 FinishIncrementalEncoding(JSContext* cx, JS::HandleScript script);
102994 namespace JS {
103067 JS::UniqueChars filename, unsigned line, unsigned column);
103073 JS::RootedObject iterator;
103095 bool init(JS::HandleValue iterable,
103102 bool next(JS::MutableHandleValue val, bool* done);
103567 virtual nsresult GetOriginAttributes(JSContext* cx, JS::MutableHandleValue aOriginAttributes) = 0;
103809 Init(JSContext* cx, JS::Handle<JS::Value> val, const char* sourceDescription = "Value", bool passedToJSImpl = false);
103815 ToObjectInternal(JSContext* cx, JS::MutableHandle<JS::Value> rval) const;
103864 Init(JSContext* cx, JS::Handle<JS::Value> val, const char* sourceDescription = "Value", bool passedToJSImpl = false);
103870 ToObjectInternal(JSContext* cx, JS::MutableHandle<JS::Value> rval) const;
103919 Init(JSContext* cx, JS::Handle<JS::Value> val, const char* sourceDescription = "Value", bool passedToJSImpl = false);
103925 ToObjectInternal(JSContext* cx, JS::MutableHandle<JS::Value> rval) const;
103958 ConstructorEnabled(JSContext* aCx, JS::Handle<JSObject*> aObj);
103961 DefineDOMInterface(JSContext* aCx, JS::Handle<JSObject*> aGlobal, JS::Handle<jsid> id, bool aDefineOnGlobal);
103966 CreateInterfaceObjects(JSContext* aCx, JS::Handle<JSObject*> aGlobal, ProtoAndIfaceCache& aProtoAndIfaceCache, bool aDefineOnGlobal);
103968 JS::Handle<JSObject*>
104012 ToJSValue(JSContext* aCx, Base64URLDecodePadding aArgument, JS::MutableHandle<JS::Value> aValue);
104032 Init(JSContext* cx, JS::Handle<JS::Value> val, const char* sourceDescription = "Value", bool passedToJSImpl = false);
104038 ToObjectInternal(JSContext* cx, JS::MutableHandle<JS::Value> rval) const;
104083 Init(JSContext* cx, JS::Handle<JS::Value> val, const char* sourceDescription = "Value", bool passedToJSImpl = false);
104089 ToObjectInternal(JSContext* cx, JS::MutableHandle<JS::Value> rval) const;
104139 Init(JSContext* cx, JS::Handle<JS::Value> val, const char* sourceDescription = "Value", bool passedToJSImpl = false);
104142 ToObjectInternal(JSContext* cx, JS::MutableHandle<JS::Value> rval) const;
104165 ConstructorEnabled(JSContext* aCx, JS::Handle<JSObject*> aObj);
104168 DefineDOMInterface(JSContext* aCx, JS::Handle<JSObject*> aGlobal, JS::Handle<jsid> id, bool aDefineOnGlobal);
104173 CreateInterfaceObjects(JSContext* aCx, JS::Handle<JSObject*> aGlobal, ProtoAndIfaceCache& aProtoAndIfaceCache, bool aDefineOnGlobal);
104175 JS::Handle<JSObject*>
104231 JS::Handle<JS::Value> aMap,
104232 JS::MutableHandle<JS::Value> aRetval,
104236 JS::Handle<JS::Value> aSet,
104237 JS::MutableHandle<JS::Value> aRetval,
104249 JS::MutableHandle<JSObject*> aRetval,
104381 virtual nsresult CreateCodebasePrincipal(nsIURI *uri, JS::HandleValue originAttributes, JSContext* cx, nsIPrincipal * *_retval) = 0;
104387 virtual nsresult CreateNullPrincipal(JS::HandleValue originAttributes, JSContext* cx, nsIPrincipal * *_retval) = 0;
104648 virtual nsresult GetOriginAttributes(JSContext* aCx, JS::MutableHandle<JS::Value> aVal) final;
105110 virtual nsresult GetScriptableOriginAttributes(JSContext* cx, JS::MutableHandleValue aOriginAttributes) = 0;
105111 virtual nsresult SetScriptableOriginAttributes(JSContext* cx, JS::HandleValue aOriginAttributes) = 0;
105152 virtual nsresult GetRedirectChainIncludingInternalRedirects(JSContext* cx, JS::MutableHandleValue aRedirectChainIncludingInternalRedirects) = 0;
105158 virtual nsresult GetRedirectChain(JSContext* cx, JS::MutableHandleValue aRedirectChain) = 0;
105949 JSObject* WrapObject(JSContext* aCx, JS::Handle<JSObject*> aGivenProto) final;
118477 namespace JS {
118524 namespace JS {
118538 JS_FindCompilationScope(JSContext* cx, JS::HandleObject obj);
118544 JS_SplicePrototype(JSContext* cx, JS::HandleObject obj, JS::HandleObject proto);
118547 JS_NewObjectWithUniqueType(JSContext* cx, const JSClass* clasp, JS::HandleObject proto);
118556 JS_NewObjectWithoutMetadata(JSContext* cx, const JSClass* clasp, JS::Handle<JSObject*> proto);
118559 JS_ObjectCountDynamicSlots(JS::HandleObject obj);
118568 JS_NondeterministicGetWeakMapKeys(JSContext* cx, JS::HandleObject obj, JS::MutableHandleObject ret);
118571 JS_NondeterministicGetWeakSetKeys(JSContext* cx, JS::HandleObject obj, JS::MutableHandleObject ret);
118591 JS_TraceShapeCycleCollectorChildren(JS::CallbackTracer* trc, JS::GCCellPtr shape);
118593 JS_TraceObjectGroupCycleCollectorChildren(JS::CallbackTracer* trc, JS::GCCellPtr group);
118653 JS_CloneObject(JSContext* cx, JS::HandleObject obj, JS::HandleObject proto);
118657 JS::HandleObject dst,
118658 JS::HandleObject src);
118661 JS_BasicObjectToString(JSContext* cx, JS::HandleObject obj);
118666 GetBuiltinClass(JSContext* cx, JS::HandleObject obj, ESClass* cls);
118669 ObjectClassName(JSContext* cx, JS::HandleObject obj);
118675 AddRawValueRoot(JSContext* cx, JS::Value* vp, const char* name);
118678 RemoveRawValueRoot(JSContext* cx, JS::Value* vp);
118696 DumpValue(const JS::Value& val, FILE* fp);
118716 extern void DumpValue(const JS::Value& val);
118732 namespace JS {
118756 JS_CopyPropertiesFrom(JSContext* cx, JS::HandleObject target, JS::HandleObject obj);
118764 JS_CopyPropertyFrom(JSContext* cx, JS::HandleId id, JS::HandleObject target,
118765 JS::HandleObject obj,
118769 JS_WrapPropertyDescriptor(JSContext* cx, JS::MutableHandle<JS::PropertyDescriptor> desc);
118782 JS_DefineFunctionsWithHelp(JSContext* cx, JS::HandleObject obj, const JSFunctionSpecWithHelp* fs);
118818 extern JS::Zone*
118837 bool obj_defineGetter(JSContext* cx, unsigned argc, JS::Value* vp);
118838 bool obj_defineSetter(JSContext* cx, unsigned argc, JS::Value* vp);
118845 IsSystemZone(JS::Zone* zone);
118851 IsAtomsZone(JS::Zone* zone);
118865 virtual void trace(JSObject* m, JS::GCCellPtr key, JS::GCCellPtr value) = 0;
118875 ZoneGlobalsAreAllGray(JS::Zone* zone);
118878 (*GCThingCallback)(void* closure, JS::GCCellPtr thing);
118881 VisitGrayWrapperTargets(JS::Zone* zone, GCThingCallback callback, void* closure);
118890 IterateGrayObjects(JS::Zone* zone, GCThingCallback cellCallback, void* data);
118897 IterateGrayObjectsUnderCC(JS::Zone* zone, GCThingCallback cellCallback, void* data);
118904 GetAnyCompartmentInZone(JS::Zone* zone);
118942 JS::Value* slots;
118946 JS::Value* fixedSlots() const {
118947 return (JS::Value*)(uintptr_t(this) + sizeof(shadow::Object));
118950 JS::Value& slotRef(size_t slot) const {
118978 const JS::Latin1Char* nonInlineCharsLatin1;
118980 JS::Latin1Char inlineStorageLatin1[1];
119041 AssertSameCompartment(JSContext* cx, JS::HandleValue v);
119068 const JS::Value&
119072 SetFunctionNativeReserved(JSObject* fun, size_t which, const JS::Value& val);
119078 GetObjectProto(JSContext* cx, JS::HandleObject obj, JS::MutableHandleObject proto);
119084 GetOriginalEval(JSContext* cx, JS::HandleObject scope,
119085 JS::MutableHandleObject eval);
119096 inline const JS::Value&
119104 SetReservedOrProxyPrivateSlotWithBarrier(JSObject* obj, size_t slot, const JS::Value& value);
119107 SetReservedSlot(JSObject* obj, size_t slot, const JS::Value& value)
119120 inline const JS::Value&
119171 __attribute__((always_inline)) inline const JS::Latin1Char*
119172 GetLatin1LinearStringChars(const JS::AutoCheckCannotGC& nogc, JSLinearString* linear)
119184 GetTwoByteLinearStringChars(const JS::AutoCheckCannotGC& nogc, JSLinearString* linear)
119213 __attribute__((always_inline)) inline const JS::Latin1Char*
119214 GetLatin1AtomChars(const JS::AutoCheckCannotGC& nogc, JSAtom* atom)
119220 GetTwoByteAtomChars(const JS::AutoCheckCannotGC& nogc, JSAtom* atom)
119261 JS::AutoCheckCannotGC nogc;
119263 const JS::Latin1Char* src = GetLatin1LinearStringChars(nogc, s);
119276 JS::AutoCheckCannotGC nogc;
119278 const JS::Latin1Char* src = GetLatin1LinearStringChars(nogc, s);
119307 GetPropertyKeys(JSContext* cx, JS::HandleObject obj, unsigned flags, JS::AutoIdVector* props);
119310 AppendUnique(JSContext* cx, JS::AutoIdVector& base, JS::AutoIdVector& others);
119325 GetNativeStackLimit(JSContext* cx, JS::StackKind kind, int extraAllowance = 0)
119327 uintptr_t limit = JS::RootingContext::get(cx)->nativeStackLimit[kind];
119339 JS::StackKind kind = RunningWithTrustedPrincipals(cx) ? JS::StackForTrustedScript
119340 : JS::StackForUntrustedScript;
119369 uintptr_t untrustedLimit = GetNativeStackLimit(cx, JS::StackForUntrustedScript);
119400 return CheckRecursionLimit(cx, GetNativeStackLimit(cx, JS::StackForSystemCode));
119406 return CheckRecursionLimit(cx, GetNativeStackLimit(cx, JS::StackForUntrustedScript,
119413 return CheckRecursionLimitDontReport(cx, GetNativeStackLimit(cx, JS::StackForUntrustedScript,
119492 RegExpToSharedNonInline(JSContext* cx, JS::HandleObject regexp,
119493 JS::MutableHandle<RegExpShared*> shared);
119553 : expando(JS::UndefinedValue()),
119572 JS::Heap<JS::Value> expando;
119585 (* DOMProxyShadowsCheck)(JSContext* cx, JS::HandleObject object, JS::HandleId id);
119603 DateIsValid(JSContext* cx, JS::HandleObject obj, bool* isValid);
119606 DateGetMsecSinceEpoch(JSContext* cx, JS::HandleObject obj, double* msecSinceEpoch);
120200 JS::RootedString s_;
120203 const JS::Latin1Char* latin1Chars_;
120229 mozilla::Range<const JS::Latin1Char> latin1Range() const {
120231 return mozilla::Range<const JS::Latin1Char>(latin1Chars_,
120255 bool baseIsInline(JS::Handle<JSLinearString*> linearString);
120257 bool copyLatin1Chars(JSContext* cx, JS::Handle<JSLinearString*> linearString);
120258 bool copyTwoByteChars(JSContext* cx, JS::Handle<JSLinearString*> linearString);
120259 bool copyAndInflateLatin1Chars(JSContext*, JS::Handle<JSLinearString*> linearString);
120272 bool init(JSContext* cx, JS::HandleValue exn,
120280 const JS::ConstUTF8CharsZ toStringResult()
120306 JS::RootedString str;
120312 JS::RootedObject exnObject;
120320 JS::ConstUTF8CharsZ toStringResult_;
120496 JS_NewInt8ArrayFromArray(JSContext* cx, JS::HandleObject array);
120498 JS_NewUint8ArrayFromArray(JSContext* cx, JS::HandleObject array);
120500 JS_NewUint8ClampedArrayFromArray(JSContext* cx, JS::HandleObject array);
120502 JS_NewInt16ArrayFromArray(JSContext* cx, JS::HandleObject array);
120504 JS_NewUint16ArrayFromArray(JSContext* cx, JS::HandleObject array);
120506 JS_NewInt32ArrayFromArray(JSContext* cx, JS::HandleObject array);
120508 JS_NewUint32ArrayFromArray(JSContext* cx, JS::HandleObject array);
120510 JS_NewFloat32ArrayFromArray(JSContext* cx, JS::HandleObject array);
120512 JS_NewFloat64ArrayFromArray(JSContext* cx, JS::HandleObject array);
120515 JS_NewInt8ArrayWithBuffer(JSContext* cx, JS::HandleObject arrayBuffer,
120518 JS_NewUint8ArrayWithBuffer(JSContext* cx, JS::HandleObject arrayBuffer,
120521 JS_NewUint8ClampedArrayWithBuffer(JSContext* cx, JS::HandleObject arrayBuffer,
120524 JS_NewInt16ArrayWithBuffer(JSContext* cx, JS::HandleObject arrayBuffer,
120527 JS_NewUint16ArrayWithBuffer(JSContext* cx, JS::HandleObject arrayBuffer,
120530 JS_NewInt32ArrayWithBuffer(JSContext* cx, JS::HandleObject arrayBuffer,
120533 JS_NewUint32ArrayWithBuffer(JSContext* cx, JS::HandleObject arrayBuffer,
120536 JS_NewFloat32ArrayWithBuffer(JSContext* cx, JS::HandleObject arrayBuffer,
120539 JS_NewFloat64ArrayWithBuffer(JSContext* cx, JS::HandleObject arrayBuffer,
120647 inline void GetInt8ArrayLengthAndData(JSObject* obj, uint32_t* length, bool* isSharedMemory, int8_t** data) { do { } while (0); const JS::Value& lenSlot = GetReservedSlot(obj, detail::TypedArrayLengthSlot); *length = mozilla::AssertedCast<uint32_t>(lenSlot.toInt32()); *isSharedMemory = JS_GetTypedArraySharedness(obj); *data = static_cast<int8_t*>(GetObjectPrivate(obj)); }
120648 inline void GetUint8ArrayLengthAndData(JSObject* obj, uint32_t* length, bool* isSharedMemory, uint8_t** data) { do { } while (0); const JS::Value& lenSlot = GetReservedSlot(obj, detail::TypedArrayLengthSlot); *length = mozilla::AssertedCast<uint32_t>(lenSlot.toInt32()); *isSharedMemory = JS_GetTypedArraySharedness(obj); *data = static_cast<uint8_t*>(GetObjectPrivate(obj)); }
120649 inline void GetUint8ClampedArrayLengthAndData(JSObject* obj, uint32_t* length, bool* isSharedMemory, uint8_t** data) { do { } while (0); const JS::Value& lenSlot = GetReservedSlot(obj, detail::TypedArrayLengthSlot); *length = mozilla::AssertedCast<uint32_t>(lenSlot.toInt32()); *isSharedMemory = JS_GetTypedArraySharedness(obj); *data = static_cast<uint8_t*>(GetObjectPrivate(obj)); }
120650 inline void GetInt16ArrayLengthAndData(JSObject* obj, uint32_t* length, bool* isSharedMemory, int16_t** data) { do { } while (0); const JS::Value& lenSlot = GetReservedSlot(obj, detail::TypedArrayLengthSlot); *length = mozilla::AssertedCast<uint32_t>(lenSlot.toInt32()); *isSharedMemory = JS_GetTypedArraySharedness(obj); *data = static_cast<int16_t*>(GetObjectPrivate(obj)); }
120651 inline void GetUint16ArrayLengthAndData(JSObject* obj, uint32_t* length, bool* isSharedMemory, uint16_t** data) { do { } while (0); const JS::Value& lenSlot = GetReservedSlot(obj, detail::TypedArrayLengthSlot); *length = mozilla::AssertedCast<uint32_t>(lenSlot.toInt32()); *isSharedMemory = JS_GetTypedArraySharedness(obj); *data = static_cast<uint16_t*>(GetObjectPrivate(obj)); }
120652 inline void GetInt32ArrayLengthAndData(JSObject* obj, uint32_t* length, bool* isSharedMemory, int32_t** data) { do { } while (0); const JS::Value& lenSlot = GetReservedSlot(obj, detail::TypedArrayLengthSlot); *length = mozilla::AssertedCast<uint32_t>(lenSlot.toInt32()); *isSharedMemory = JS_GetTypedArraySharedness(obj); *data = static_cast<int32_t*>(GetObjectPrivate(obj)); }
120653 inline void GetUint32ArrayLengthAndData(JSObject* obj, uint32_t* length, bool* isSharedMemory, uint32_t** data) { do { } while (0); const JS::Value& lenSlot = GetReservedSlot(obj, detail::TypedArrayLengthSlot); *length = mozilla::AssertedCast<uint32_t>(lenSlot.toInt32()); *isSharedMemory = JS_GetTypedArraySharedness(obj); *data = static_cast<uint32_t*>(GetObjectPrivate(obj)); }
120654 inline void GetFloat32ArrayLengthAndData(JSObject* obj, uint32_t* length, bool* isSharedMemory, float** data) { do { } while (0); const JS::Value& lenSlot = GetReservedSlot(obj, detail::TypedArrayLengthSlot); *length = mozilla::AssertedCast<uint32_t>(lenSlot.toInt32()); *isSharedMemory = JS_GetTypedArraySharedness(obj); *data = static_cast<float*>(GetObjectPrivate(obj)); }
120655 inline void GetFloat64ArrayLengthAndData(JSObject* obj, uint32_t* length, bool* isSharedMemory, double** data) { do { } while (0); const JS::Value& lenSlot = GetReservedSlot(obj, detail::TypedArrayLengthSlot); *length = mozilla::AssertedCast<uint32_t>(lenSlot.toInt32()); *isSharedMemory = JS_GetTypedArraySharedness(obj); *data = static_cast<double*>(GetObjectPrivate(obj)); }
120682 JS_GetSharedArrayBufferData(JSObject* obj, bool* isSharedMemory, const JS::AutoCheckCannotGC&);
120744 JS_GetArrayBufferData(JSObject* obj, bool* isSharedMemory, const JS::AutoCheckCannotGC&);
120778 JS_GetInt8ArrayData(JSObject* obj, bool* isSharedMemory, const JS::AutoCheckCannotGC&);
120780 JS_GetUint8ArrayData(JSObject* obj, bool* isSharedMemory, const JS::AutoCheckCannotGC&);
120782 JS_GetUint8ClampedArrayData(JSObject* obj, bool* isSharedMemory, const JS::AutoCheckCannotGC&);
120784 JS_GetInt16ArrayData(JSObject* obj, bool* isSharedMemory, const JS::AutoCheckCannotGC&);
120786 JS_GetUint16ArrayData(JSObject* obj, bool* isSharedMemory, const JS::AutoCheckCannotGC&);
120788 JS_GetInt32ArrayData(JSObject* obj, bool* isSharedMemory, const JS::AutoCheckCannotGC&);
120790 JS_GetUint32ArrayData(JSObject* obj, bool* isSharedMemory, const JS::AutoCheckCannotGC&);
120792 JS_GetFloat32ArrayData(JSObject* obj, bool* isSharedMemory, const JS::AutoCheckCannotGC&);
120794 JS_GetFloat64ArrayData(JSObject* obj, bool* isSharedMemory, const JS::AutoCheckCannotGC&);
120801 JS_GetArrayBufferViewData(JSObject* obj, bool* isSharedMemory, const JS::AutoCheckCannotGC&);
120809 JS_GetArrayBufferViewBuffer(JSContext* cx, JS::HandleObject obj, bool* isSharedMemory);
120818 JS_DetachArrayBuffer(JSContext* cx, JS::HandleObject obj);
120835 JS_NewDataView(JSContext* cx, JS::HandleObject buffer, uint32_t byteOffset, int32_t byteLength);
120844 JS_GetDataViewData(JSObject* obj, bool* isSharedMemory, const JS::AutoCheckCannotGC&);
120849 WatchGuts(JSContext* cx, JS::HandleObject obj, JS::HandleId id, JS::HandleObject callable);
120852 UnwatchGuts(JSContext* cx, JS::HandleObject obj, JS::HandleId id);
120866 class JSJitGetterCallArgs : protected JS::MutableHandleValue
120869 explicit JSJitGetterCallArgs(const JS::CallArgs& args)
120870 : JS::MutableHandleValue(args.rval())
120873 explicit JSJitGetterCallArgs(JS::RootedValue* rooted)
120874 : JS::MutableHandleValue(rooted)
120877 JS::MutableHandleValue rval() {
120886 class JSJitSetterCallArgs : protected JS::MutableHandleValue
120889 explicit JSJitSetterCallArgs(const JS::CallArgs& args)
120890 : JS::MutableHandleValue(args[0])
120893 JS::MutableHandleValue operator[](unsigned i) {
120909 class JSJitMethodCallArgs : protected JS::detail::CallArgsBase<JS::detail::NoUsedRval>
120912 typedef JS::detail::CallArgsBase<JS::detail::NoUsedRval> Base;
120916 explicit JSJitMethodCallArgs(const JS::CallArgs& args) {
120921 JS::MutableHandleValue rval() const {
120927 JS::MutableHandleValue operator[](unsigned i) const {
120941 JS::HandleValue get(unsigned i) const {
120953 (* JSJitGetterOp)(JSContext* cx, JS::HandleObject thisObj,
120956 (* JSJitSetterOp)(JSContext* cx, JS::HandleObject thisObj,
120959 (* JSJitMethodOp)(JSContext* cx, JS::HandleObject thisObj,
121203 FUNCTION_VALUE_TO_JITINFO(const JS::Value& v)
121268 static __attribute__((always_inline)) inline JS::Value
121272 return JS::StringValue(JSID_TO_STRING(id));
121274 return JS::Int32Value(JSID_TO_INT(id));
121276 return JS::SymbolValue(JSID_TO_SYMBOL(id));
121278 return JS::UndefinedValue();
121286 virtual void invoke(JS::HandleObject scope, Closure& closure) = 0;
121290 PrepareScriptEnvironmentAndInvoke(JSContext* cx, JS::HandleObject scope,
121346 virtual JSObject* build(JSContext* cx, JS::HandleObject obj,
121366 GetElementsWithAdder(JSContext* cx, JS::HandleObject obj, JS::HandleObject receiver,
121370 ForwardToNative(JSContext* cx, JSNative native, const JS::CallArgs& args);
121373 SetPropertyIgnoringNamedGetter(JSContext* cx, JS::HandleObject obj, JS::HandleId id,
121374 JS::HandleValue v, JS::HandleValue receiver,
121375 JS::Handle<JS::PropertyDescriptor> ownDesc,
121376 JS::ObjectOpResult& result);
121380 ExecuteInGlobalAndReturnScope(JSContext* cx, JS::HandleObject obj, JS::HandleScript script,
121381 JS::MutableHandleObject scope);
121387 GetFirstSubsumedSavedFrame(JSContext* cx, JS::HandleObject savedFrame, JS::SavedFrameSelfHosted selfHosted);
121390 ReportIsNotFunction(JSContext* cx, JS::HandleValue v);
121393 ConvertArgsToArray(JSContext* cx, const JS::CallArgs& args);
121403 SetWindowProxy(JSContext* cx, JS::HandleObject global, JS::HandleObject windowProxy);
121450 AddPluralRulesConstructor(JSContext* cx, JS::Handle<JSObject*> intl);
121453 AddMozDateTimeFormatConstructor(JSContext* cx, JS::Handle<JSObject*> intl);
121478 SetCompartmentValidAccessPtr(JSContext* cx, JS::HandleObject global, bool* accessp);
121541 JS::AutoSuppressGCAnalysis nogc;
121552 JS::AutoSuppressGCAnalysis nogc;
121563 JS::AutoSuppressGCAnalysis nogc;
121574 JS::AutoSuppressGCAnalysis nogc;
121585 JS::AutoSuppressGCAnalysis nogc;
121596 JS::AutoSuppressGCAnalysis nogc;
121607 JS::AutoSuppressGCAnalysis nogc;
121618 JS::AutoSuppressGCAnalysis nogc;
121629 JS::AutoSuppressGCAnalysis nogc;
121822 JS::UnsafeTraceRoot(trc, &mTypedObj, "TypedArray.mTypedObj");
121823 JS::UnsafeTraceRoot(trc, &mTypedObj, "TypedArray.mWrappedObj");
121918 JS::MutableHandle<JSObject*>::fromMarkedLocation(&mWrappedObj));
121935 T* GetData(JSObject*, bool* isShared, const JS::AutoCheckCannotGC&),
121957 JS::Rooted<JSObject*> creatorWrapper(cx);
121979 JS::AutoCheckCannotGC nogc;
122102 class TypedArrayRooter : private JS::CustomAutoRooter
122108 JS::CustomAutoRooter(cx ),
122126 private JS::CustomAutoRooter
122132 JS::CustomAutoRooter(cx ),
122273 ToJSValue(JSContext* aCx, ImageBitmapFormat aArgument, JS::MutableHandle<JS::Value> aValue);
122293 ToJSValue(JSContext* aCx, ChannelPixelLayoutDataType aArgument, JS::MutableHandle<JS::Value> aValue);
122326 Init(JSContext* cx, JS::Handle<JS::Value> val, const char* sourceDescription = "Value", bool passedToJSImpl = false);
122332 ToObjectInternal(JSContext* cx, JS::MutableHandle<JS::Value> rval) const;
122832 ToJSVal(JSContext* cx, JS::Handle<JSObject*> scopeObj, JS::MutableHandle<JS::Value> rval) const;
122963 TrySetToHTMLImageElement(JSContext* cx, JS::Handle<JS::Value> value, bool& tryNext, bool passedToJSImpl = false);
122992 TrySetToHTMLVideoElement(JSContext* cx, JS::Handle<JS::Value> value, bool& tryNext, bool passedToJSImpl = false);
123021 TrySetToHTMLCanvasElement(JSContext* cx, JS::Handle<JS::Value> value, bool& tryNext, bool passedToJSImpl = false);
123050 TrySetToBlob(JSContext* cx, JS::Handle<JS::Value> value, bool& tryNext, bool passedToJSImpl = false);
123079 TrySetToImageData(JSContext* cx, JS::Handle<JS::Value> value, bool& tryNext, bool passedToJSImpl = false);
123108 TrySetToCanvasRenderingContext2D(JSContext* cx, JS::Handle<JS::Value> value, bool& tryNext, bool passedToJSImpl = false);
123137 TrySetToImageBitmap(JSContext* cx, JS::Handle<JS::Value> value, bool& tryNext, bool passedToJSImpl = false);
123166 TrySetToArrayBufferView(JSContext* cx, JS::Handle<JS::Value> value, bool& tryNext, bool passedToJSImpl = false);
123195 TrySetToArrayBuffer(JSContext* cx, JS::Handle<JS::Value> value, bool& tryNext, bool passedToJSImpl = false);
123221 ToJSVal(JSContext* cx, JS::Handle<JSObject*> scopeObj, JS::MutableHandle<JS::Value> rval) const;
123261 DefineDOMInterface(JSContext* aCx, JS::Handle<JSObject*> aGlobal, JS::Handle<jsid> id, bool aDefineOnGlobal);
123267 Wrap(JSContext* aCx, mozilla::dom::ImageBitmap* aObject, nsWrapperCache* aCache, JS::Handle<JSObject*> aGivenProto, JS::MutableHandle<JSObject*> aReflector);
123270 inline JSObject* Wrap(JSContext* aCx, T* aObject, JS::Handle<JSObject*> aGivenProto)
123272 JS::Rooted<JSObject*> reflector(aCx);
123279 CreateInterfaceObjects(JSContext* aCx, JS::Handle<JSObject*> aGlobal, ProtoAndIfaceCache& aProtoAndIfaceCache, bool aDefineOnGlobal);
123281 JS::Handle<JSObject*>
123284 JS::Handle<JSObject*>
123312 using JS::AutoIdVector;
123313 using JS::CallArgs;
123314 using JS::Handle;
123315 using JS::HandleId;
123316 using JS::HandleObject;
123317 using JS::HandleValue;
123318 using JS::IsAcceptableThis;
123319 using JS::MutableHandle;
123320 using JS::MutableHandleObject;
123321 using JS::MutableHandleValue;
123322 using JS::NativeImpl;
123323 using JS::ObjectOpResult;
123324 using JS::PrivateValue;
123325 using JS::PropertyDescriptor;
123326 using JS::Value;
123450 virtual bool isArray(JSContext* cx, HandleObject proxy, JS::IsArrayAnswer* answer) const;
123469 virtual bool watch(JSContext* cx, JS::HandleObject proxy, JS::HandleId id,
123470 JS::HandleObject callable) const;
123471 virtual bool unwatch(JSContext* cx, JS::HandleObject proxy, JS::HandleId id) const;
123502 : privateSlot(JS::UndefinedValue())
123505 extraSlots[i] = JS::UndefinedValue();
123747 InitProxyClass(JSContext* cx, JS::HandleObject obj);
123780 mozilla::Maybe<JS::RootedObject> proto_;
123841 JS::IsArrayAnswer* answer) const override;
123998 JS::IsArrayAnswer* answer) const override;
124029 virtual bool isArray(JSContext* cx, HandleObject wrapper, JS::IsArrayAnswer* answer) const override;
124037 virtual bool watch(JSContext* cx, JS::HandleObject proxy, JS::HandleId id,
124038 JS::HandleObject callable) const override;
124039 virtual bool unwatch(JSContext* cx, JS::HandleObject proxy, JS::HandleId id) const override;
124325 namespace JS {
124404 JS::MutableHandleValue value);
124410 bool defineProperty(JSContext* cx, const char* name, JS::HandleValue value);
124411 bool defineProperty(JSContext* cx, const char* name, JS::HandleObject value);
124556 JS::RootingContext* RootingCx();
124640 __attribute__ ((warn_unused_result)) bool StealException(JS::MutableHandle<JS::Value> aVal);
124648 __attribute__ ((warn_unused_result)) bool PeekException(JS::MutableHandle<JS::Value> aVal);
124667 Maybe<JS::WarningReporter> mOldWarningReporter;
124694 class DocshellEntryMonitor final : public JS::dbg::AutoEntryMonitor
124705 JS::Handle<JS::Value> aAsyncStack,
124712 JS::Handle<JS::Value> aAsyncStack,
124722 JS::Handle<JS::Value> aAsyncStack,
124732 JS::AutoHideScriptedCaller mCallerOverride;
124744 JS::AutoHideScriptedCaller mCallerOverride;
124844 virtual nsresult SetProperty(JS::Handle<JSObject*> aTarget,
124859 virtual nsresult InitClasses(JS::Handle<JSObject*> aGlobalObj) = 0;
124874 virtual void SetWindowProxy(JS::Handle<JSObject*> aWindowProxy) = 0;
125109 virtual nsresult FindInterfaceWithMember(JS::Handle<jsid> nameID, nsIInterfaceInfo * *_retval) = 0;
125112 virtual nsresult FindInterfaceWithName(JS::Handle<jsid> nameID, nsIInterfaceInfo * *_retval) = 0;
125115 virtual bool HasNativeMember(JS::Handle<jsid> name) = 0;
125206 virtual nsresult InitClassesWithNewWrappedGlobal(JSContext *aJSContext, nsISupports *aCOMObj, nsIPrincipal *aPrincipal, uint32_t aFlags, JS::CompartmentOptions & aOptions, nsIXPConnectJSObjectHolder * *_retval) = 0;
125221 virtual nsresult WrapNativeToJSVal(JSContext *aJSContext, JSObject *aScope, nsISupports *aCOMObj, nsWrapperCache *aCache, const nsIID *aIID, bool aAllowWrapper, JS::MutableHandleValue aVal) = 0;
125227 virtual nsresult JSValToVariant(JSContext *cx, JS::HandleValue aJSVal, nsIVariant * *_retval) = 0;
125263 virtual nsresult VariantToJS(JSContext *ctx, JSObject *scope, nsIVariant *value, JS::MutableHandleValue _retval) = 0;
125266 virtual nsresult JSToVariant(JSContext *ctx, JS::HandleValue value, nsIVariant * *_retval) = 0;
125272 virtual nsresult EvalInSandboxObject(const nsAString & source, const char * filename, JSContext *cx, JSObject *sandbox, JS::MutableHandleValue _retval) = 0;
125831 JS::Handle<JSObject*> aHandler) = 0;
127141 TransplantObject(JSContext* cx, JS::HandleObject origobj, JS::HandleObject target);
127162 GetScopeForXBLExecution(JSContext* cx, JS::HandleObject obj, JSAddonId* addonId);
127185 GetAddonScope(JSContext* cx, JS::HandleObject contentScope, JSAddonId* addonId);
127206 JS::Handle<JSObject*> thisObj,
127207 JS::MutableHandle<JSObject*> global);
127215 namespace JS {
127222 xpc_FastGetCachedWrapper(JSContext* cx, nsWrapperCache* cache, JS::MutableHandleValue vp)
127272 JS::MutableHandleValue vp);
127277 JS::MutableHandleValue rval, bool* sharedBuffer)
127279 JS::Zone* zone = js::GetContextZone(cx);
127283 JS::StringReadBarrier(cache->mString);
127316 static void FreeZoneCache(JS::Zone* zone);
127317 static void ClearZoneCache(JS::Zone* zone);
127334 static void FinalizeLiteral(JS::Zone* zone, const JSStringFinalizer* fin, char16_t* chars);
127336 static void FinalizeDOMString(JS::Zone* zone, const JSStringFinalizer* fin, char16_t* chars);
127346 bool Base64Encode(JSContext* cx, JS::HandleValue val, JS::MutableHandleValue out);
127347 bool Base64Decode(JSContext* cx, JS::HandleValue val, JS::MutableHandleValue out);
127354 bool NonVoidStringToJsval(JSContext* cx, nsAString& str, JS::MutableHandleValue rval);
127355 inline bool StringToJsval(JSContext* cx, nsAString& str, JS::MutableHandleValue rval)
127366 NonVoidStringToJsval(JSContext* cx, const nsAString& str, JS::MutableHandleValue rval)
127377 StringToJsval(JSContext* cx, const nsAString& str, JS::MutableHandleValue rval)
127392 JS::MutableHandleValue rval)
127420 JS::MutableHandleValue rval)
127472 ReportJSRuntimeExplicitTreeStats(const JS::RuntimeStats& rtStats,
127620 void LogToConsoleWithStack(JS::HandleObject aStack);
127636 DispatchScriptErrorEvent(nsPIDOMWindowInner* win, JS::RootingContext* rootingCx,
127637 xpc::ErrorReport* xpcReport, JS::Handle<JS::Value> exception);
127641 JS::HandleValue exceptionValue);
127699 namespace JS {
127729 virtual nsresult SetProperty(JS::Handle<JSObject*> aTarget, const char* aPropName, nsISupports* aVal) override;
127734 virtual nsresult InitClasses(JS::Handle<JSObject*> aGlobalObj) override;
127739 virtual void SetWindowProxy(JS::Handle<JSObject*> aWindowProxy) override;
127758 static void GarbageCollectNow(JS::gcreason::Reason reason,
127784 static void PokeGC(JS::gcreason::Reason aReason, JSObject* aObj, int aDelay = 0);
127815 JS::Handle<JSObject*> aScope,
127816 JS::AutoValueVector &aArgsOut);
127818 nsresult AddSupportsPrimitiveTojsvals(nsISupports *aArg, JS::Value *aArgv);
127823 JS::Heap<JSObject*> mWindowProxy;
127904 explicit CallbackObject(JSContext* aCx, JS::Handle<JSObject*> aCallback,
127907 if (aCx && JS::ContextOptionsRef(aCx).asyncStack()) {
127908 JS::RootedObject stack(aCx);
127909 if (!JS::CaptureCurrentStack(aCx, &stack)) {
127921 explicit CallbackObject(JS::Handle<JSObject*> aCallback,
127922 JS::Handle<JSObject*> aAsyncStack,
127928 JS::Handle<JSObject*> CallbackOrNull() const
127945 JS::Handle<JSObject*> CallbackPreserveColor() const
127949 return JS::Handle<JSObject*>::fromMarkedLocation(mCallback.address());
127957 JS::Handle<JSObject*> CallbackKnownNotGray() const
128093 CallbackObject(JS::Handle<JSObject*> aCallback,
128103 JS::Heap<JSObject*> mCallback;
128104 JS::Heap<JSObject*> mCreationStack;
128107 JS::TenuredHeap<JSObject*> mIncumbentJSGlobal;
128141 bool ShouldRethrowException(JS::Handle<JS::Value> aException);
128154 Maybe<JS::Rooted<JSObject*> > mRootedCallable;
128157 Maybe<JS::Rooted<JSObject*>> mAsyncStack;
128158 Maybe<JS::AutoSetAsyncStackForNewCalls> mAsyncStackSetter;
128390 class RootedCallback : public JS::Rooted<T>
128394 : JS::Rooted<T>(cx)
128414 JS::Handle<JSObject*> CallbackOrNull() const
128460 explicit CallbackFunction(JSContext* aCx, JS::Handle<JSObject*> aCallable,
128467 explicit CallbackFunction(JS::Handle<JSObject*> aCallable,
128468 JS::Handle<JSObject*> aAsyncStack,
128474 JS::Handle<JSObject*> CallableOrNull() const
128479 JS::Handle<JSObject*> CallablePreserveColor() const
128487 return mCallback && JS::ObjectIsMarkedGray(mCallback);
128497 CallbackFunction(JS::Handle<JSObject*> aCallable,
128529 ToBooleanSlow(JS::HandleValue v);
128533 ToNumberSlow(JSContext* cx, JS::HandleValue v, double* dp);
128537 ToInt8Slow(JSContext *cx, JS::HandleValue v, int8_t *out);
128541 ToUint8Slow(JSContext *cx, JS::HandleValue v, uint8_t *out);
128545 ToInt16Slow(JSContext *cx, JS::HandleValue v, int16_t *out);
128549 ToInt32Slow(JSContext* cx, JS::HandleValue v, int32_t* out);
128553 ToUint32Slow(JSContext* cx, JS::HandleValue v, uint32_t* out);
128557 ToUint16Slow(JSContext* cx, JS::HandleValue v, uint16_t* out);
128561 ToInt64Slow(JSContext* cx, JS::HandleValue v, int64_t* out);
128565 ToUint64Slow(JSContext* cx, JS::HandleValue v, uint64_t* out);
128569 ToStringSlow(JSContext* cx, JS::HandleValue v);
128573 ToObjectSlow(JSContext* cx, JS::HandleValue v, bool reportScanStack);
128577 namespace JS {
128651 ToInt32(JSContext* cx, JS::HandleValue v, int32_t* out)
128677 ToInt16(JSContext *cx, JS::HandleValue v, int16_t *out)
128703 ToInt8(JSContext *cx, JS::HandleValue v, int8_t *out)
128716 ToUint8(JSContext *cx, JS::HandleValue v, uint8_t *out)
135900 DescribeGCThing(bool aIsMarked, JS::GCCellPtr aThing,
135911 NoteGCThingJSChildren(JS::GCCellPtr aThing,
135931 TraverseGCThing(TraverseSelect aTs, JS::GCCellPtr aThing,
135935 TraverseZone(JS::Zone* aZone, nsCycleCollectionTraversalCallback& aCb);
135938 TraverseObjectShim(void* aData, JS::GCCellPtr aThing);
135945 static void GCSliceCallback(JSContext* aContext, JS::GCProgress aProgress,
135946 const JS::GCDescription& aDesc);
135948 JS::GCNurseryProgress aProgress,
135949 JS::gcreason::Reason aReason);
135962 JS::HandleObject aJob,
135963 JS::HandleObject aAllocationSite,
135964 JS::HandleObject aIncumbentGlobal,
135967 JS::HandleObject aPromise,
136057 JS::RootingContext* RootingCx() const
136060 return JS::RootingContext::get(mJSContext);
136116 void AddZoneWaitingForGC(JS::Zone* aZone)
136136 JS::PersistentRooted<JS::GCVector<JSObject*, 0, js::SystemAllocPolicy>> mUncaughtRejections;
136141 JS::PersistentRooted<JS::GCVector<JSObject*, 0, js::SystemAllocPolicy>> mConsumedRejections;
136151 JS::GCSliceCallback mPrevGCSliceCallback;
136152 JS::GCNurseryCollectionCallback mPrevGCNurseryCollectionCallback;
136184 SegmentedVector<JS::PersistentRooted<JSObject*>, kSegmentSize,
136188 nsTHashtable<nsPtrHashKey<JS::Zone>> mZonesWaitingForGC;
136191 void invoke(JS::HandleObject scope, Closure& closure) override;
136199 inline bool AddToCCKind(JS::TraceKind aKind)
136201 return aKind == JS::TraceKind::Object ||
136202 aKind == JS::TraceKind::Script ||
136203 aKind == JS::TraceKind::Scope ||
136204 aKind == JS::TraceKind::RegExpShared;
136208 GetBuildId(JS::BuildIdCharVector* aBuildID);
144018 return JS::CompartmentCreationOptionsRef(js::GetContextCompartment(aCx)).secureContext() ||
144019 JS::CompartmentCreationOptionsRef(js::GetObjectCompartment(aObj)).secureContext();
144023 (* ResolveOwnProperty)(JSContext* cx, JS::Handle<JSObject*> wrapper,
144024 JS::Handle<JSObject*> obj, JS::Handle<jsid> id,
144025 JS::MutableHandle<JS::PropertyDescriptor> desc);
144028 (* EnumerateOwnProperties)(JSContext* cx, JS::Handle<JSObject*> wrapper,
144029 JS::Handle<JSObject*> obj,
144030 JS::AutoIdVector& props);
144033 (* DeleteNamedProperty)(JSContext* cx, JS::Handle<JSObject*> wrapper,
144034 JS::Handle<JSObject*> obj, JS::Handle<jsid> id,
144035 JS::ObjectOpResult& opresult);
144046 JS::Value value;
144065 inline bool isEnabled(JSContext* cx, JS::Handle<JSObject*> obj) const {
144103 inline bool isEnabled(JSContext* cx, JS::Handle<JSObject*> obj) const {
144230 JS::Handle<JSObject*> aObj);
144234 typedef JS::Handle<JSObject*> (*ProtoHandleGetter)(JSContext* aCx);
144370 bool getOwnPropertyDescriptor(JSContext* cx, JS::Handle<JSObject*> proxy,
144371 JS::Handle<jsid> id,
144372 JS::MutableHandle<JS::PropertyDescriptor> desc) const override;
144373 virtual bool ownPropertyKeys(JSContext* cx, JS::Handle<JSObject*> proxy,
144374 JS::AutoIdVector &props) const override;
144376 virtual bool getPrototypeIfOrdinary(JSContext* cx, JS::Handle<JSObject*> proxy,
144378 JS::MutableHandle<JSObject*> proto) const override;
144384 virtual bool getOwnEnumerablePropertyKeys(JSContext* cx, JS::Handle<JSObject*> proxy,
144385 JS::AutoIdVector &props) const override;
144387 bool watch(JSContext* cx, JS::Handle<JSObject*> proxy, JS::Handle<jsid> id,
144388 JS::Handle<JSObject*> callable) const override;
144389 bool unwatch(JSContext* cx, JS::Handle<JSObject*> proxy,
144390 JS::Handle<jsid> id) const override;
144397 virtual bool ownPropNames(JSContext* cx, JS::Handle<JSObject*> proxy,
144399 JS::AutoIdVector& props) const = 0;
144406 JS::Handle<JSObject*> proxy,
144407 JS::Handle<jsid> id,
144409 JS::MutableHandle<JS::PropertyDescriptor> desc) const = 0;
144419 bool defineProperty(JSContext* cx, JS::Handle<JSObject*> proxy, JS::Handle<jsid> id,
144420 JS::Handle<JS::PropertyDescriptor> desc,
144421 JS::ObjectOpResult &result) const override
144426 virtual bool defineProperty(JSContext* cx, JS::Handle<JSObject*> proxy, JS::Handle<jsid> id,
144427 JS::Handle<JS::PropertyDescriptor> desc,
144428 JS::ObjectOpResult &result, bool *defined) const;
144429 bool delete_(JSContext* cx, JS::Handle<JSObject*> proxy, JS::Handle<jsid> id,
144430 JS::ObjectOpResult &result) const override;
144431 bool preventExtensions(JSContext* cx, JS::Handle<JSObject*> proxy,
144432 JS::ObjectOpResult& result) const override;
144433 bool isExtensible(JSContext *cx, JS::Handle<JSObject*> proxy, bool *extensible)
144435 bool set(JSContext *cx, JS::Handle<JSObject*> proxy, JS::Handle<jsid> id,
144436 JS::Handle<JS::Value> v, JS::Handle<JS::Value> receiver, JS::ObjectOpResult &result)
144444 virtual bool setCustom(JSContext* cx, JS::Handle<JSObject*> proxy, JS::Handle<jsid> id,
144445 JS::Handle<JS::Value> v, bool *done) const;
144461 JS::Handle<JSObject*> obj);
144492 GetArrayIndexFromId(JSContext* cx, JS::Handle<jsid> id)
144510 JS::AutoCheckCannotGC nogc;
144531 FillPropertyDescriptor(JS::MutableHandle<JS::PropertyDescriptor> desc,
144542 FillPropertyDescriptor(JS::MutableHandle<JS::PropertyDescriptor> desc,
144543 JSObject* obj, const JS::Value& v,
144551 FillPropertyDescriptor(JS::MutableHandle<JS::PropertyDescriptor> desc,
144552 JSObject* obj, unsigned attributes, const JS::Value& v)
144607 virtual nsresult GetNativeSavedFrame(JS::MutableHandleValue aNativeSavedFrame) = 0;
144699 CreateStack(JSContext* aCx, JS::StackCapture&& aCaptureMode);
144740 private JS::CustomAutoRooter
144746 JS::CustomAutoRooter(cx )
144758 private JS::CustomAutoRooter
144764 JS::CustomAutoRooter(cx )
147891 ToJSValue(JSContext* aCx, VisibilityState aArgument, JS::MutableHandle<JS::Value> aValue);
147907 ToJSValue(JSContext* aCx, FlashClassification aArgument, JS::MutableHandle<JS::Value> aValue);
147928 Init(JSContext* cx, JS::Handle<JS::Value> val, const char* sourceDescription = "Value", bool passedToJSImpl = false);
147934 ToObjectInternal(JSContext* cx, JS::MutableHandle<JS::Value> rval) const;
148098 ToJSVal(JSContext* cx, JS::Handle<JSObject*> scopeObj, JS::MutableHandle<JS::Value> rval) const;
148163 TrySetToElementCreationOptions(JSContext* cx, JS::Handle<JS::Value> value, bool& tryNext, bool passedToJSImpl = false);
148192 TrySetToString(JSContext* cx, JS::Handle<JS::Value> value, bool& tryNext, bool passedToJSImpl = false);
148224 ToJSVal(JSContext* cx, JS::Handle<JSObject*> scopeObj, JS::MutableHandle<JS::Value> rval) const;
148246 DefineDOMInterface(JSContext* aCx, JS::Handle<JSObject*> aGlobal, JS::Handle<jsid> id, bool aDefineOnGlobal);
148252 Wrap(JSContext* aCx, nsIDocument* aObject, nsWrapperCache* aCache, JS::Handle<JSObject*> aGivenProto, JS::MutableHandle<JSObject*> aReflector);
148255 inline JSObject* Wrap(JSContext* aCx, T* aObject, JS::Handle<JSObject*> aGivenProto)
148257 JS::Rooted<JSObject*> reflector(aCx);
148264 CreateInterfaceObjects(JSContext* aCx, JS::Handle<JSObject*> aGlobal, ProtoAndIfaceCache& aProtoAndIfaceCache, bool aDefineOnGlobal);
148266 JS::Handle<JSObject*>
148272 JS::Handle<JSObject*>
150473 JS::MutableHandle<JSObject*> aRetval,
150628 JS::Handle<JSObject*> aResult, mozilla::ErrorResult& rv);
151604 JS = 0x40,
152751 JS::AutoObjectVector& aScopeChain,
152752 JS::CompileOptions& aOptions,
152773 JS::Rooted<JS::Value> mRetValue;
152776 JS::AutoObjectVector mScopeChain;
152794 ExecutionContext(JSContext* aCx, JS::Handle<JSObject*> aGlobal);
152812 void SetScopeChain(const JS::AutoObjectVector& aScopeChain);
152815 ExtractReturnValue(JS::MutableHandle<JS::Value> aRetValue);
152823 JS::MutableHandle<JSScript*> aScript);
152826 nsresult CompileAndExec(JS::CompileOptions& aCompileOptions,
152827 JS::SourceBufferHolder& aSrcBuf);
152830 nsresult CompileAndExec(JS::CompileOptions& aCompileOptions,
152835 JS::SourceBufferHolder& aSrcBuf,
152836 JS::Handle<JSObject*> aEvaluationGlobal,
152837 JS::CompileOptions &aCompileOptions,
152838 JS::MutableHandle<JSObject*> aModule);
152841 JS::Handle<JSObject*> aModule);
152844 JS::Handle<JSObject*> aModule);
152850 JS::AutoObjectVector& aScopeChain);
152894 bool init(JSContext* aContext, const JS::Value &v)
152901 JS::Rooted<JSString*> str(aContext);
152905 JS::Rooted<JS::Value> rootedVal(aContext, v);
152906 str = JS::ToString(aContext, rootedVal);
152914 JS::Rooted<JS::Value> v(aContext);
152918 bool init(const JS::Value &v);
153003 virtual nsresult GetProperty(nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj, jsid id, JS::Value *vp, bool *_retval) = 0;
153006 virtual nsresult SetProperty(nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj, jsid id, JS::Value *vp, bool *_retval) = 0;
153012 virtual nsresult NewEnumerate(nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj, JS::AutoIdVector & properties, bool *_retval) = 0;
153021 virtual nsresult Call(nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj, const JS::CallArgs & args, bool *_retval) = 0;
153024 virtual nsresult Construct(nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj, const JS::CallArgs & args, bool *_retval) = 0;
153027 virtual nsresult HasInstance(nsIXPConnectWrappedNative *wrapper, JSContext *cx, JSObject *obj, JS::HandleValue val, bool *bp, bool *_retval) = 0;
153247 JS::ExposeObjectToActiveJS(obj);
153261 return o && !JS::ObjectIsMarkedGray(o);
153265 SearchGray(JS::GCCellPtr aGCThing, const char* aName, void* aClosure)
153268 if (!*hasGrayObjects && aGCThing && JS::GCThingIsMarkedGray(aGCThing)) {
153309 UnwrapArgImpl(JSContext* cx, JS::Handle<JSObject*> src, const nsIID& iid,
153313 UnwrapWindowProxyImpl(JSContext* cx, JS::Handle<JSObject*> src,
153319 UnwrapArg(JSContext* cx, JS::Handle<JSObject*> src, Interface** ppArg)
153327 UnwrapArg<nsPIDOMWindowOuter>(JSContext* cx, JS::Handle<JSObject*> src,
153334 ThrowInvalidThis(JSContext* aCx, const JS::CallArgs& aArgs,
153338 ThrowInvalidThis(JSContext* aCx, const JS::CallArgs& aArgs,
153391 JS::Value val = js::GetReservedOrProxyPrivateSlot(obj, 0);
153406 JS::Value val = js::GetReservedOrProxyPrivateSlot(obj, 0);
153489 IsConvertibleToDictionary(JS::Handle<JS::Value> val)
153514 class ArrayCache : public Array<JS::Heap<JSObject*>, kProtoAndIfaceCacheCount>
153521 JS::Heap<JSObject*>& EntrySlotOrCreate(size_t i) {
153525 JS::Heap<JSObject*>& EntrySlotMustExist(size_t i) {
153531 JS::TraceEdge(aTracer, &(*this)[i], "protoAndIfaceCache[i]");
153564 JS::Heap<JSObject*>& EntrySlotOrCreate(size_t i) {
153576 JS::Heap<JSObject*>& EntrySlotMustExist(size_t i) {
153590 JS::TraceEdge(trc, &(*p)[j], "protoAndIfaceCache[i]");
153606 typedef Array<JS::Heap<JSObject*>, kPageSize> Page;
153642 JS::Heap<JSObject*>& EntrySlotOrCreate(size_t i) {
153649 JS::Heap<JSObject*>& EntrySlotMustExist(size_t i) {
153683 JS::PrivateValue(protoAndIfaceCache));
153715 DefineConstants(JSContext* cx, JS::Handle<JSObject*> obj,
153732 CreateInterfaceObjects(JSContext* cx, JS::Handle<JSObject*> global,
153733 JS::Handle<JSObject*> protoProto,
153734 const js::Class* protoClass, JS::Heap<JSObject*>* protoCache,
153735 JS::Handle<JSObject*> interfaceProto,
153738 JS::Heap<JSObject*>* constructorCache,
153746 DefineProperties(JSContext* cx, JS::Handle<JSObject*> obj,
153754 DefineUnforgeableMethods(JSContext* cx, JS::Handle<JSObject*> obj,
153761 DefineUnforgeableAttributes(JSContext* cx, JS::Handle<JSObject*> obj,
153814 TryToOuterize(JS::MutableHandle<JS::Value> rval)
153819 rval.set(JS::ObjectValue(*obj));
153829 MaybeWrapStringValue(JSContext* cx, JS::MutableHandle<JS::Value> rval)
153833 if (JS::GetStringZone(str) != js::GetContextZone(cx)) {
153843 MaybeWrapObjectValue(JSContext* cx, JS::MutableHandle<JS::Value> rval)
153867 MaybeWrapObjectOrNullValue(JSContext* cx, JS::MutableHandle<JS::Value> rval)
153879 MaybeWrapNonDOMObjectValue(JSContext* cx, JS::MutableHandle<JS::Value> rval)
153896 MaybeWrapNonDOMObjectOrNullValue(JSContext* cx, JS::MutableHandle<JS::Value> rval)
153909 MaybeWrapValue(JSContext* cx, JS::MutableHandle<JS::Value> rval)
153942 JS::Handle<JSObject*> givenProto,
153943 JS::MutableHandle<JS::Value> rval)
153978 rval.set(JS::ObjectValue(*obj));
154003 JS::MutableHandle<JS::Value> rval,
154004 JS::Handle<JSObject*> givenProto = nullptr)
154017 JS::MutableHandle<JS::Value> rval)
154032 JS::Handle<JSObject*> scopeArg,
154034 JS::MutableHandle<JS::Value> rval,
154035 JS::Handle<JSObject*> givenProto = nullptr)
154040 JS::Rooted<JSObject*> obj(cx);
154048 JS::Rooted<JSObject*> scope(cx, scopeArg);
154049 JS::Rooted<JSObject*> proto(cx, givenProto);
154068 rval.set(JS::ObjectValue(*obj));
154079 JS::Handle<JSObject*> scopeArg,
154081 JS::MutableHandle<JS::Value> rval,
154082 JS::Handle<JSObject*> givenProto = nullptr)
154091 JS::Rooted<JSObject*> obj(cx);
154099 JS::Rooted<JSObject*> scope(cx, scopeArg);
154100 JS::Rooted<JSObject*> proto(cx, givenProto);
154121 rval.set(JS::ObjectValue(*obj));
154130 WrapNewBindingNonWrapperCachedObject(JSContext* cx, JS::Handle<JSObject*> scope,
154132 JS::MutableHandle<JS::Value> rval,
154133 JS::Handle<JSObject*> givenProto = nullptr)
154143 WrapNewBindingNonWrapperCachedObject(JSContext* cx, JS::Handle<JSObject*> scope,
154145 JS::MutableHandle<JS::Value> rval,
154146 JS::Handle<JSObject*> givenProto = nullptr)
154156 JS::Handle<JSObject*> aScope,
154157 JS::MutableHandle<JS::Value> aRetval,
154168 HandleNewBindingWrappingFailure(JSContext* cx, JS::Handle<JSObject*> scope,
154169 T* value, JS::MutableHandle<JS::Value> rval)
154186 static inline bool Wrap(JSContext* cx, JS::Handle<JSObject*> scope,
154187 const T& value, JS::MutableHandle<JS::Value> rval)
154196 static inline bool Wrap(JSContext* cx, JS::Handle<JSObject*> scope, T& value,
154197 JS::MutableHandle<JS::Value> rval)
154205 HandleNewBindingWrappingFailure(JSContext* cx, JS::Handle<JSObject*> scope,
154206 T& value, JS::MutableHandle<JS::Value> rval)
154213 EnumValueNotFound(JSContext* cx, JS::HandleString str, const char* type,
154218 EnumValueNotFound<false>(JSContext* cx, JS::HandleString str, const char* type,
154227 EnumValueNotFound<true>(JSContext* cx, JS::HandleString str, const char* type,
154267 FindEnumStringIndex(JSContext* cx, JS::Handle<JS::Value> v, const EnumEntry* values,
154271 JS::RootedString str(cx, JS::ToString(cx, v));
154278 JS::AutoCheckCannotGC nogc;
154280 const JS::Latin1Char* chars = JS_GetLatin1StringCharsAndLength(cx, nogc, str,
154354 JS::AutoAssertGCCallback inCallback(obj);
154362 JS::AutoAssertGCCallback inCallback(obj);
154379 XPCOMObjectToJsval(JSContext* cx, JS::Handle<JSObject*> scope,
154381 bool allowNativeWrapper, JS::MutableHandle<JS::Value> rval);
154386 JS::MutableHandle<JS::Value> aRetval);
154395 JS::MutableHandle<JS::Value> rval)
154400 JS::Rooted<JSObject*> scope(cx, JS::CurrentGlobalOrNull(cx));
154410 JS::MutableHandle<JS::Value> rval)
154423 JS::MutableHandle<JS::Value> rval)
154433 WrapObject(JSContext* cx, T* p, JS::MutableHandle<JS::Value> rval)
154442 const nsIID* iid, JS::MutableHandle<JS::Value> rval)
154451 JS::MutableHandle<JS::Value> rval)
154460 const nsIID* iid, JS::MutableHandle<JS::Value> rval)
154469 JS::MutableHandle<JS::Value> rval)
154478 JS::MutableHandle<JS::Value> rval)
154480 rval.set(JS::ObjectOrNullValue(p));
154485 WrapObject(JSContext* cx, JSObject& p, JS::MutableHandle<JS::Value> rval)
154487 rval.set(JS::ObjectValue(p));
154500 JS::Rooted<JSObject*> scope(cx, JS::CurrentGlobalOrNull(cx));
154501 JS::Rooted<JS::Value> v(cx);
154592 return JS::CurrentGlobalOrNull(cx);
154613 JS::Rooted<JSObject*> rootedObj(cx, obj);
154636 return JS::CurrentGlobalOrNull(cx);
154647 JS::ExposeObjectToActiveJS(global);
154655 static JSObject* Get(JSContext* cx, JS::Handle<JSObject*> obj)
154666 static JSObject* Get(JSContext* cx, JS::Handle<JSObject*> obj)
154679 JS::Handle<JSObject*> givenProto,
154680 JS::MutableHandle<JS::Value> rval)
154690 JS::Handle<JSObject*> givenProto,
154691 JS::MutableHandle<JS::Value> rval)
154701 JS::MutableHandle<JS::Value> rval,
154702 JS::Handle<JSObject*> givenProto = nullptr)
154714 JS::MutableHandle<JS::Value> rval)
154724 JS::MutableHandle<JS::Value> rval)
154733 JS::MutableHandle<JS::Value> rval)
154796 if (!JS::PropertySpecNameToPermanentId(cx, spec->name, ids)) {
154811 QueryInterface(JSContext* cx, unsigned argc, JS::Value* vp);
154828 JS::MutableHandle<JS::Value> aRetval, ErrorResult& aError);
154833 JS::MutableHandle<JS::Value> aRetval, ErrorResult& aError)
154839 ThrowingConstructor(JSContext* cx, unsigned argc, JS::Value* vp);
154845 GetPropertyOnPrototype(JSContext* cx, JS::Handle<JSObject*> proxy,
154846 JS::Handle<JS::Value> receiver, JS::Handle<jsid> id,
154847 bool* found, JS::MutableHandle<JS::Value> vp);
154851 HasPropertyOnPrototype(JSContext* cx, JS::Handle<JSObject*> proxy,
154852 JS::Handle<jsid> id, bool* has);
154860 AppendNamedPropertyIds(JSContext* cx, JS::Handle<JSObject*> proxy,
154862 bool shadowPrototypeProperties, JS::AutoIdVector& props);
154872 ConvertJSValueToString(JSContext* cx, JS::Handle<JS::Value> v,
154899 s = JS::ToString(cx, v);
154910 ConvertJSValueToString(JSContext* cx, JS::Handle<JS::Value> v, T& result)
154923 ConvertJSValueToUSVString(JSContext* cx, JS::Handle<JS::Value> v, T& result)
154935 ConvertIdToString(JSContext* cx, JS::HandleId id, T& result, bool& isSymbol)
154945 JS::RootedValue nameVal(cx, js::IdToValue(id));
154955 ConvertJSValueToByteString(JSContext* cx, JS::Handle<JS::Value> v,
154959 ConvertJSValueToByteString(JSContext* cx, JS::Handle<JS::Value> v,
154990 JS::UnsafeTraceRoot(trc, objp, "sequence<object>");
154997 class SequenceTracer<JS::Value, false, false, false>
155002 static void TraceSequence(JSTracer* trc, JS::Value* valp, JS::Value* end) {
155004 JS::UnsafeTraceRoot(trc, valp, "sequence<any>");
155140 class SequenceRooter final : private JS::CustomAutoRooter
155145 : JS::CustomAutoRooter(aCx ),
155153 : JS::CustomAutoRooter(aCx ),
155161 : JS::CustomAutoRooter(aCx ),
155199 class RecordRooter final : private JS::CustomAutoRooter
155204 : JS::CustomAutoRooter(aCx ),
155212 : JS::CustomAutoRooter(aCx ),
155246 private JS::CustomAutoRooter
155251 JS::CustomAutoRooter(cx )
155263 private JS::CustomAutoRooter
155268 JS::CustomAutoRooter(cx )
155288 AddStringToIDVector(JSContext* cx, JS::AutoIdVector& vector, const char* name)
155299 Constructor(JSContext* cx, unsigned argc, JS::Value* vp);
155302 XrayResolveOwnProperty(JSContext* cx, JS::Handle<JSObject*> wrapper,
155303 JS::Handle<JSObject*> obj,
155304 JS::Handle<jsid> id,
155305 JS::MutableHandle<JS::PropertyDescriptor> desc,
155309 XrayDefineProperty(JSContext* cx, JS::Handle<JSObject*> wrapper,
155310 JS::Handle<JSObject*> obj, JS::Handle<jsid> id,
155311 JS::Handle<JS::PropertyDescriptor> desc,
155312 JS::ObjectOpResult &result,
155316 XrayOwnPropertyKeys(JSContext* cx, JS::Handle<JSObject*> wrapper,
155317 JS::Handle<JSObject*> obj,
155318 unsigned flags, JS::AutoIdVector& props);
155321 XrayGetNativeProto(JSContext* cx, JS::Handle<JSObject*> obj,
155322 JS::MutableHandle<JSObject*> protop)
155324 JS::Rooted<JSObject*> global(cx, js::GetGlobalForObjectCrossCompartment(obj));
155333 protop.set(JS::GetRealmObjectPrototype(cx));
155337 protop.set(JS::GetRealmFunctionPrototype(cx));
155354 XrayGetExpandoClass(JSContext* cx, JS::Handle<JSObject*> obj);
155357 XrayDeleteNamedProperty(JSContext* cx, JS::Handle<JSObject*> wrapper,
155358 JS::Handle<JSObject*> obj, JS::Handle<jsid> id,
155359 JS::ObjectOpResult& opresult);
155362 GetCachedSlotStorageObjectSlow(JSContext* cx, JS::Handle<JSObject*> obj,
155366 GetCachedSlotStorageObject(JSContext* cx, JS::Handle<JSObject*> obj,
155464 ReparentWrapper(JSContext* aCx, JS::Handle<JSObject*> aObj);
155470 InterfaceHasInstance(JSContext* cx, unsigned argc, JS::Value* vp);
155474 JS::Handle<JSObject*> instance,
155486 GetContentGlobalForJSImplementedObject(JSContext* cx, JS::Handle<JSObject*> obj,
155492 JS::MutableHandle<JSObject*> aObject,
155498 JS::MutableHandle<JSObject*> aObject,
155508 JS::MutableHandle<JS::Value> rval);
155510 JS::MutableHandle<JS::Value> rval)
155598 JS::UndefinedValue());
155605 JS::Handle<JSObject*> aProto, T* aNative,
155606 JS::MutableHandle<JSObject*> aReflector)
155610 JS::Rooted<JS::Value> proxyPrivateVal(aCx, JS::PrivateValue(aNative));
155621 JS::Handle<JSObject*> aProto,
155622 T* aNative, JS::MutableHandle<JSObject*> aReflector)
155626 js::SetReservedSlot(aReflector, 0, JS::PrivateValue(aNative));
155663 JS::Rooted<JSObject*> mReflector;
155805 ResolveGlobal(JSContext* aCx, JS::Handle<JSObject*> aObj,
155806 JS::Handle<jsid> aId, bool* aResolvedp);
155812 EnumerateGlobal(JSContext* aCx, JS::Handle<JSObject*> aObj);
155823 static bool PostCreateGlobal(JSContext* aCx, JS::Handle<JSObject*> aGlobal)
155837 static bool PostCreateGlobal(JSContext* aCx, JS::Handle<JSObject*> aGlobal);
155846 const JSClass* aClass, JS::CompartmentOptions& aOptions,
155848 JS::MutableHandle<JSObject*> aGlobal)
155856 JS::DontFireOnNewGlobalHook, aOptions));
155865 js::SetReservedSlot(aGlobal, 0, JS::PrivateValue(aNative));
155884 JS::Handle<JSObject*> proto = GetProto(aCx);
155924 operator JS::Handle<jsid> () {
155926 return JS::Handle<jsid>::fromMarkedLocation(&id);
155931 GenericBindingGetter(JSContext* cx, unsigned argc, JS::Value* vp);
155934 GenericPromiseReturningBindingGetter(JSContext* cx, unsigned argc, JS::Value* vp);
155937 GenericBindingSetter(JSContext* cx, unsigned argc, JS::Value* vp);
155940 GenericBindingMethod(JSContext* cx, unsigned argc, JS::Value* vp);
155943 GenericPromiseReturningBindingMethod(JSContext* cx, unsigned argc, JS::Value* vp);
155946 StaticMethodPromiseWrapper(JSContext* cx, unsigned argc, JS::Value* vp);
155951 JS::MutableHandle<JS::Value> rval);
155966 CallerSubsumes(JS::Handle<JS::Value> aValue)
155983 JS::Rooted<JSObject*> obj(aCx, wrappedObj->GetJSObject());
155989 JS::Rooted<JS::Value> v(aCx, JS::ObjectValue(*obj));
155999 JS::Rooted<JSObject*> obj(RootingCx(), wrappedObj->GetJSObject());
156009 JS::Rooted<JS::Value> v(aes.cx(), JS::ObjectValue(*obj));
156053 bool SystemGlobalResolve(JSContext* cx, JS::Handle<JSObject*> obj,
156054 JS::Handle<jsid> id, bool* resolvedp);
156059 bool SystemGlobalEnumerate(JSContext* cx, JS::Handle<JSObject*> obj);
156061 bool ForEachHandler(JSContext* aCx, unsigned aArgc, JS::Value* aVp);
156068 bool GetMaplikeBackingObject(JSContext* aCx, JS::Handle<JSObject*> aObj,
156070 JS::MutableHandle<JSObject*> aBackingObj,
156072 bool GetSetlikeBackingObject(JSContext* aCx, JS::Handle<JSObject*> aObj,
156074 JS::MutableHandle<JSObject*> aBackingObj,
156080 GetDesiredProto(JSContext* aCx, const JS::CallArgs& aCallArgs,
156081 JS::MutableHandle<JSObject*> aDesiredProto);
156087 CreateHTMLElement(const GlobalObject& aGlobal, const JS::CallArgs& aCallArgs,
156105 InterfaceObjectToString(JSContext* aCx, JS::Handle<JSObject*> aObject,
156134 JS::MutableHandle<JS::Value> aValue);
156146 JS::MutableHandle<JS::Value> aValue)
156159 JS::MutableHandle<JS::Value> aValue)
156171 JS::MutableHandle<JS::Value> aValue)
156183 JS::MutableHandle<JS::Value> aValue)
156195 JS::MutableHandle<JS::Value> aValue)
156208 JS::MutableHandle<JS::Value> aValue)
156220 JS::MutableHandle<JS::Value> aValue)
156233 JS::MutableHandle<JS::Value> aValue)
156250 JS::MutableHandle<JS::Value> aValue)
156266 JS::MutableHandle<JS::Value> aValue)
156288 JS::MutableHandle<JS::Value> aValue)
156294 JS::Rooted<JSObject*> scope(aCx, JS::CurrentGlobalOrNull(aCx));
156303 JS::MutableHandle<JS::Value> aValue)
156312 JS::MutableHandle<JS::Value> aValue)
156321 JS::MutableHandle<JS::Value> aValue)
156332 JS::MutableHandle<JS::Value> aValue)
156339 ToJSValue(JSContext* aCx, JS::Handle<JS::Value> aArgument,
156340 JS::MutableHandle<JS::Value> aValue)
156348 ToJSValue(JSContext* aCx, const JS::Heap<JS::Value>& aArgument,
156349 JS::MutableHandle<JS::Value> aValue)
156357 ToJSValue(JSContext* aCx, const JS::Rooted<JS::Value>& aArgument,
156358 JS::MutableHandle<JS::Value> aValue)
156367 ToJSValue(JSContext* aCx, const JS::Rooted<JSObject*>& aArgument,
156368 JS::MutableHandle<JS::Value> aValue)
156379 JS::MutableHandle<JS::Value> aValue);
156387 JS::MutableHandle<JS::Value> aValue);
156395 JS::MutableHandle<JS::Value> aValue)
156397 JS::Rooted<JSObject*> global(aCx, JS::CurrentGlobalOrNull(aCx));
156407 JS::MutableHandle<JS::Value> aValue)
156416 JS::MutableHandle<JS::Value> aValue);
156424 JS::MutableHandle<JS::Value> aValue)
156429 JS::AutoValueVector v(aCx);
156450 JS::MutableHandle<JS::Value> aValue)
156460 JS::MutableHandle<JS::Value> aValue)
156470 JS::MutableHandle<JS::Value> aValue)
156518 ToJSValue(JSContext* aCx, ScrollBehavior aArgument, JS::MutableHandle<JS::Value> aValue);
156665 ToJSVal(JSContext* cx, JS::Handle<JSObject*> scopeObj, JS::MutableHandle<JS::Value> rval) const;
156730 TrySetToExternal(JSContext* cx, JS::Handle<JS::Value> value, bool& tryNext, bool passedToJSImpl = false);
156759 TrySetToWindowProxy(JSContext* cx, JS::Handle<JS::Value> value, bool& tryNext, bool passedToJSImpl = false);
156785 ToJSVal(JSContext* cx, JS::Handle<JSObject*> scopeObj, JS::MutableHandle<JS::Value> rval) const;
156819 Init(JSContext* cx, JS::Handle<JS::Value> val, const char* sourceDescription = "Value", bool passedToJSImpl = false);
156825 ToObjectInternal(JSContext* cx, JS::MutableHandle<JS::Value> rval) const;
156870 Init(JSContext* cx, JS::Handle<JS::Value> val, const char* sourceDescription = "Value", bool passedToJSImpl = false);
156876 ToObjectInternal(JSContext* cx, JS::MutableHandle<JS::Value> rval) const;
156923 Init(JSContext* cx, JS::Handle<JS::Value> val, const char* sourceDescription = "Value", bool passedToJSImpl = false);
156926 ToObjectInternal(JSContext* cx, JS::MutableHandle<JS::Value> rval) const;
156954 explicit inline FrameRequestCallback(JSContext* aCx, JS::Handle<JSObject*> aCallback, nsIGlobalObject* aIncumbentGlobal)
156960 explicit inline FrameRequestCallback(JS::Handle<JSObject*> aCallback, const FastCallbackConstructor& )
156966 explicit inline FrameRequestCallback(JS::Handle<JSObject*> aCallback, JS::Handle<JSObject*> aAsyncStack, nsIGlobalObject* aIncumbentGlobal)
156990 JS::Rooted<JS::Value> thisValJS(s.GetContext());
157010 return Call(s.GetContext(), JS::UndefinedHandleValue, time, aRv);
157035 void Call(JSContext* cx, JS::Handle<JS::Value> aThisVal, double time, ErrorResult& aRv);
157042 explicit inline IdleRequestCallback(JSContext* aCx, JS::Handle<JSObject*> aCallback, nsIGlobalObject* aIncumbentGlobal)
157048 explicit inline IdleRequestCallback(JS::Handle<JSObject*> aCallback, const FastCallbackConstructor& )
157054 explicit inline IdleRequestCallback(JS::Handle<JSObject*> aCallback, JS::Handle<JSObject*> aAsyncStack, nsIGlobalObject* aIncumbentGlobal)
157078 JS::Rooted<JS::Value> thisValJS(s.GetContext());
157098 return Call(s.GetContext(), JS::UndefinedHandleValue, deadline, aRv);
157123 void Call(JSContext* cx, JS::Handle<JS::Value> aThisVal, IdleDeadline& deadline, ErrorResult& aRv);
157131 explicit inline FastFrameRequestCallback(JS::Handle<JSObject*> aCallback)
157155 explicit inline FastIdleRequestCallback(JS::Handle<JSObject*> aCallback)
157180 ConstructorEnabled(JSContext* aCx, JS::Handle<JSObject*> aObj);
157183 DefineDOMInterface(JSContext* aCx, JS::Handle<JSObject*> aGlobal, JS::Handle<jsid> id, bool aDefineOnGlobal);
157188 CreateInterfaceObjects(JSContext* aCx, JS::Handle<JSObject*> aGlobal, ProtoAndIfaceCache& aProtoAndIfaceCache, bool aDefineOnGlobal);
157190 JS::Handle<JSObject*>
157205 DefineDOMInterface(JSContext* aCx, JS::Handle<JSObject*> aGlobal, JS::Handle<jsid> id, bool aDefineOnGlobal);
157211 Wrap(JSContext* aCx, nsGlobalWindow* aObject, nsWrapperCache* aCache, JS::CompartmentOptions& aOptions, JSPrincipals* aPrincipal, bool aInitStandardClasses, JS::MutableHandle<JSObject*> aReflector);
157222 CreateInterfaceObjects(JSContext* aCx, JS::Handle<JSObject*> aGlobal, ProtoAndIfaceCache& aProtoAndIfaceCache, bool aDefineOnGlobal);
157224 JS::Handle<JSObject*>
157227 JS::Handle<JSObject*>
157437 virtual nsresult SendAsyncMessage(const nsAString & messageName, JS::HandleValue obj, JS::HandleValue objects, nsIPrincipal *principal, JS::HandleValue transfers, JSContext* cx, uint8_t _argc) = 0;
157452 virtual nsresult BroadcastAsyncMessage(const nsAString & messageName, JS::HandleValue obj, JS::HandleValue objects, JSContext* cx, uint8_t _argc) = 0;
157473 virtual nsresult SendSyncMessage(const nsAString & messageName, JS::HandleValue obj, JS::HandleValue objects, nsIPrincipal *principal, JSContext* cx, uint8_t _argc, JS::MutableHandleValue _retval) = 0;
157476 virtual nsresult SendRpcMessage(const nsAString & messageName, JS::HandleValue obj, JS::HandleValue objects, nsIPrincipal *principal, JSContext* cx, uint8_t _argc, JS::MutableHandleValue _retval) = 0;
157539 virtual nsresult GetInitialProcessData(JSContext* cx, JS::MutableHandleValue aInitialProcessData) = 0;
157557 virtual nsresult GetDelayedFrameScripts(JSContext* cx, JS::MutableHandleValue _retval) = 0;
157575 virtual nsresult GetDelayedProcessScripts(JSContext* cx, JS::MutableHandleValue _retval) = 0;
157587 virtual nsresult GetInitialProcessData(JSContext* cx, JS::MutableHandleValue aInitialProcessData) = 0;
162325 virtual JSObject* WrapObject(JSContext* aCx, JS::Handle<JSObject*> aGivenProto) override;
162380 virtual JSObject* WrapObject(JSContext* aCx, JS::Handle<JSObject*> aGivenProto) override;
162443 virtual JSObject* WrapObject(JSContext *cx, JS::Handle<JSObject*> aGivenProto) override;
162533 ToJSValue(JSContext* aCx, ScrollLogicalPosition aArgument, JS::MutableHandle<JS::Value> aValue);
162554 Init(JSContext* cx, JS::Handle<JS::Value> val, const char* sourceDescription = "Value", bool passedToJSImpl = false);
162560 ToObjectInternal(JSContext* cx, JS::MutableHandle<JS::Value> rval) const;
162593 DefineDOMInterface(JSContext* aCx, JS::Handle<JSObject*> aGlobal, JS::Handle<jsid> id, bool aDefineOnGlobal);
162599 Wrap(JSContext* aCx, mozilla::dom::Element* aObject, nsWrapperCache* aCache, JS::Handle<JSObject*> aGivenProto, JS::MutableHandle<JSObject*> aReflector);
162602 inline JSObject* Wrap(JSContext* aCx, T* aObject, JS::Handle<JSObject*> aGivenProto)
162604 JS::Rooted<JSObject*> reflector(aCx);
162611 CreateInterfaceObjects(JSContext* aCx, JS::Handle<JSObject*> aGlobal, ProtoAndIfaceCache& aProtoAndIfaceCache, bool aDefineOnGlobal);
162613 JS::Handle<JSObject*>
162619 JS::Handle<JSObject*>
162682 Init(JSContext* cx, JS::Handle<JS::Value> val, const char* sourceDescription = "Value", bool passedToJSImpl = false);
162685 ToObjectInternal(JSContext* cx, JS::MutableHandle<JS::Value> rval) const;
162715 DefineDOMInterface(JSContext* aCx, JS::Handle<JSObject*> aGlobal, JS::Handle<jsid> id, bool aDefineOnGlobal);
162721 Wrap(JSContext* aCx, mozilla::dom::DOMRect* aObject, nsWrapperCache* aCache, JS::Handle<JSObject*> aGivenProto, JS::MutableHandle<JSObject*> aReflector);
162724 inline JSObject* Wrap(JSContext* aCx, T* aObject, JS::Handle<JSObject*> aGivenProto)
162726 JS::Rooted<JSObject*> reflector(aCx);
162733 CreateInterfaceObjects(JSContext* aCx, JS::Handle<JSObject*> aGlobal, ProtoAndIfaceCache& aProtoAndIfaceCache, bool aDefineOnGlobal);
162735 JS::Handle<JSObject*>
162738 JS::Handle<JSObject*>
162753 DefineDOMInterface(JSContext* aCx, JS::Handle<JSObject*> aGlobal, JS::Handle<jsid> id, bool aDefineOnGlobal);
162759 Wrap(JSContext* aCx, mozilla::dom::DOMRectReadOnly* aObject, nsWrapperCache* aCache, JS::Handle<JSObject*> aGivenProto, JS::MutableHandle<JSObject*> aReflector);
162762 inline JSObject* Wrap(JSContext* aCx, T* aObject, JS::Handle<JSObject*> aGivenProto)
162764 JS::Rooted<JSObject*> reflector(aCx);
162771 CreateInterfaceObjects(JSContext* aCx, JS::Handle<JSObject*> aGlobal, ProtoAndIfaceCache& aProtoAndIfaceCache, bool aDefineOnGlobal);
162773 JS::Handle<JSObject*>
162779 JS::Handle<JSObject*>
162963 ToJSVal(JSContext* cx, JS::Handle<JSObject*> scopeObj, JS::MutableHandle<JS::Value> rval) const;
163028 TrySetToDouble(JSContext* cx, JS::Handle<JS::Value> value, bool& tryNext, bool passedToJSImpl = false);
163057 TrySetToDoubleSequence(JSContext* cx, JS::Handle<JS::Value> value, bool& tryNext, bool passedToJSImpl = false);
163083 ToJSVal(JSContext* cx, JS::Handle<JSObject*> scopeObj, JS::MutableHandle<JS::Value> rval) const;
163127 Init(JSContext* cx, JS::Handle<JS::Value> val, const char* sourceDescription = "Value", bool passedToJSImpl = false);
163130 ToObjectInternal(JSContext* cx, JS::MutableHandle<JS::Value> rval) const;
163174 Init(JSContext* cx, JS::Handle<JS::Value> val, const char* sourceDescription = "Value", bool passedToJSImpl = false);
163177 ToObjectInternal(JSContext* cx, JS::MutableHandle<JS::Value> rval) const;
163205 explicit inline IntersectionCallback(JSContext* aCx, JS::Handle<JSObject*> aCallback, nsIGlobalObject* aIncumbentGlobal)
163211 explicit inline IntersectionCallback(JS::Handle<JSObject*> aCallback, const FastCallbackConstructor& )
163217 explicit inline IntersectionCallback(JS::Handle<JSObject*> aCallback, JS::Handle<JSObject*> aAsyncStack, nsIGlobalObject* aIncumbentGlobal)
163241 JS::Rooted<JS::Value> thisValJS(s.GetContext());
163261 return Call(s.GetContext(), JS::UndefinedHandleValue, entries, observer, aRv);
163286 void Call(JSContext* cx, JS::Handle<JS::Value> aThisVal, const Sequence<OwningNonNull<DOMIntersectionObserverEntry>>& entries, DOMIntersectionObserver& observer, ErrorResult& aRv);
163294 explicit inline FastIntersectionCallback(JS::Handle<JSObject*> aCallback)
163319 ConstructorEnabled(JSContext* aCx, JS::Handle<JSObject*> aObj);
163322 DefineDOMInterface(JSContext* aCx, JS::Handle<JSObject*> aGlobal, JS::Handle<jsid> id, bool aDefineOnGlobal);
163328 Wrap(JSContext* aCx, mozilla::dom::DOMIntersectionObserver* aObject, nsWrapperCache* aCache, JS::Handle<JSObject*> aGivenProto, JS::MutableHandle<JSObject*> aReflector);
163331 inline JSObject* Wrap(JSContext* aCx, T* aObject, JS::Handle<JSObject*> aGivenProto)
163333 JS::Rooted<JSObject*> reflector(aCx);
163340 CreateInterfaceObjects(JSContext* aCx, JS::Handle<JSObject*> aGlobal, ProtoAndIfaceCache& aProtoAndIfaceCache, bool aDefineOnGlobal);
163342 JS::Handle<JSObject*>
163345 JS::Handle<JSObject*>
163360 ConstructorEnabled(JSContext* aCx, JS::Handle<JSObject*> aObj);
163363 DefineDOMInterface(JSContext* aCx, JS::Handle<JSObject*> aGlobal, JS::Handle<jsid> id, bool aDefineOnGlobal);
163369 Wrap(JSContext* aCx, mozilla::dom::DOMIntersectionObserverEntry* aObject, nsWrapperCache* aCache, JS::Handle<JSObject*> aGivenProto, JS::MutableHandle<JSObject*> aReflector);
163372 inline JSObject* Wrap(JSContext* aCx, T* aObject, JS::Handle<JSObject*> aGivenProto)
163374 JS::Rooted<JSObject*> reflector(aCx);
163381 CreateInterfaceObjects(JSContext* aCx, JS::Handle<JSObject*> aGlobal, ProtoAndIfaceCache& aProtoAndIfaceCache, bool aDefineOnGlobal);
163383 JS::Handle<JSObject*>
163386 JS::Handle<JSObject*>
169244 virtual JSObject* WrapObject(JSContext* aCx, JS::Handle<JSObject*> aGivenProto) override
169326 virtual JSObject* WrapObject(JSContext* aCx, JS::Handle<JSObject*> aGivenProto) override
170298 JS::Handle<JSObject*> aKeyframes,
170307 JS::Handle<JSObject*> aKeyframes,
170404 virtual JSObject* WrapObject(JSContext *aCx, JS::Handle<JSObject*> aGivenProto) final override;
170631 virtual JSObject* WrapObject(JSContext* aCx, JS::Handle<JSObject*> aGivenProto) override;