Index: third_party/WebKit/Source/modules/indexeddb/IDBOpenDBRequest.cpp |
diff --git a/third_party/WebKit/Source/modules/indexeddb/IDBOpenDBRequest.cpp b/third_party/WebKit/Source/modules/indexeddb/IDBOpenDBRequest.cpp |
index 9be4f6b841f3de036df3f91fb97889ee27c4c58d..a2cbe84fff0897f3b38d58986002fe073ce6bcfc 100644 |
--- a/third_party/WebKit/Source/modules/indexeddb/IDBOpenDBRequest.cpp |
+++ b/third_party/WebKit/Source/modules/indexeddb/IDBOpenDBRequest.cpp |
@@ -30,7 +30,6 @@ |
#include "core/dom/ExceptionCode.h" |
#include "core/dom/ExecutionContext.h" |
#include "modules/indexeddb/IDBDatabase.h" |
-#include "modules/indexeddb/IDBDatabaseCallbacks.h" |
#include "modules/indexeddb/IDBTracing.h" |
#include "modules/indexeddb/IDBVersionChangeEvent.h" |
#include <memory> |
@@ -39,20 +38,19 @@ using blink::WebIDBDatabase; |
namespace blink { |
-IDBOpenDBRequest* IDBOpenDBRequest::create(ScriptState* scriptState, IDBDatabaseCallbacks* callbacks, int64_t transactionId, int64_t version) |
+IDBOpenDBRequest* IDBOpenDBRequest::create(ScriptState* scriptState, int64_t transactionId, int64_t version) |
{ |
- IDBOpenDBRequest* request = new IDBOpenDBRequest(scriptState, callbacks, transactionId, version); |
+ IDBOpenDBRequest* request = new IDBOpenDBRequest(scriptState, transactionId, version); |
request->suspendIfNeeded(); |
return request; |
} |
-IDBOpenDBRequest::IDBOpenDBRequest(ScriptState* scriptState, IDBDatabaseCallbacks* callbacks, int64_t transactionId, int64_t version) |
+IDBOpenDBRequest::IDBOpenDBRequest(ScriptState* scriptState, int64_t transactionId, int64_t version) |
: IDBRequest(scriptState, IDBAny::createNull(), nullptr) |
- , m_databaseCallbacks(callbacks) |
, m_transactionId(transactionId) |
, m_version(version) |
{ |
- ASSERT(!resultAsAny()); |
+ DCHECK(!resultAsAny()); |
} |
IDBOpenDBRequest::~IDBOpenDBRequest() |
@@ -61,10 +59,15 @@ IDBOpenDBRequest::~IDBOpenDBRequest() |
DEFINE_TRACE(IDBOpenDBRequest) |
{ |
- visitor->trace(m_databaseCallbacks); |
IDBRequest::trace(visitor); |
} |
+void IDBOpenDBRequest::setClientRequest(indexed_db::mojom::blink::DatabaseClientAssociatedRequest clientRequest) |
+{ |
+ DCHECK(!m_clientRequest.is_pending()); |
+ m_clientRequest = std::move(clientRequest); |
+} |
+ |
const AtomicString& IDBOpenDBRequest::interfaceName() const |
{ |
return EventTargetNames::IDBOpenDBRequest; |
@@ -91,9 +94,9 @@ void IDBOpenDBRequest::onUpgradeNeeded(int64_t oldVersion, std::unique_ptr<WebID |
if (!shouldEnqueueEvent()) |
return; |
- ASSERT(m_databaseCallbacks); |
+ DCHECK(m_clientRequest.is_pending()); |
- IDBDatabase* idbDatabase = IDBDatabase::create(getExecutionContext(), std::move(backend), m_databaseCallbacks.release()); |
+ IDBDatabase* idbDatabase = IDBDatabase::create(getExecutionContext(), std::move(backend), std::move(m_clientRequest)); |
idbDatabase->setMetadata(metadata); |
if (oldVersion == IDBDatabaseMetadata::NoVersion) { |
@@ -126,14 +129,14 @@ void IDBOpenDBRequest::onSuccess(std::unique_ptr<WebIDBDatabase> backend, const |
IDBDatabase* idbDatabase = nullptr; |
if (resultAsAny()) { |
// Previous onUpgradeNeeded call delivered the backend. |
- ASSERT(!backend.get()); |
+ DCHECK(!backend.get()); |
idbDatabase = resultAsAny()->idbDatabase(); |
- ASSERT(idbDatabase); |
- ASSERT(!m_databaseCallbacks); |
+ DCHECK(idbDatabase); |
+ DCHECK(!m_clientRequest.is_pending()); |
} else { |
- ASSERT(backend.get()); |
- ASSERT(m_databaseCallbacks); |
- idbDatabase = IDBDatabase::create(getExecutionContext(), std::move(backend), m_databaseCallbacks.release()); |
+ DCHECK(backend.get()); |
+ DCHECK(m_clientRequest.is_pending()); |
+ idbDatabase = IDBDatabase::create(getExecutionContext(), std::move(backend), std::move(m_clientRequest)); |
setResult(IDBAny::create(idbDatabase)); |
} |
idbDatabase->setMetadata(metadata); |
@@ -157,7 +160,7 @@ bool IDBOpenDBRequest::shouldEnqueueEvent() const |
{ |
if (m_contextStopped || !getExecutionContext()) |
return false; |
- ASSERT(m_readyState == PENDING || m_readyState == DONE); |
+ DCHECK(m_readyState == PENDING || m_readyState == DONE); |
if (m_requestAborted) |
return false; |
return true; |