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

Unified Diff: content/browser/indexed_db/indexed_db_dispatcher_host.h

Issue 2727733004: [IndexedDB] Closing mojo connections when renderer quits (Closed)
Patch Set: Created 3 years, 10 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_dispatcher_host.h
diff --git a/content/browser/indexed_db/indexed_db_dispatcher_host.h b/content/browser/indexed_db/indexed_db_dispatcher_host.h
index e24caf71e26f8294c4ca2ba6b4cf471dd6d7c83d..907eeb9a24600d57b058770fdaf163a4da732f72 100644
--- a/content/browser/indexed_db/indexed_db_dispatcher_host.h
+++ b/content/browser/indexed_db/indexed_db_dispatcher_host.h
@@ -16,9 +16,11 @@
#include "base/macros.h"
#include "base/memory/ref_counted.h"
#include "content/browser/blob_storage/chrome_blob_storage_context.h"
+#include "content/browser/indexed_db/database_impl.h"
#include "content/common/indexed_db/indexed_db.mojom.h"
#include "content/public/browser/browser_thread.h"
#include "mojo/public/cpp/bindings/associated_binding_set.h"
+#include "mojo/public/cpp/bindings/strong_associated_binding_set.h"
Reilly Grant (use Gerrit) 2017/03/03 01:51:47 This header is missing from the patch.
dmurph 2017/03/04 00:39:41 Done.
#include "net/url_request/url_request_context_getter.h"
#include "storage/browser/blob/blob_data_handle.h"
@@ -46,6 +48,17 @@ class IndexedDBDispatcherHost
void AddBinding(::indexed_db::mojom::FactoryAssociatedRequest request);
+ void AddDatabaseBinding(
+ std::unique_ptr<::indexed_db::mojom::Database> database,
+ ::indexed_db::mojom::DatabaseAssociatedRequest request);
+
+ void AddCursorBinding(std::unique_ptr<::indexed_db::mojom::Cursor> cursor,
+ ::indexed_db::mojom::CursorAssociatedRequest request);
+
+ void SetDatabaseImpl(std::unique_ptr<DatabaseImpl> database) {
Reilly Grant (use Gerrit) 2017/03/03 01:59:59 This function is unused and doesn't seem right to
dmurph 2017/03/04 00:39:41 Done.
+ database_impl_ = std::move(database);
+ }
+
// A shortcut for accessing our context.
IndexedDBContextImpl* context() const { return indexed_db_context_.get(); }
storage::BlobStorageContext* blob_storage_context() const {
@@ -96,6 +109,8 @@ class IndexedDBDispatcherHost
void ResetDispatcherHosts();
+ std::unique_ptr<DatabaseImpl> database_impl_;
+
scoped_refptr<net::URLRequestContextGetter> request_context_getter_;
scoped_refptr<IndexedDBContextImpl> indexed_db_context_;
scoped_refptr<ChromeBlobStorageContext> blob_storage_context_;
@@ -112,6 +127,12 @@ class IndexedDBDispatcherHost
mojo::AssociatedBindingSet<::indexed_db::mojom::Factory> bindings_;
+ mojo::StrongAssociatedBindingSet<::indexed_db::mojom::Database>
+ database_bindings_;
+
+ mojo::StrongAssociatedBindingSet<::indexed_db::mojom::Cursor>
+ cursor_bindings_;
+
DISALLOW_IMPLICIT_CONSTRUCTORS(IndexedDBDispatcherHost);
};

Powered by Google App Engine
This is Rietveld 408576698