void IDBCursor::setValueReady(IDBKey* key, IDBKey* primaryKey, PassRefPtr<IDBValue> value) { m_key = key; m_keyDirty = true; m_primaryKey = primaryKey; m_primaryKeyDirty = true; if (isCursorWithValue()) { m_value = value; m_valueDirty = true; } m_gotValue = true; }
void IDBCursor::setValueReady(IDBKey* key, IDBKey* primaryKey, PassRefPtr<SharedBuffer> value, PassOwnPtr<IDBRequest::IDBBlobHolder> blobs) { m_key = key; m_keyDirty = true; m_primaryKey = primaryKey; m_primaryKeyDirty = true; if (isCursorWithValue()) { m_value = value; m_blobs = blobs; m_valueDirty = true; } m_gotValue = true; }
void IDBCursor::setValueReady(IDBKey* key, IDBKey* primaryKey, PassRefPtr<SharedBuffer> value, PassOwnPtr<Vector<blink::WebBlobInfo> > blobInfo) { m_key = key; m_keyDirty = true; m_primaryKey = primaryKey; m_primaryKeyDirty = true; if (isCursorWithValue()) { m_value = value; handleBlobAcks(); m_blobInfo = blobInfo; m_valueDirty = true; } m_gotValue = true; }
ScriptValue IDBCursor::value(ScriptState* scriptState) { ASSERT(isCursorWithValue()); IDBObjectStore* objectStore = effectiveObjectStore(); const IDBObjectStoreMetadata& metadata = objectStore->metadata(); IDBAny* value; if (metadata.autoIncrement && !metadata.keyPath.isNull()) { value = IDBAny::create(m_value, m_blobs->getInfo(), m_primaryKey, metadata.keyPath); #if ENABLE(ASSERT) assertPrimaryKeyValidOrInjectable(scriptState, m_value, m_blobs->getInfo(), m_primaryKey, metadata.keyPath); #endif } else { value = IDBAny::create(m_value, m_blobs->getInfo()); } m_valueDirty = false; ScriptValue scriptValue = idbAnyToScriptValue(scriptState, value); return scriptValue; }
ScriptValue IDBCursor::value(ScriptState* scriptState) { ASSERT(isCursorWithValue()); RefPtrWillBeRawPtr<IDBObjectStore> objectStore = effectiveObjectStore(); const IDBObjectStoreMetadata& metadata = objectStore->metadata(); RefPtrWillBeRawPtr<IDBAny> value; if (metadata.autoIncrement && !metadata.keyPath.isNull()) { value = IDBAny::create(m_value, m_blobInfo.get(), m_primaryKey, metadata.keyPath); #ifndef NDEBUG assertPrimaryKeyValidOrInjectable(scriptState, m_value, m_blobInfo.get(), m_primaryKey, metadata.keyPath); #endif } else { value = IDBAny::create(m_value, m_blobInfo.get()); } m_valueDirty = false; ScriptValue scriptValue = idbAnyToScriptValue(scriptState, value); handleBlobAcks(); return scriptValue; }
ScriptValue IDBCursor::value(ScriptState* scriptState) { ASSERT(isCursorWithValue()); IDBObjectStore* objectStore = effectiveObjectStore(); const IDBObjectStoreMetadata& metadata = objectStore->metadata(); IDBAny* value; if (!m_value) { value = IDBAny::createUndefined(); } else if (metadata.autoIncrement && !metadata.keyPath.isNull()) { RefPtr<IDBValue> idbValue = IDBValue::create(m_value.get(), m_primaryKey, metadata.keyPath); #if ENABLE(ASSERT) assertPrimaryKeyValidOrInjectable(scriptState, idbValue.get()); #endif value = IDBAny::create(idbValue.release()); } else { value = IDBAny::create(m_value); } m_valueDirty = false; ScriptValue scriptValue = ScriptValue::from(scriptState, value); return scriptValue; }