void IDBRequest::onSuccess(PassRefPtr<IDBCursorBackend> prpBackend) { LOG(StorageAPI, "IDBRequest::onSuccess(IDBCursor)"); if (!shouldEnqueueEvent()) return; DOMRequestState::Scope scope(m_requestState); RefPtr<IDBCursorBackend> backend = prpBackend; RefPtr<IDBKey> key = backend->key(); RefPtr<IDBKey> primaryKey = backend->primaryKey(); Deprecated::ScriptValue value = deserializeIDBValueBuffer(requestState(), backend->valueBuffer(), !!key); ASSERT(!m_pendingCursor); RefPtr<IDBCursor> cursor; switch (m_cursorType) { case IndexedDB::CursorType::KeyOnly: cursor = IDBCursor::create(backend.release(), m_cursorDirection, this, m_source.get(), m_transaction.get()); break; case IndexedDB::CursorType::KeyAndValue: cursor = IDBCursorWithValue::create(backend.release(), m_cursorDirection, this, m_source.get(), m_transaction.get()); break; default: ASSERT_NOT_REACHED(); } setResultCursor(cursor, key.release(), primaryKey.release(), value); enqueueEvent(createSuccessEvent()); }
void IDBRequest::onSuccess(PassRefPtr<IDBCursorBackendInterface> backend, PassRefPtr<IDBKey> key, PassRefPtr<IDBKey> primaryKey, PassRefPtr<SerializedScriptValue> serializedValue) { IDB_TRACE("IDBRequest::onSuccess(IDBCursor)"); if (!shouldEnqueueEvent()) return; #if USE(V8) v8::HandleScope handleScope; v8::Local<v8::Context> context = toV8Context(scriptExecutionContext(), m_worldContextHandle); if (context.IsEmpty()) CRASH(); v8::Context::Scope contextScope(context); #endif ScriptValue value = deserializeIDBValue(scriptExecutionContext(), serializedValue); ASSERT(m_cursorType != IDBCursorBackendInterface::InvalidCursorType); RefPtr<IDBCursor> cursor; if (m_cursorType == IDBCursorBackendInterface::IndexKeyCursor) cursor = IDBCursor::create(backend, m_cursorDirection, this, m_source.get(), m_transaction.get()); else cursor = IDBCursorWithValue::create(backend, m_cursorDirection, this, m_source.get(), m_transaction.get()); setResultCursor(cursor, key, primaryKey, value); enqueueEvent(createSuccessEvent()); }
void IDBRequest::onSuccess(PassRefPtr<IDBDatabaseBackendInterface> backend) { ASSERT(!m_errorCode && m_errorMessage.isNull() && !m_result); RefPtr<IDBDatabase> idbDatabase = IDBDatabase::create(scriptExecutionContext(), backend); idbDatabase->open(); m_result = IDBAny::create(idbDatabase.release()); enqueueEvent(createSuccessEvent()); }
void IDBRequest::onSuccess(PassRefPtr<DOMStringList> domStringList) { IDB_TRACE("IDBRequest::onSuccess(DOMStringList)"); if (!shouldEnqueueEvent()) return; m_result = IDBAny::create(domStringList); enqueueEvent(createSuccessEvent()); }
void IDBRequest::onSuccessInternal(const ScriptValue& value) { m_result = IDBAny::create(value); if (m_pendingCursor) { m_pendingCursor->close(); m_pendingCursor.clear(); } enqueueEvent(createSuccessEvent()); }
void LegacyRequest::onSuccessInternal(const Deprecated::ScriptValue& value) { m_result = LegacyAny::create(value); if (m_pendingCursor) { m_pendingCursor->close(); m_pendingCursor = nullptr; } enqueueEvent(createSuccessEvent()); }
void LegacyRequest::onSuccess(PassRefPtr<DOMStringList> domStringList) { LOG(StorageAPI, "LegacyRequest::onSuccess(DOMStringList)"); if (!shouldEnqueueEvent()) return; m_result = LegacyAny::create(domStringList); enqueueEvent(createSuccessEvent()); }
void IDBRequest::onSuccess(PassRefPtr<IDBCursorBackendInterface> backend) { ASSERT(!m_errorCode && m_errorMessage.isNull() && !m_result); ASSERT(m_cursorType != IDBCursorBackendInterface::InvalidCursorType); if (m_cursorType == IDBCursorBackendInterface::IndexKeyCursor) m_result = IDBAny::create(IDBCursor::create(backend, this, m_source.get(), m_transaction.get())); else m_result = IDBAny::create(IDBCursorWithValue::create(backend, this, m_source.get(), m_transaction.get())); enqueueEvent(createSuccessEvent()); }
void IDBRequest::onSuccess(PassRefPtr<IDBKey> key, PassRefPtr<IDBKey> primaryKey, PassRefPtr<SerializedScriptValue> serializedValue) { IDB_TRACE("IDBRequest::onSuccess(key, primaryKey, value)"); if (!shouldEnqueueEvent()) return; ScriptValue value = deserializeIDBValue(scriptExecutionContext(), serializedValue); ASSERT(m_pendingCursor); setResultCursor(m_pendingCursor.release(), key, primaryKey, value); enqueueEvent(createSuccessEvent()); }
void IDBRequest::onSuccess(const Vector<String>& stringList) { IDB_TRACE("IDBRequest::onSuccess(StringList)"); if (!shouldEnqueueEvent()) return; RefPtr<DOMStringList> domStringList = DOMStringList::create(); for (size_t i = 0; i < stringList.size(); ++i) domStringList->append(stringList[i]); m_result = IDBAny::create(domStringList.release()); enqueueEvent(createSuccessEvent()); }
void IDBRequest::onSuccess(PassRefPtr<IDBKey> key, PassRefPtr<IDBKey> primaryKey, PassRefPtr<SharedBuffer> buffer) { IDB_TRACE("IDBRequest::onSuccess(key, primaryKey, value)"); if (!shouldEnqueueEvent()) return; DOMRequestState::Scope scope(m_requestState); ScriptValue value = deserializeIDBValueBuffer(requestState(), buffer); ASSERT(m_pendingCursor); setResultCursor(m_pendingCursor.release(), key, primaryKey, value); enqueueEvent(createSuccessEvent()); }
void IDBRequest::onSuccess(PassRefPtr<IDBKey> idbKey) { IDB_TRACE("IDBRequest::onSuccess(IDBKey)"); if (!shouldEnqueueEvent()) return; if (idbKey && idbKey->isValid()) m_result = IDBAny::create(idbKey); else m_result = IDBAny::createInvalid(); enqueueEvent(createSuccessEvent()); }
void IDBRequest::onSuccess(PassRefPtr<IDBKey> idbKey) { IDB_TRACE("IDBRequest::onSuccess(IDBKey)"); if (!shouldEnqueueEvent()) return; if (idbKey && idbKey->isValid()) { DOMRequestState::Scope scope(m_requestState); m_result = IDBAny::create(idbKeyToScriptValue(requestState(), idbKey)); } else m_result = IDBAny::createInvalid(); enqueueEvent(createSuccessEvent()); }
void LegacyRequest::onSuccess(PassRefPtr<IDBKey> idbKey) { LOG(StorageAPI, "LegacyRequest::onSuccess(IDBKey)"); if (!shouldEnqueueEvent()) return; if (idbKey && idbKey->isValid()) { DOMRequestState::Scope scope(m_requestState); m_result = LegacyAny::create(idbKeyToScriptValue(requestState(), idbKey)); } else m_result = LegacyAny::createInvalid(); enqueueEvent(createSuccessEvent()); }
void LegacyRequest::onSuccess(PassRefPtr<IDBKey> key, PassRefPtr<IDBKey> primaryKey, PassRefPtr<SharedBuffer> buffer) { LOG(StorageAPI, "LegacyRequest::onSuccess(key, primaryKey, valueBuffer)"); if (!shouldEnqueueEvent()) return; DOMRequestState::Scope scope(m_requestState); Deprecated::ScriptValue value = deserializeIDBValueBuffer(requestState(), buffer, !!key); ASSERT(m_pendingCursor); setResultCursor(m_pendingCursor.release(), key, primaryKey, value); enqueueEvent(createSuccessEvent()); }
void IDBRequest::onSuccess(PassRefPtr<IDBCursorBackendInterface> backend, PassRefPtr<IDBKey> key, PassRefPtr<IDBKey> primaryKey, PassRefPtr<SerializedScriptValue> serializedValue) { IDB_TRACE("IDBRequest::onSuccess(IDBCursor)"); if (!shouldEnqueueEvent()) return; ScriptValue value = deserializeIDBValue(scriptExecutionContext(), serializedValue); ASSERT(m_cursorType != IDBCursorBackendInterface::InvalidCursorType); RefPtr<IDBCursor> cursor; if (m_cursorType == IDBCursorBackendInterface::IndexKeyCursor) cursor = IDBCursor::create(backend, m_cursorDirection, this, m_source.get(), m_transaction.get()); else cursor = IDBCursorWithValue::create(backend, m_cursorDirection, this, m_source.get(), m_transaction.get()); setResultCursor(cursor, key, primaryKey, value); enqueueEvent(createSuccessEvent()); }
void IDBRequest::onSuccess(PassRefPtr<IDBKey> key, PassRefPtr<IDBKey> primaryKey, PassRefPtr<SerializedScriptValue> serializedValue) { IDB_TRACE("IDBRequest::onSuccess(key, primaryKey, value)"); if (!shouldEnqueueEvent()) return; #if USE(V8) v8::HandleScope handleScope; v8::Local<v8::Context> context = toV8Context(scriptExecutionContext(), m_worldContextHandle); if (context.IsEmpty()) CRASH(); v8::Context::Scope contextScope(context); #endif ScriptValue value = deserializeIDBValue(scriptExecutionContext(), serializedValue); ASSERT(m_pendingCursor); setResultCursor(m_pendingCursor.release(), key, primaryKey, value); enqueueEvent(createSuccessEvent()); }
void IDBRequest::onSuccess(PassRefPtr<IDBTransactionBackendInterface> prpBackend) { ASSERT(!m_errorCode && m_errorMessage.isNull() && !m_result); if (!scriptExecutionContext()) return; RefPtr<IDBTransactionBackendInterface> backend = prpBackend; RefPtr<IDBTransaction> frontend = IDBTransaction::create(scriptExecutionContext(), backend, m_source->idbDatabase().get()); backend->setCallbacks(frontend.get()); m_transaction = frontend; ASSERT(m_source->type() == IDBAny::IDBDatabaseType); m_source->idbDatabase()->setSetVersionTransaction(frontend.get()); IDBPendingTransactionMonitor::removePendingTransaction(m_transaction->backend()); m_result = IDBAny::create(frontend.release()); enqueueEvent(createSuccessEvent()); }
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()); }
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()); }
void IDBRequest::onSuccess(PassRefPtr<DOMStringList> domStringList) { ASSERT(!m_errorCode && m_errorMessage.isNull() && !m_result); m_result = IDBAny::create(domStringList); enqueueEvent(createSuccessEvent()); }
void IDBRequest::onSuccess(PassRefPtr<IDBKey> idbKey) { ASSERT(!m_errorCode && m_errorMessage.isNull() && !m_result); m_result = IDBAny::create(idbKey); enqueueEvent(createSuccessEvent()); }
void IDBRequest::onSuccess(PassRefPtr<SerializedScriptValue> serializedScriptValue) { ASSERT(!m_errorCode && m_errorMessage.isNull() && !m_result); m_result = IDBAny::create(serializedScriptValue); enqueueEvent(createSuccessEvent()); }