| 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;
|
|
|