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

Unified Diff: content/browser/renderer_host/render_process_host_impl.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/renderer_host/render_process_host_impl.cc
diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc
index 2beb2b18d3872cac26c28fbfd1f01179010aa1ac..948d232dfaf30b8c004bdb98d7aebf19eabcba50 100644
--- a/content/browser/renderer_host/render_process_host_impl.cc
+++ b/content/browser/renderer_host/render_process_host_impl.cc
@@ -9,6 +9,7 @@
#include <algorithm>
#include <limits>
+#include <set>
#include <utility>
#include <vector>
@@ -73,8 +74,9 @@
#include "content/browser/gpu/gpu_process_host.h"
#include "content/browser/gpu/shader_disk_cache.h"
#include "content/browser/histogram_message_filter.h"
+#include "content/browser/indexed_db/database_factory_impl.h"
+#include "content/browser/indexed_db/database_impl.h"
#include "content/browser/indexed_db/indexed_db_context_impl.h"
-#include "content/browser/indexed_db/indexed_db_dispatcher_host.h"
#include "content/browser/loader/resource_message_filter.h"
#include "content/browser/loader/resource_scheduler_filter.h"
#include "content/browser/loader/url_loader_factory_impl.h"
@@ -622,6 +624,9 @@ RenderProcessHostImpl::RenderProcessHostImpl(
widget_helper_ = new RenderWidgetHelper();
ChildProcessSecurityPolicyImpl::GetInstance()->Add(GetID());
+ database_factory_impl_ = new DatabaseFactoryImpl(
+ storage_partition_impl->GetIndexedDBContext(),
+ storage_partition_impl->GetURLRequestContext(), GetID());
CHECK(!BrowserMainRunner::ExitedMainMessageLoop());
RegisterHost(GetID(), this);
@@ -999,10 +1004,6 @@ void RenderProcessHostImpl::CreateMessageFilters() {
AddFilter(new ClipboardMessageFilter(blob_storage_context));
AddFilter(new DOMStorageMessageFilter(
storage_partition_impl_->GetDOMStorageContext()));
- AddFilter(new IndexedDBDispatcherHost(
- GetID(), storage_partition_impl_->GetURLRequestContext(),
- storage_partition_impl_->GetIndexedDBContext(),
- blob_storage_context.get()));
#if defined(ENABLE_WEBRTC)
peer_connection_tracker_host_ = new PeerConnectionTrackerHost(
@@ -1180,6 +1181,11 @@ void RenderProcessHostImpl::RegisterMojoInterfaces() {
base::Bind(&WebSocketManager::CreateWebSocket, GetID(), MSG_ROUTING_NONE),
ui_task_runner);
+ registry->AddInterface(
+ base::Bind(&RenderProcessHostImpl::CreateIndexedDBFactoryService,
+ base::Unretained(this)),
+ storage_partition_impl_->GetIndexedDBContext()->TaskRunner());
+
GetContentClient()->browser()->ExposeInterfacesToRenderer(registry.get(),
this);
@@ -1192,6 +1198,11 @@ void RenderProcessHostImpl::RegisterMojoInterfaces() {
mojo_shell_connection->AddConnectionFilter(std::move(connection_filter));
}
+void RenderProcessHostImpl::CreateIndexedDBFactoryService(
+ mojo::InterfaceRequest<::indexed_db::mojom::DatabaseFactory> request) {
+ database_factory_impl_->Bind(std::move(request));
+}
+
void RenderProcessHostImpl::CreateStoragePartitionService(
mojo::InterfaceRequest<mojom::StoragePartitionService> request) {
// DO NOT REMOVE THIS COMMAND LINE CHECK WITHOUT SECURITY REVIEW!

Powered by Google App Engine
This is Rietveld 408576698