| Index: chrome/browser/renderer_host/resource_message_filter.cc
|
| diff --git a/chrome/browser/renderer_host/resource_message_filter.cc b/chrome/browser/renderer_host/resource_message_filter.cc
|
| index b6bf8547834e35c9888e3f145b9edf40143e488d..471d3ba8f230899370140c71abff46526fc9fe32 100644
|
| --- a/chrome/browser/renderer_host/resource_message_filter.cc
|
| +++ b/chrome/browser/renderer_host/resource_message_filter.cc
|
| @@ -30,6 +30,7 @@
|
| #include "chrome/browser/device_orientation/dispatcher_host.h"
|
| #include "chrome/browser/download/download_file.h"
|
| #include "chrome/browser/extensions/extension_message_service.h"
|
| +#include "chrome/browser/file_system/file_system_dispatcher_host.h"
|
| #include "chrome/browser/geolocation/geolocation_permission_context.h"
|
| #include "chrome/browser/geolocation/geolocation_dispatcher_host.h"
|
| #include "chrome/browser/gpu_process_host.h"
|
| @@ -244,7 +245,10 @@ ResourceMessageFilter::ResourceMessageFilter(
|
| GeolocationDispatcherHost::New(
|
| this->id(), profile->GetGeolocationPermissionContext()))),
|
| ALLOW_THIS_IN_INITIALIZER_LIST(device_orientation_dispatcher_host_(
|
| - new device_orientation::DispatcherHost(this->id()))) {
|
| + new device_orientation::DispatcherHost(this->id()))),
|
| + ALLOW_THIS_IN_INITIALIZER_LIST(file_system_dispatcher_host_(
|
| + new FileSystemDispatcherHost(this,
|
| + profile->GetHostContentSettingsMap()))) {
|
| request_context_ = profile_->GetRequestContext();
|
| DCHECK(request_context_);
|
| DCHECK(media_request_context_);
|
| @@ -274,6 +278,9 @@ ResourceMessageFilter::~ResourceMessageFilter() {
|
| // Shut down the database dispatcher host.
|
| db_dispatcher_host_->Shutdown();
|
|
|
| + // Shut down the async file_system dispatcher host.
|
| + file_system_dispatcher_host_->Shutdown();
|
| +
|
| // Let interested observers know we are being deleted.
|
| NotificationService::current()->Notify(
|
| NotificationType::RESOURCE_MESSAGE_FILTER_SHUTDOWN,
|
| @@ -309,6 +316,7 @@ void ResourceMessageFilter::OnChannelConnected(int32 peer_pid) {
|
| dom_storage_dispatcher_host_->Init(id(), handle());
|
| indexed_db_dispatcher_host_->Init(id(), handle());
|
| db_dispatcher_host_->Init(handle());
|
| + file_system_dispatcher_host_->Init(handle());
|
| }
|
|
|
| void ResourceMessageFilter::OnChannelError() {
|
| @@ -345,7 +353,8 @@ bool ResourceMessageFilter::OnMessageReceived(const IPC::Message& msg) {
|
| msg, this, next_route_id_callback(), &msg_is_ok) ||
|
| geolocation_dispatcher_host_->OnMessageReceived(msg, &msg_is_ok) ||
|
| speech_input_dispatcher_host_->OnMessageReceived(msg, &msg_is_ok) ||
|
| - device_orientation_dispatcher_host_->OnMessageReceived(msg, &msg_is_ok);
|
| + device_orientation_dispatcher_host_->OnMessageReceived(msg, &msg_is_ok) ||
|
| + file_system_dispatcher_host_->OnMessageReceived(msg, &msg_is_ok);
|
|
|
| if (!handled) {
|
| DCHECK(msg_is_ok); // It should have been marked handled if it wasn't OK.
|
|
|