| Index: content/browser/indexed_db/indexed_db_pending_connection.cc
|
| diff --git a/content/browser/indexed_db/indexed_db_pending_connection.cc b/content/browser/indexed_db/indexed_db_pending_connection.cc
|
| index 34f4924285ca8f5d18589fbb2303d6970c7820e2..552e8f03ce09999ad898ac4bd3e829c60f0397bb 100644
|
| --- a/content/browser/indexed_db/indexed_db_pending_connection.cc
|
| +++ b/content/browser/indexed_db/indexed_db_pending_connection.cc
|
| @@ -4,23 +4,63 @@
|
|
|
| #include "content/browser/indexed_db/indexed_db_pending_connection.h"
|
|
|
| -namespace content {
|
| +#include <utility>
|
|
|
| -IndexedDBPendingConnection::IndexedDBPendingConnection(
|
| - scoped_refptr<IndexedDBCallbacks> callbacks_in,
|
| - scoped_refptr<IndexedDBDatabaseCallbacks> database_callbacks_in,
|
| - int child_process_id_in,
|
| - int64_t transaction_id_in,
|
| - int64_t version_in)
|
| - : callbacks(callbacks_in),
|
| - database_callbacks(database_callbacks_in),
|
| - child_process_id(child_process_id_in),
|
| - transaction_id(transaction_id_in),
|
| - version(version_in) {}
|
| +#include "content/browser/indexed_db/indexed_db_connection.h"
|
| +#include "content/browser/indexed_db/indexed_db_metadata.h"
|
| +#include "content/browser/indexed_db/indexed_db_open_request_observer.h"
|
| +#include "content/public/browser/indexed_db_context.h"
|
| +
|
| +namespace content {
|
|
|
| IndexedDBPendingConnection::IndexedDBPendingConnection(
|
| - const IndexedDBPendingConnection& other) = default;
|
| + const OpenResultCallback& open_callback,
|
| + scoped_refptr<IndexedDBChangeHandler> change_handler,
|
| + scoped_refptr<IndexedDBOpenRequestObserver> open_observer,
|
| + int child_process_id,
|
| + int64_t transaction_id,
|
| + int64_t version,
|
| + const url::Origin& origin)
|
| + : open_callback_(std::move(open_callback)),
|
| + change_handler_(change_handler),
|
| + open_observer_(open_observer),
|
| + child_process_id_(child_process_id),
|
| + transaction_id_(transaction_id),
|
| + version_(version),
|
| + origin_(origin) {}
|
|
|
| IndexedDBPendingConnection::~IndexedDBPendingConnection() {}
|
|
|
| +void IndexedDBPendingConnection::SetDataLossInfo(
|
| + const IndexedDBDataLossInfo& data_loss_info) {
|
| + data_loss_info_ = data_loss_info;
|
| +}
|
| +
|
| +void IndexedDBPendingConnection::OnError(
|
| + const IndexedDBDatabaseError& error) const {
|
| + IndexedDBDatabaseMetadata metadata;
|
| + open_callback_.Run(nullptr, metadata, error);
|
| +}
|
| +
|
| +void IndexedDBPendingConnection::OnSuccess(
|
| + std::unique_ptr<IndexedDBConnection> connection,
|
| + const IndexedDBDatabaseMetadata& metadata) const {
|
| + DCHECK_EQ(data_loss_info_.status, blink::WebIDBDataLossNone);
|
| + IndexedDBDatabaseError error;
|
| + open_callback_.Run(std::move(connection), metadata, error);
|
| +}
|
| +
|
| +void IndexedDBPendingConnection::OnBlocked(int64_t old_version) const {
|
| + open_observer_->OnBlocked(old_version);
|
| +}
|
| +
|
| +void IndexedDBPendingConnection::OnUpgradeNeeded(
|
| + int64_t old_version,
|
| + IndexedDBConnection* connection,
|
| + const IndexedDBDatabaseMetadata& metadata) const {
|
| + connection->RegisterTransactionId(transaction_id_, origin_);
|
| + open_observer_->OnUpgradeNeeded(old_version, connection, data_loss_info_,
|
| + metadata);
|
| +}
|
| +
|
| } // namespace content
|
|
|