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 231b59df698d8b910fade41fff627e4838528f7f..67d75c71ecaaa7f106f04867063893ec048f5435 100644 |
--- a/content/browser/renderer_host/render_process_host_impl.cc |
+++ b/content/browser/renderer_host/render_process_host_impl.cc |
@@ -51,7 +51,6 @@ |
#include "content/browser/fileapi/chrome_blob_storage_context.h" |
#include "content/browser/fileapi/fileapi_message_filter.h" |
#include "content/browser/frame_host/render_frame_message_filter.h" |
-#include "content/browser/geolocation/geolocation_dispatcher_host.h" |
#include "content/browser/gpu/compositor_util.h" |
#include "content/browser/gpu/gpu_data_manager_impl.h" |
#include "content/browser/gpu/gpu_process_host.h" |
@@ -374,7 +373,8 @@ RenderProcessHostImpl::RenderProcessHostImpl( |
supports_browser_plugin_(supports_browser_plugin), |
is_guest_(is_guest), |
gpu_observer_registered_(false), |
- power_monitor_broadcaster_(this) { |
+ power_monitor_broadcaster_(this), |
+ geolocation_dispatcher_host_(NULL) { |
widget_helper_ = new RenderWidgetHelper(); |
ChildProcessSecurityPolicyImpl::GetInstance()->Add(GetID()); |
@@ -654,12 +654,13 @@ void RenderProcessHostImpl::CreateMessageFilters() { |
g_browser_plugin_geolocation_context.Get() = |
new BrowserPluginGeolocationPermissionContext(); |
} |
- AddFilter(GeolocationDispatcherHost::New( |
- GetID(), g_browser_plugin_geolocation_context.Get().get())); |
+ geolocation_dispatcher_host_ = GeolocationDispatcherHost::New( |
+ GetID(), g_browser_plugin_geolocation_context.Get().get()); |
} else { |
- AddFilter(GeolocationDispatcherHost::New( |
- GetID(), browser_context->GetGeolocationPermissionContext())); |
+ geolocation_dispatcher_host_ = GeolocationDispatcherHost::New( |
+ GetID(), browser_context->GetGeolocationPermissionContext()); |
} |
+ AddFilter(geolocation_dispatcher_host_); |
gpu_message_filter_ = new GpuMessageFilter(GetID(), widget_helper_.get()); |
AddFilter(gpu_message_filter_); |
#if defined(ENABLE_WEBRTC) |
@@ -1439,6 +1440,7 @@ void RenderProcessHostImpl::Cleanup() { |
channel_.reset(); |
gpu_message_filter_ = NULL; |
message_port_message_filter_ = NULL; |
+ geolocation_dispatcher_host_ = NULL; |
// Remove ourself from the list of renderer processes so that we can't be |
// reused in between now and when the Delete task runs. |
@@ -1739,6 +1741,7 @@ void RenderProcessHostImpl::ProcessDied(bool already_dead) { |
channel_.reset(); |
gpu_message_filter_ = NULL; |
message_port_message_filter_ = NULL; |
+ geolocation_dispatcher_host_ = NULL; |
IDMap<IPC::Listener>::iterator iter(&listeners_); |
while (!iter.IsAtEnd()) { |