Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(192)

Unified Diff: content/browser/indexed_db/indexed_db_pending_connection.cc

Issue 1963293002: Replacing Indexed DB Chromium IPC with Mojo Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Refactoring after Passing URLRequestContextGetter. Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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
« no previous file with comments | « content/browser/indexed_db/indexed_db_pending_connection.h ('k') | content/browser/indexed_db/indexed_db_pending_delete.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698