| Index: Source/modules/indexeddb/IDBObjectStore.cpp
|
| diff --git a/Source/modules/indexeddb/IDBObjectStore.cpp b/Source/modules/indexeddb/IDBObjectStore.cpp
|
| index 44e5626f2cf738e3a6d6b8ad71bb39195e53187f..d0082f5e2f8d7074c1945a086b9dbc1f269c3ff0 100644
|
| --- a/Source/modules/indexeddb/IDBObjectStore.cpp
|
| +++ b/Source/modules/indexeddb/IDBObjectStore.cpp
|
| @@ -68,7 +68,7 @@ PassRefPtr<DOMStringList> IDBObjectStore::indexNames() const
|
| return indexNames.release();
|
| }
|
|
|
| -PassRefPtr<IDBRequest> IDBObjectStore::get(ScriptExecutionContext* context, PassRefPtr<IDBKeyRange> keyRange, ExceptionCode& ec)
|
| +IDBRequest* IDBObjectStore::get(ScriptExecutionContext* context, PassRefPtr<IDBKeyRange> keyRange, ExceptionCode& ec)
|
| {
|
| IDB_TRACE("IDBObjectStore::get");
|
| if (isDeleted()) {
|
| @@ -83,12 +83,12 @@ PassRefPtr<IDBRequest> IDBObjectStore::get(ScriptExecutionContext* context, Pass
|
| ec = IDBDatabaseException::TransactionInactiveError;
|
| return 0;
|
| }
|
| - RefPtr<IDBRequest> request = IDBRequest::create(context, IDBAny::create(this), m_transaction.get());
|
| + IDBRequest* request = IDBRequest::create(context, IDBAny::create(this), m_transaction.get());
|
| backendDB()->get(m_transaction->id(), id(), IDBIndexMetadata::InvalidId, keyRange, false, request);
|
| - return request.release();
|
| + return request;
|
| }
|
|
|
| -PassRefPtr<IDBRequest> IDBObjectStore::get(ScriptExecutionContext* context, const ScriptValue& key, ExceptionCode& ec)
|
| +IDBRequest* IDBObjectStore::get(ScriptExecutionContext* context, const ScriptValue& key, ExceptionCode& ec)
|
| {
|
| RefPtr<IDBKeyRange> keyRange = IDBKeyRange::only(context, key, ec);
|
| if (ec)
|
| @@ -119,19 +119,19 @@ static void generateIndexKeysForValue(DOMRequestState* requestState, const IDBIn
|
| }
|
| }
|
|
|
| -PassRefPtr<IDBRequest> IDBObjectStore::add(ScriptState* state, ScriptValue& value, const ScriptValue& key, ExceptionCode& ec)
|
| +IDBRequest* IDBObjectStore::add(ScriptState* state, ScriptValue& value, const ScriptValue& key, ExceptionCode& ec)
|
| {
|
| IDB_TRACE("IDBObjectStore::add");
|
| return put(IDBDatabaseBackendInterface::AddOnly, IDBAny::create(this), state, value, key, ec);
|
| }
|
|
|
| -PassRefPtr<IDBRequest> IDBObjectStore::put(ScriptState* state, ScriptValue& value, const ScriptValue& key, ExceptionCode& ec)
|
| +IDBRequest* IDBObjectStore::put(ScriptState* state, ScriptValue& value, const ScriptValue& key, ExceptionCode& ec)
|
| {
|
| IDB_TRACE("IDBObjectStore::put");
|
| return put(IDBDatabaseBackendInterface::AddOrUpdate, IDBAny::create(this), state, value, key, ec);
|
| }
|
|
|
| -PassRefPtr<IDBRequest> IDBObjectStore::put(IDBDatabaseBackendInterface::PutMode putMode, PassRefPtr<IDBAny> source, ScriptState* state, ScriptValue& value, const ScriptValue& keyValue, ExceptionCode& ec)
|
| +IDBRequest* IDBObjectStore::put(IDBDatabaseBackendInterface::PutMode putMode, PassRefPtr<IDBAny> source, ScriptState* state, ScriptValue& value, const ScriptValue& keyValue, ExceptionCode& ec)
|
| {
|
| ScriptExecutionContext* context = scriptExecutionContextFromScriptState(state);
|
| DOMRequestState requestState(context);
|
| @@ -139,7 +139,7 @@ PassRefPtr<IDBRequest> IDBObjectStore::put(IDBDatabaseBackendInterface::PutMode
|
| return put(putMode, source, state, value, key.release(), ec);
|
| }
|
|
|
| -PassRefPtr<IDBRequest> IDBObjectStore::put(IDBDatabaseBackendInterface::PutMode putMode, PassRefPtr<IDBAny> source, ScriptState* state, ScriptValue& value, PassRefPtr<IDBKey> prpKey, ExceptionCode& ec)
|
| +IDBRequest* IDBObjectStore::put(IDBDatabaseBackendInterface::PutMode putMode, PassRefPtr<IDBAny> source, ScriptState* state, ScriptValue& value, PassRefPtr<IDBKey> prpKey, ExceptionCode& ec)
|
| {
|
| RefPtr<IDBKey> key = prpKey;
|
| if (isDeleted()) {
|
| @@ -217,17 +217,17 @@ PassRefPtr<IDBRequest> IDBObjectStore::put(IDBDatabaseBackendInterface::PutMode
|
| indexKeys.append(keys);
|
| }
|
|
|
| - RefPtr<IDBRequest> request = IDBRequest::create(context, source, m_transaction.get());
|
| + IDBRequest* request = IDBRequest::create(context, source, m_transaction.get());
|
| Vector<uint8_t> valueBytes = serializedValue->toWireBytes();
|
| // This is a hack to account for disagreements about whether SerializedScriptValue should deal in Vector<uint8_t> or Vector<char>.
|
| // See https://lists.webkit.org/pipermail/webkit-dev/2013-February/023682.html
|
| Vector<char>* valueBytesSigned = reinterpret_cast<Vector<char>*>(&valueBytes);
|
| RefPtr<SharedBuffer> valueBuffer = SharedBuffer::adoptVector(*valueBytesSigned);
|
| backendDB()->put(m_transaction->id(), id(), valueBuffer, key.release(), static_cast<IDBDatabaseBackendInterface::PutMode>(putMode), request, indexIds, indexKeys);
|
| - return request.release();
|
| + return request;
|
| }
|
|
|
| -PassRefPtr<IDBRequest> IDBObjectStore::deleteFunction(ScriptExecutionContext* context, PassRefPtr<IDBKeyRange> keyRange, ExceptionCode& ec)
|
| +IDBRequest* IDBObjectStore::deleteFunction(ScriptExecutionContext* context, PassRefPtr<IDBKeyRange> keyRange, ExceptionCode& ec)
|
| {
|
| IDB_TRACE("IDBObjectStore::delete");
|
| if (isDeleted()) {
|
| @@ -247,12 +247,12 @@ PassRefPtr<IDBRequest> IDBObjectStore::deleteFunction(ScriptExecutionContext* co
|
| return 0;
|
| }
|
|
|
| - RefPtr<IDBRequest> request = IDBRequest::create(context, IDBAny::create(this), m_transaction.get());
|
| + IDBRequest* request = IDBRequest::create(context, IDBAny::create(this), m_transaction.get());
|
| backendDB()->deleteRange(m_transaction->id(), id(), keyRange, request);
|
| - return request.release();
|
| + return request;
|
| }
|
|
|
| -PassRefPtr<IDBRequest> IDBObjectStore::deleteFunction(ScriptExecutionContext* context, const ScriptValue& key, ExceptionCode& ec)
|
| +IDBRequest* IDBObjectStore::deleteFunction(ScriptExecutionContext* context, const ScriptValue& key, ExceptionCode& ec)
|
| {
|
| RefPtr<IDBKeyRange> keyRange = IDBKeyRange::only(context, key, ec);
|
| if (ec)
|
| @@ -260,7 +260,7 @@ PassRefPtr<IDBRequest> IDBObjectStore::deleteFunction(ScriptExecutionContext* co
|
| return deleteFunction(context, keyRange.release(), ec);
|
| }
|
|
|
| -PassRefPtr<IDBRequest> IDBObjectStore::clear(ScriptExecutionContext* context, ExceptionCode& ec)
|
| +IDBRequest* IDBObjectStore::clear(ScriptExecutionContext* context, ExceptionCode& ec)
|
| {
|
| IDB_TRACE("IDBObjectStore::clear");
|
| if (isDeleted()) {
|
| @@ -276,9 +276,9 @@ PassRefPtr<IDBRequest> IDBObjectStore::clear(ScriptExecutionContext* context, Ex
|
| return 0;
|
| }
|
|
|
| - RefPtr<IDBRequest> request = IDBRequest::create(context, IDBAny::create(this), m_transaction.get());
|
| + IDBRequest* request = IDBRequest::create(context, IDBAny::create(this), m_transaction.get());
|
| backendDB()->clear(m_transaction->id(), id(), request);
|
| - return request.release();
|
| + return request;
|
| }
|
|
|
| namespace {
|
| @@ -289,7 +289,7 @@ namespace {
|
| // cursor success handlers are kept alive.
|
| class IndexPopulator : public EventListener {
|
| public:
|
| - static PassRefPtr<IndexPopulator> create(PassRefPtr<IDBDatabaseBackendInterface> backend, int64_t transactionId, int64_t objectStoreId, const IDBIndexMetadata& indexMetadata)
|
| + static PassRefPtr<IndexPopulator> create(IDBDatabaseBackendInterface* backend, int64_t transactionId, int64_t objectStoreId, const IDBIndexMetadata& indexMetadata)
|
| {
|
| return adoptRef(new IndexPopulator(backend, transactionId, objectStoreId, indexMetadata));
|
| }
|
| @@ -300,7 +300,7 @@ public:
|
| }
|
|
|
| private:
|
| - IndexPopulator(PassRefPtr<IDBDatabaseBackendInterface> backend, int64_t transactionId, int64_t objectStoreId, const IDBIndexMetadata& indexMetadata)
|
| + IndexPopulator(IDBDatabaseBackendInterface* backend, int64_t transactionId, int64_t objectStoreId, const IDBIndexMetadata& indexMetadata)
|
| : EventListener(CPPEventListenerType)
|
| , m_databaseBackend(backend)
|
| , m_transactionId(transactionId)
|
| @@ -344,7 +344,7 @@ private:
|
|
|
| }
|
|
|
| - RefPtr<IDBDatabaseBackendInterface> m_databaseBackend;
|
| + Persistent<IDBDatabaseBackendInterface> m_databaseBackend;
|
| const int64_t m_transactionId;
|
| const int64_t m_objectStoreId;
|
| const IDBIndexMetadata m_indexMetadata;
|
| @@ -406,7 +406,7 @@ PassRefPtr<IDBIndex> IDBObjectStore::createIndex(ScriptExecutionContext* context
|
| if (ec)
|
| return 0;
|
|
|
| - RefPtr<IDBRequest> indexRequest = openCursor(context, static_cast<IDBKeyRange*>(0), IDBCursor::directionNext(), IDBDatabaseBackendInterface::PreemptiveTask, ec);
|
| + IDBRequest* indexRequest = openCursor(context, static_cast<IDBKeyRange*>(0), IDBCursor::directionNext(), IDBDatabaseBackendInterface::PreemptiveTask, ec);
|
| ASSERT(!ec);
|
| if (ec)
|
| return 0;
|
| @@ -484,7 +484,7 @@ void IDBObjectStore::deleteIndex(const String& name, ExceptionCode& ec)
|
| }
|
| }
|
|
|
| -PassRefPtr<IDBRequest> IDBObjectStore::openCursor(ScriptExecutionContext* context, PassRefPtr<IDBKeyRange> range, const String& directionString, IDBDatabaseBackendInterface::TaskType taskType, ExceptionCode& ec)
|
| +IDBRequest* IDBObjectStore::openCursor(ScriptExecutionContext* context, PassRefPtr<IDBKeyRange> range, const String& directionString, IDBDatabaseBackendInterface::TaskType taskType, ExceptionCode& ec)
|
| {
|
| IDB_TRACE("IDBObjectStore::openCursor");
|
| if (isDeleted()) {
|
| @@ -499,14 +499,14 @@ PassRefPtr<IDBRequest> IDBObjectStore::openCursor(ScriptExecutionContext* contex
|
| if (ec)
|
| return 0;
|
|
|
| - RefPtr<IDBRequest> request = IDBRequest::create(context, IDBAny::create(this), m_transaction.get());
|
| + IDBRequest* request = IDBRequest::create(context, IDBAny::create(this), m_transaction.get());
|
| request->setCursorDetails(IndexedDB::CursorKeyAndValue, direction);
|
|
|
| backendDB()->openCursor(m_transaction->id(), id(), IDBIndexMetadata::InvalidId, range, direction, false, static_cast<IDBDatabaseBackendInterface::TaskType>(taskType), request);
|
| - return request.release();
|
| + return request;
|
| }
|
|
|
| -PassRefPtr<IDBRequest> IDBObjectStore::openCursor(ScriptExecutionContext* context, const ScriptValue& key, const String& direction, ExceptionCode& ec)
|
| +IDBRequest* IDBObjectStore::openCursor(ScriptExecutionContext* context, const ScriptValue& key, const String& direction, ExceptionCode& ec)
|
| {
|
| RefPtr<IDBKeyRange> keyRange = IDBKeyRange::only(context, key, ec);
|
| if (ec)
|
| @@ -514,7 +514,7 @@ PassRefPtr<IDBRequest> IDBObjectStore::openCursor(ScriptExecutionContext* contex
|
| return openCursor(context, keyRange.release(), direction, ec);
|
| }
|
|
|
| -PassRefPtr<IDBRequest> IDBObjectStore::count(ScriptExecutionContext* context, PassRefPtr<IDBKeyRange> range, ExceptionCode& ec)
|
| +IDBRequest* IDBObjectStore::count(ScriptExecutionContext* context, PassRefPtr<IDBKeyRange> range, ExceptionCode& ec)
|
| {
|
| IDB_TRACE("IDBObjectStore::count");
|
| if (isDeleted()) {
|
| @@ -525,12 +525,12 @@ PassRefPtr<IDBRequest> IDBObjectStore::count(ScriptExecutionContext* context, Pa
|
| ec = IDBDatabaseException::TransactionInactiveError;
|
| return 0;
|
| }
|
| - RefPtr<IDBRequest> request = IDBRequest::create(context, IDBAny::create(this), m_transaction.get());
|
| + IDBRequest* request = IDBRequest::create(context, IDBAny::create(this), m_transaction.get());
|
| backendDB()->count(m_transaction->id(), id(), IDBIndexMetadata::InvalidId, range, request);
|
| - return request.release();
|
| + return request;
|
| }
|
|
|
| -PassRefPtr<IDBRequest> IDBObjectStore::count(ScriptExecutionContext* context, const ScriptValue& key, ExceptionCode& ec)
|
| +IDBRequest* IDBObjectStore::count(ScriptExecutionContext* context, const ScriptValue& key, ExceptionCode& ec)
|
| {
|
| RefPtr<IDBKeyRange> keyRange = IDBKeyRange::only(context, key, ec);
|
| if (ec)
|
|
|