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::setResult(const IDBKeyData* keyData) { if (!keyData) { m_result = nullptr; return; } Deprecated::ScriptValue value = idbKeyDataToScriptValue(scriptExecutionContext(), *keyData); m_result = IDBAny::create(WTF::move(value)); }