Bug 1507192 - Give slot 0 of Stream callback functions a name. r=tcampbell

Differential Revision: https://phabricator.services.mozilla.com/D11901

--HG--
extra : moz-landing-system : lando
This commit is contained in:
Jason Orendorff 2018-11-16 13:31:51 +00:00
parent 8ed77c2e18
commit 9eb98a2ec0

View File

@ -134,6 +134,8 @@ UnwrapReaderFromStreamNoThrow(ReadableStream* stream)
return &readerObj->as<ReadableStreamReader>();
}
constexpr size_t StreamHandlerFunctionSlot_Target = 0;
inline static MOZ_MUST_USE JSFunction*
NewHandler(JSContext* cx, Native handler, HandleObject target)
{
@ -146,7 +148,7 @@ NewHandler(JSContext* cx, Native handler, HandleObject target)
if (!handlerFun) {
return nullptr;
}
handlerFun->setExtendedSlot(0, ObjectValue(*target));
handlerFun->setExtendedSlot(StreamHandlerFunctionSlot_Target, ObjectValue(*target));
return handlerFun;
}
@ -158,7 +160,8 @@ template <class T>
inline static MOZ_MUST_USE T*
TargetFromHandler(CallArgs& args)
{
return &args.callee().as<JSFunction>().getExtendedSlot(0).toObject().as<T>();
JSFunction& func = args.callee().as<JSFunction>();
return &func.getExtendedSlot(StreamHandlerFunctionSlot_Target).toObject().as<T>();
}
inline static MOZ_MUST_USE bool