Example #1
0
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;
}
Example #2
0
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));
}