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