void IDBCursor::setGetResult(IDBRequest& request, const IDBGetResult& getResult) { LOG(IndexedDB, "IDBCursor::setGetResult - current key %s", getResult.keyData().loggingString().utf8().data()); auto* context = request.scriptExecutionContext(); if (!context) return; if (!getResult.isDefined()) { m_deprecatedCurrentKey = { }; m_deprecatedCurrentPrimaryKey = { }; m_currentPrimaryKeyData = { }; m_deprecatedCurrentValue = { }; m_gotValue = false; return; } m_deprecatedCurrentKey = idbKeyDataToScriptValue(context, getResult.keyData()); m_deprecatedCurrentPrimaryKey = idbKeyDataToScriptValue(context, getResult.primaryKeyData()); m_currentPrimaryKeyData = getResult.primaryKeyData(); if (isKeyCursor()) m_deprecatedCurrentValue = { }; else m_deprecatedCurrentValue = deserializeIDBValueData(*context, getResult.valueBuffer()); m_gotValue = true; }
void IDBRequest::setResultToStructuredClone(const ThreadSafeDataBuffer& valueData) { LOG(IndexedDB, "IDBRequest::setResultToStructuredClone"); auto context = scriptExecutionContext(); if (!context) return; Deprecated::ScriptValue value = deserializeIDBValueData(*context, valueData); m_result = IDBAny::create(WTF::move(value)); }