void IDBDatabase::renameObjectStore(IDBObjectStore& objectStore, const String& newName) { ASSERT(&originThread() == &Thread::current()); ASSERT(m_versionChangeTransaction); ASSERT(m_info.hasObjectStore(objectStore.info().name())); m_info.renameObjectStore(objectStore.info().identifier(), newName); m_versionChangeTransaction->renameObjectStore(objectStore, newName); }
Ref<IDBRequest> IDBTransaction::requestClearObjectStore(ScriptExecutionContext& context, IDBObjectStore& objectStore) { LOG(IndexedDB, "IDBTransaction::requestClearObjectStore"); ASSERT(isActive()); Ref<IDBRequest> request = IDBRequest::create(context, objectStore, *this); addRequest(request.get()); uint64_t objectStoreIdentifier = objectStore.info().identifier(); auto operation = createTransactionOperation(*this, request.get(), &IDBTransaction::didClearObjectStoreOnServer, &IDBTransaction::clearObjectStoreOnServer, objectStoreIdentifier); scheduleOperation(WTFMove(operation)); return request; }
Ref<IDBRequest> IDBTransaction::requestPutOrAdd(ScriptExecutionContext& context, IDBObjectStore& objectStore, IDBKey* key, SerializedScriptValue& value, IndexedDB::ObjectStoreOverwriteMode overwriteMode) { LOG(IndexedDB, "IDBTransaction::requestPutOrAdd"); ASSERT(isActive()); ASSERT(!isReadOnly()); ASSERT(objectStore.info().autoIncrement() || key); Ref<IDBRequest> request = IDBRequest::create(context, objectStore, *this); addRequest(request.get()); auto operation = createTransactionOperation(*this, request.get(), &IDBTransaction::didPutOrAddOnServer, &IDBTransaction::putOrAddOnServer, key, &value, overwriteMode); scheduleOperation(WTFMove(operation)); return request; }