本文整理汇总了C++中XPCWrappedNativeScope::ClearContext方法的典型用法代码示例。如果您正苦于以下问题:C++ XPCWrappedNativeScope::ClearContext方法的具体用法?C++ XPCWrappedNativeScope::ClearContext怎么用?C++ XPCWrappedNativeScope::ClearContext使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类XPCWrappedNativeScope
的用法示例。
在下文中一共展示了XPCWrappedNativeScope::ClearContext方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
XPCContext::~XPCContext()
{
MOZ_COUNT_DTOR(XPCContext);
MOZ_ASSERT(JS_GetSecondContextPrivate(mJSContext) == this, "Must match this");
JS_SetSecondContextPrivate(mJSContext, nullptr);
// Iterate over our scopes and tell them that we have been destroyed
for (PRCList *scopeptr = PR_NEXT_LINK(&mScopes);
scopeptr != &mScopes;
scopeptr = PR_NEXT_LINK(scopeptr)) {
XPCWrappedNativeScope *scope =
static_cast<XPCWrappedNativeScope*>(scopeptr);
scope->ClearContext();
}
}
示例2:
XPCContext::~XPCContext()
{
MOZ_COUNT_DTOR(XPCContext);
NS_ASSERTION(JS_GetSecondContextPrivate(mJSContext) == this, "Must match this");
JS_SetSecondContextPrivate(mJSContext, nsnull);
NS_IF_RELEASE(mException);
NS_IF_RELEASE(mSecurityManager);
// Iterate over our scopes and tell them that we have been destroyed
for (PRCList *scopeptr = PR_NEXT_LINK(&mScopes);
scopeptr != &mScopes;
scopeptr = PR_NEXT_LINK(scopeptr)) {
XPCWrappedNativeScope *scope =
static_cast<XPCWrappedNativeScope*>(scopeptr);
scope->ClearContext();
}
// we do not call JS_RemoveArgumentFormatter because we now only
// delete XPCContext *after* the underlying JSContext is dead
}