PassRefPtr<IDBRequest> IDBObjectStore::put(IDBDatabaseBackendInterface::PutMode putMode, PassRefPtr<IDBAny> source, ScriptState* state, ScriptValue& value, const ScriptValue& keyValue, ExceptionCode& ec) { ScriptExecutionContext* context = scriptExecutionContextFromScriptState(state); DOMRequestState requestState(context); RefPtr<IDBKey> key = keyValue.isUndefined() ? 0 : scriptValueToIDBKey(&requestState, keyValue); return put(putMode, source, state, value, key.release(), ec); }
PassRefPtr<IDBRequest> IDBObjectStore::put(WebIDBDatabase::PutMode putMode, PassRefPtr<IDBAny> source, ScriptState* state, ScriptValue& value, const ScriptValue& keyValue, ExceptionState& exceptionState) { ExecutionContext* context = state->executionContext(); DOMRequestState requestState(context); RefPtr<IDBKey> key = keyValue.isUndefined() ? 0 : scriptValueToIDBKey(&requestState, keyValue); return put(putMode, source, state, value, key.release(), exceptionState); }
void IDBCursor::continueFunction(ScriptState* scriptState, const ScriptValue& keyValue, ExceptionState& exceptionState) { IDB_TRACE("IDBCursor::continue"); IDBKey* key = keyValue.isUndefined() || keyValue.isNull() ? nullptr : scriptValueToIDBKey(scriptState->isolate(), keyValue); if (key && !key->isValid()) { exceptionState.throwDOMException(DataError, IDBDatabase::notValidKeyErrorMessage); return; } continueFunction(key, 0, exceptionState); }
void IDBCursor::continueFunction(ExecutionContext* context, const ScriptValue& keyValue, ExceptionState& exceptionState) { IDB_TRACE("IDBCursor::continue"); RefPtrWillBeRawPtr<IDBKey> key = keyValue.isUndefined() || keyValue.isNull() ? nullptr : scriptValueToIDBKey(toIsolate(context), keyValue); if (key && !key->isValid()) { exceptionState.throwDOMException(DataError, IDBDatabase::notValidKeyErrorMessage); return; } continueFunction(key.release(), nullptr, exceptionState); }
void InspectorHeapProfilerAgent::getHeapObjectId(ErrorString* errorString, const String& objectId, String* heapSnapshotObjectId) { InjectedScript injectedScript = m_injectedScriptManager->injectedScriptForObjectId(objectId); if (injectedScript.hasNoValue()) { *errorString = "Inspected context has gone"; return; } ScriptValue value = injectedScript.findObjectById(objectId); if (value.hasNoValue() || value.isUndefined()) { *errorString = "Object with given id not found"; return; } unsigned id = ScriptProfiler::getHeapObjectId(value); *heapSnapshotObjectId = String::number(id); }
PassRefPtr<IDBKeyRange> IDBKeyRange::fromScriptValue(ExecutionContext* context, const ScriptValue& value, ExceptionState& es) { DOMRequestState requestState(context); if (value.isUndefined() || value.isNull()) return 0; RefPtr<IDBKeyRange> range = scriptValueToIDBKeyRange(&requestState, value); if (range) return range.release(); RefPtr<IDBKey> key = scriptValueToIDBKey(&requestState, value); if (!key || !key->isValid()) { es.throwDOMException(DataError, IDBDatabase::notValidKeyErrorMessage); return 0; } return adoptRef(new IDBKeyRange(key, key, LowerBoundClosed, UpperBoundClosed)); }
PassRefPtrWillBeRawPtr<IDBRequest> IDBObjectStore::put(ExecutionContext* executionContext, WebIDBDatabase::PutMode putMode, PassRefPtrWillBeRawPtr<IDBAny> source, ScriptValue& value, const ScriptValue& keyValue, ExceptionState& exceptionState) { RefPtrWillBeRawPtr<IDBKey> key = keyValue.isUndefined() ? nullptr : scriptValueToIDBKey(toIsolate(executionContext), keyValue); return put(executionContext, putMode, source, value, key.release(), exceptionState); }
void IDBCursor::continueFunction(ScriptExecutionContext* context, const ScriptValue& keyValue, ExceptionCode& ec) { DOMRequestState requestState(context); RefPtr<IDBKey> key = keyValue.isUndefined() ? 0 : scriptValueToIDBKey(&requestState, keyValue); continueFunction(key.release(), ec); }