您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ IDB_TRACE函数代码示例

51自学网 2021-06-01 21:27:50
  C++
这篇教程C++ IDB_TRACE函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中IDB_TRACE函数的典型用法代码示例。如果您正苦于以下问题:C++ IDB_TRACE函数的具体用法?C++ IDB_TRACE怎么用?C++ IDB_TRACE使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

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

示例1: IDB_TRACE

PassRefPtr<IDBTransaction> IDBDatabase::transaction(ExecutionContext* context, const Vector<String>& scope, const String& modeString, ExceptionState& exceptionState){    IDB_TRACE("IDBDatabase::transaction");    blink::Platform::current()->histogramEnumeration("WebCore.IndexedDB.FrontEndAPICalls", IDBTransactionCall, IDBMethodsMax);    if (!scope.size()) {        exceptionState.throwDOMException(InvalidAccessError, "The storeNames parameter was empty.");        return 0;    }    IndexedDB::TransactionMode mode = IDBTransaction::stringToMode(modeString, exceptionState);    if (exceptionState.hadException())        return 0;    if (m_versionChangeTransaction) {        exceptionState.throwDOMException(InvalidStateError, "A version change transaction is running.");        return 0;    }    if (m_closePending) {        exceptionState.throwDOMException(InvalidStateError, "The database connection is closing.");        return 0;    }    Vector<int64_t> objectStoreIds;    for (size_t i = 0; i < scope.size(); ++i) {        int64_t objectStoreId = findObjectStoreId(scope[i]);        if (objectStoreId == IDBObjectStoreMetadata::InvalidId) {            exceptionState.throwDOMException(NotFoundError, "One of the specified object stores was not found.");            return 0;        }        objectStoreIds.append(objectStoreId);    }    int64_t transactionId = nextTransactionId();    m_backend->createTransaction(transactionId, WebIDBDatabaseCallbacksImpl::create(m_databaseCallbacks).leakPtr(), objectStoreIds, mode);    RefPtr<IDBTransaction> transaction = IDBTransaction::create(context, transactionId, scope, mode, this);    return transaction.release();}
开发者ID:Igalia,项目名称:blink,代码行数:39,


示例2: IDB_TRACE

void IDBCursorBackendImpl::continueFunction(PassRefPtr<IDBKey> prpKey, PassRefPtr<IDBCallbacks> prpCallbacks, ExceptionCode& ec){    IDB_TRACE("IDBCursorBackendImpl::continue");    RefPtr<IDBKey> key = prpKey;    if (m_cursor && key) {        ASSERT(m_cursor->key());        if (m_direction == IDBCursor::NEXT || m_direction == IDBCursor::NEXT_NO_DUPLICATE) {            if (!m_cursor->key()->isLessThan(key.get())) {                ec = IDBDatabaseException::DATA_ERR;                return;            }        } else {            if (!key->isLessThan(m_cursor->key().get())) {                ec = IDBDatabaseException::DATA_ERR;                return;            }        }    }    if (!m_transaction->scheduleTask(createCallbackTask(&IDBCursorBackendImpl::continueFunctionInternal, this, key, prpCallbacks)))        ec = IDBDatabaseException::TRANSACTION_INACTIVE_ERR;}
开发者ID:yang-bo,项目名称:webkit,代码行数:23,


示例3: IDB_TRACE

void IDBCursor::advance(unsigned long count, ExceptionCode& ec){    ec = 0;    IDB_TRACE("IDBCursor::advance");    if (!m_gotValue || isDeleted()) {        ec = IDBDatabaseException::InvalidStateError;        return;    }    if (!m_transaction->isActive()) {        ec = IDBDatabaseException::TransactionInactiveError;        return;    }    if (!count) {        ec = TypeError;        return;    }    m_request->setPendingCursor(this);    m_gotValue = false;    m_backend->advance(count, m_request);}
开发者ID:windyuuy,项目名称:opera,代码行数:23,


示例4: createIDBKeyFromScriptValueAndKeyPath

PassRefPtr<IDBKey> createIDBKeyFromScriptValueAndKeyPath(DOMRequestState*, const ScriptValue& value, const IDBKeyPath& keyPath){    IDB_TRACE("createIDBKeyFromScriptValueAndKeyPath");    ASSERT(!keyPath.isNull());    ASSERT(v8::Context::InContext());    v8::HandleScope handleScope;    if (keyPath.type() == IDBKeyPath::ArrayType) {        IDBKey::KeyArray result;        const Vector<String>& array = keyPath.array();        for (size_t i = 0; i < array.size(); ++i) {            RefPtr<IDBKey> key = createIDBKeyFromScriptValueAndKeyPath(value, array[i]);            if (!key)                return 0;            result.append(key);        }        return IDBKey::createArray(result);    }    ASSERT(keyPath.type() == IDBKeyPath::StringType);    return createIDBKeyFromScriptValueAndKeyPath(value, keyPath.string());}
开发者ID:kleopatra999,项目名称:h5vcc,代码行数:23,


示例5: IDB_TRACE

void IDBDatabase::deleteObjectStore(const String& name, ExceptionCode& ec){    IDB_TRACE("IDBDatabase::deleteObjectStore");    HistogramSupport::histogramEnumeration("WebCore.IndexedDB.FrontEndAPICalls", IDBDeleteObjectStoreCall, IDBMethodsMax);    if (!m_versionChangeTransaction) {        ec = IDBDatabaseException::InvalidStateError;        return;    }    if (!m_versionChangeTransaction->isActive()) {        ec = IDBDatabaseException::TransactionInactiveError;        return;    }    int64_t objectStoreId = findObjectStoreId(name);    if (objectStoreId == IDBObjectStoreMetadata::InvalidId) {        ec = IDBDatabaseException::NotFoundError;        return;    }    m_backend->deleteObjectStore(m_versionChangeTransaction->id(), objectStoreId);    m_versionChangeTransaction->objectStoreDeleted(name);    m_metadata.objectStores.remove(objectStoreId);}
开发者ID:KnightSwarm,项目名称:WebKitTi,代码行数:23,


示例6: IDB_TRACE

bool IDBTransaction::dispatchEvent(PassRefPtrWillBeRawPtr<Event> event){    IDB_TRACE("IDBTransaction::dispatchEvent");    if (m_contextStopped || !executionContext()) {        m_state = Finished;        return false;    }    ASSERT(m_state != Finished);    ASSERT(m_hasPendingActivity);    ASSERT(executionContext());    ASSERT(event->target() == this);    m_state = Finished;    // Break reference cycles.    for (IDBObjectStoreMap::iterator it = m_objectStoreMap.begin(); it != m_objectStoreMap.end(); ++it)        it->value->transactionFinished();    m_objectStoreMap.clear();    for (IDBObjectStoreSet::iterator it = m_deletedObjectStores.begin(); it != m_deletedObjectStores.end(); ++it)        (*it)->transactionFinished();    m_deletedObjectStores.clear();    WillBeHeapVector<RefPtrWillBeMember<EventTarget>> targets;    targets.append(this);    targets.append(db());    // FIXME: When we allow custom event dispatching, this will probably need to change.    ASSERT(event->type() == EventTypeNames::complete || event->type() == EventTypeNames::abort);    bool returnValue = IDBEventDispatcher::dispatch(event.get(), targets);    // FIXME: Try to construct a test where |this| outlives openDBRequest and we    // get a crash.    if (m_openDBRequest) {        ASSERT(isVersionChange());        m_openDBRequest->transactionDidFinishAndDispatch();    }    m_hasPendingActivity = false;    return returnValue;}
开发者ID:alexanderbill,项目名称:blink-crosswalk,代码行数:37,


示例7: IDB_TRACE

void IDBRequest::onSuccess(PassRefPtr<IDBCursorBackendInterface> backend, PassRefPtr<IDBKey> key, PassRefPtr<IDBKey> primaryKey, PassRefPtr<SharedBuffer> buffer){    IDB_TRACE("IDBRequest::onSuccess(IDBCursor)");    if (!shouldEnqueueEvent())        return;    DOMRequestState::Scope scope(m_requestState);    ScriptValue value = deserializeIDBValueBuffer(requestState(), buffer);    ASSERT(!m_pendingCursor);    RefPtr<IDBCursor> cursor;    switch (m_cursorType) {    case IndexedDB::CursorKeyOnly:        cursor = IDBCursor::create(backend, m_cursorDirection, this, m_source.get(), m_transaction.get());        break;    case IndexedDB::CursorKeyAndValue:        cursor = IDBCursorWithValue::create(backend, m_cursorDirection, this, m_source.get(), m_transaction.get());        break;    default:        ASSERT_NOT_REACHED();    }    setResultCursor(cursor, key, primaryKey, value);    enqueueEvent(createSuccessEvent());}
开发者ID:Channely,项目名称:know-your-chrome,代码行数:24,


示例8: injectV8KeyIntoV8Value

bool injectV8KeyIntoV8Value(v8::Handle<v8::Value> key, v8::Handle<v8::Value> value, const IDBKeyPath& keyPath, v8::Isolate* isolate){    IDB_TRACE("injectIDBV8KeyIntoV8Value");    ASSERT(isolate->InContext());    ASSERT(keyPath.type() == IDBKeyPath::StringType);    Vector<String> keyPathElements;    IDBKeyPathParseError error;    IDBParseKeyPath(keyPath.string(), keyPathElements, error);    ASSERT(error == IDBKeyPathParseErrorNone);    if (!keyPathElements.size())        return false;    v8::HandleScope handleScope(isolate);    v8::Handle<v8::Value> parent(ensureNthValueOnKeyPath(value, keyPathElements, keyPathElements.size() - 1, isolate));    if (parent.IsEmpty())        return false;    if (!set(parent, keyPathElements.last(), key, isolate))        return false;    return true;}
开发者ID:Metrological,项目名称:chromium,代码行数:24,


示例9: IDB_TRACE

PassRefPtr<IDBIndex> IDBObjectStore::index(const String& name, ExceptionCode& ec){    IDB_TRACE("IDBObjectStore::index");    if (isDeleted()) {        ec = IDBDatabaseException::InvalidStateError;        return 0;    }    if (m_transaction->isFinished()) {        ec = IDBDatabaseException::InvalidStateError;        return 0;    }    IDBIndexMap::iterator it = m_indexMap.find(name);    if (it != m_indexMap.end())        return it->value;    int64_t indexId = findIndexId(name);    if (indexId == IDBIndexMetadata::InvalidId) {        ec = IDBDatabaseException::NotFoundError;        return 0;    }    const IDBIndexMetadata* indexMetadata(0);    for (IDBObjectStoreMetadata::IndexMap::const_iterator it = m_metadata.indexes.begin(); it != m_metadata.indexes.end(); ++it) {        if (it->value.name == name) {            indexMetadata = &it->value;            break;        }    }    ASSERT(indexMetadata);    ASSERT(indexMetadata->id != IDBIndexMetadata::InvalidId);    RefPtr<IDBIndex> index = IDBIndex::create(*indexMetadata, this, m_transaction.get());    m_indexMap.set(name, index);    return index.release();}
开发者ID:Channely,项目名称:know-your-chrome,代码行数:36,


示例10: IDB_TRACE

void IDBTransaction::onAbort(PassRefPtr<DOMError> prpError){    IDB_TRACE("IDBTransaction::onAbort");    RefPtr<DOMError> error = prpError;    ASSERT(m_state != Finished);    if (m_state != Finishing) {        ASSERT(error.get());        setError(error.release());        // Abort was not triggered by front-end, so outstanding requests must        // be aborted now.        while (!m_requestList.isEmpty()) {            RefPtr<IDBRequest> request = *m_requestList.begin();            m_requestList.remove(request);            request->abort();        }        m_state = Finishing;    }    if (isVersionChange()) {        for (IDBObjectStoreMetadataMap::iterator it = m_objectStoreCleanupMap.begin(); it != m_objectStoreCleanupMap.end(); ++it)            it->key->setMetadata(it->value);        m_database->setMetadata(m_previousMetadata);        m_database->close();    }    m_objectStoreCleanupMap.clear();    closeOpenCursors();    // Enqueue events before notifying database, as database may close which enqueues more events and order matters.    enqueueEvent(Event::create(eventNames().abortEvent, true, false));    // If script has stopped and GC has completed, database may have last reference to this object.    RefPtr<IDBTransaction> protect(this);    m_database->transactionFinished(this);}
开发者ID:IllusionRom-deprecated,项目名称:android_platform_external_chromium_org_third_party_WebKit,代码行数:36,


示例11: IDB_TRACE

void IDBRequest::onSuccess(PassRefPtr<IDBTransactionBackendInterface> prpBackend){    IDB_TRACE("IDBRequest::onSuccess(IDBTransaction)");    RefPtr<IDBTransactionBackendInterface> backend = prpBackend;    if (m_contextStopped || !scriptExecutionContext()) {        // Should only be null in tests.        if (backend.get())            backend->abort();        return;    }    if (!shouldEnqueueEvent())        return;    RefPtr<IDBTransaction> frontend = IDBTransaction::create(scriptExecutionContext(), backend, IDBTransaction::VERSION_CHANGE, m_source->idbDatabase().get());    backend->setCallbacks(frontend.get());    m_transaction = frontend;    ASSERT(m_source->type() == IDBAny::IDBDatabaseType);    ASSERT(m_transaction->isVersionChange());    m_result = IDBAny::create(frontend.release());    enqueueEvent(createSuccessEvent());}
开发者ID:yoavweiss,项目名称:RespImg-WebKit,代码行数:24,


示例12: IDB_TRACE

void IDBCursor::advance(long long count, ExceptionCode& ec){    IDB_TRACE("IDBCursor::advance");    if (!m_gotValue) {        ec = IDBDatabaseException::InvalidStateError;        return;    }    if (!m_transaction->isActive()) {        ec = IDBDatabaseException::TransactionInactiveError;        return;    }    // FIXME: This should only need to check for 0 once webkit.org/b/96798 lands.    if (count < 1 || count > UINT_MAX) {        ec = TypeError;        return;    }    m_request->setPendingCursor(this);    m_gotValue = false;    m_backend->advance(count, m_request, ec);    ASSERT(!ec);}
开发者ID:jiezh,项目名称:h5vcc,代码行数:24,


示例13: IDB_TRACE

IDBRequest* IDBObjectStore::deleteFunction(ScriptState* scriptState, const ScriptValue& key, ExceptionState& exceptionState){    IDB_TRACE("IDBObjectStore::delete");    if (isDeleted()) {        exceptionState.throwDOMException(InvalidStateError, IDBDatabase::objectStoreDeletedErrorMessage);        return nullptr;    }    if (m_transaction->isFinished() || m_transaction->isFinishing()) {        exceptionState.throwDOMException(TransactionInactiveError, IDBDatabase::transactionFinishedErrorMessage);        return nullptr;    }    if (!m_transaction->isActive()) {        exceptionState.throwDOMException(TransactionInactiveError, IDBDatabase::transactionInactiveErrorMessage);        return nullptr;    }    if (m_transaction->isReadOnly()) {        exceptionState.throwDOMException(ReadOnlyError, IDBDatabase::transactionReadOnlyErrorMessage);        return nullptr;    }    IDBKeyRange* keyRange = IDBKeyRange::fromScriptValue(scriptState->executionContext(), key, exceptionState);    if (exceptionState.hadException())        return nullptr;    if (!keyRange) {        exceptionState.throwDOMException(DataError, IDBDatabase::noKeyOrKeyRangeErrorMessage);        return nullptr;    }    if (!backendDB()) {        exceptionState.throwDOMException(InvalidStateError, IDBDatabase::databaseClosedErrorMessage);        return nullptr;    }    IDBRequest* request = IDBRequest::create(scriptState, IDBAny::create(this), m_transaction.get());    backendDB()->deleteRange(m_transaction->id(), id(), keyRange, WebIDBCallbacksImpl::create(request).leakPtr());    return request;}
开发者ID:howardroark2018,项目名称:chromium,代码行数:36,



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


C++ IDCT_range_limit函数代码示例
C++ ID3_CATCH函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。