本文整理汇总了C++中MutableHandleObject::setDelegate方法的典型用法代码示例。如果您正苦于以下问题:C++ MutableHandleObject::setDelegate方法的具体用法?C++ MutableHandleObject::setDelegate怎么用?C++ MutableHandleObject::setDelegate使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MutableHandleObject
的用法示例。
在下文中一共展示了MutableHandleObject::setDelegate方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: wrapped
bool
CrossCompartmentWrapper::getPrototype(JSContext* cx, HandleObject wrapper,
MutableHandleObject protop) const
{
{
RootedObject wrapped(cx, wrappedObject(wrapper));
AutoCompartment call(cx, wrapped);
if (!GetPrototype(cx, wrapped, protop))
return false;
if (protop)
protop->setDelegate(cx);
}
return cx->compartment()->wrap(cx, protop);
}
示例2: wrapped
bool
CrossCompartmentWrapper::getPrototypeOf(JSContext *cx, HandleObject wrapper,
MutableHandleObject protop)
{
if (!wrapper->getTaggedProto().isLazy()) {
protop.set(wrapper->getTaggedProto().toObjectOrNull());
return true;
}
{
RootedObject wrapped(cx, wrappedObject(wrapper));
AutoCompartment call(cx, wrapped);
if (!JSObject::getProto(cx, wrapped, protop))
return false;
if (protop)
protop->setDelegate(cx);
}
return cx->compartment->wrap(cx, protop.address());
}
示例3: wrapped
bool
CrossCompartmentWrapper::getPrototypeIfOrdinary(JSContext* cx, HandleObject wrapper,
bool* isOrdinary, MutableHandleObject protop) const
{
{
RootedObject wrapped(cx, wrappedObject(wrapper));
AutoCompartment call(cx, wrapped);
if (!GetPrototypeIfOrdinary(cx, wrapped, isOrdinary, protop))
return false;
if (!*isOrdinary)
return true;
if (protop) {
if (!protop->setDelegate(cx))
return false;
}
}
return cx->compartment()->wrap(cx, protop);
}