当前位置: 首页>>代码示例>>C++>>正文


C++ nsAutoPtr::type方法代码示例

本文整理汇总了C++中nsAutoPtr::type方法的典型用法代码示例。如果您正苦于以下问题:C++ nsAutoPtr::type方法的具体用法?C++ nsAutoPtr::type怎么用?C++ nsAutoPtr::type使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在nsAutoPtr的用法示例。


在下文中一共展示了nsAutoPtr::type方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: IDBFactory

// static
nsresult
IDBFactory::CreateForJSInternal(JSContext* aCx,
                                JS::Handle<JSObject*> aOwningObject,
                                nsAutoPtr<PrincipalInfo>& aPrincipalInfo,
                                uint64_t aInnerWindowID,
                                IDBFactory** aFactory)
{
    MOZ_ASSERT(aCx);
    MOZ_ASSERT(aOwningObject);
    MOZ_ASSERT(aPrincipalInfo);
    MOZ_ASSERT(aPrincipalInfo->type() != PrincipalInfo::T__None);
    MOZ_ASSERT(aFactory);
    MOZ_ASSERT(JS_GetGlobalForObject(aCx, aOwningObject) == aOwningObject,
               "Not a global object!");

    if (aPrincipalInfo->type() != PrincipalInfo::TContentPrincipalInfo &&
            aPrincipalInfo->type() != PrincipalInfo::TSystemPrincipalInfo) {
        NS_WARNING("IndexedDB not allowed for this principal!");
        aPrincipalInfo = nullptr;
        *aFactory = nullptr;
        return NS_OK;
    }

    RefPtr<IDBFactory> factory = new IDBFactory();
    factory->mPrincipalInfo = aPrincipalInfo.forget();
    factory->mOwningObject = aOwningObject;
    mozilla::HoldJSObjects(factory.get());
    factory->mInnerWindowID = aInnerWindowID;

    factory.forget(aFactory);
    return NS_OK;
}
开发者ID:leplatrem,项目名称:gecko-dev,代码行数:33,代码来源:IDBFactory.cpp

示例2: CreateForJSInternal

// static
nsresult
IDBFactory::CreateForMainThreadJSInternal(
    JSContext* aCx,
    JS::Handle<JSObject*> aOwningObject,
    nsAutoPtr<PrincipalInfo>& aPrincipalInfo,
    IDBFactory** aFactory)
{
    MOZ_ASSERT(NS_IsMainThread());
    MOZ_ASSERT(aPrincipalInfo);

    if (aPrincipalInfo->type() != PrincipalInfo::TSystemPrincipalInfo &&
            NS_WARN_IF(!Preferences::GetBool(kPrefIndexedDBEnabled, false))) {
        *aFactory = nullptr;
        return NS_ERROR_DOM_INDEXEDDB_NOT_ALLOWED_ERR;
    }

    IndexedDatabaseManager* mgr = IndexedDatabaseManager::GetOrCreate();
    if (NS_WARN_IF(!mgr)) {
        IDB_REPORT_INTERNAL_ERR();
        return NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR;
    }

    nsresult rv =
        CreateForJSInternal(aCx,
                            aOwningObject,
                            aPrincipalInfo,
                            /* aInnerWindowID */ 0,
                            aFactory);
    if (NS_WARN_IF(NS_FAILED(rv))) {
        return rv;
    }

    return NS_OK;
}
开发者ID:leplatrem,项目名称:gecko-dev,代码行数:35,代码来源:IDBFactory.cpp


注:本文中的nsAutoPtr::type方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。