1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef CONTENT_BROWSER_GEOLOCATION_GEOLOCATION_DISPATCHER_HOST_H_
6 #define CONTENT_BROWSER_GEOLOCATION_GEOLOCATION_DISPATCHER_HOST_H_
8 #include "content/public/browser/browser_message_filter.h"
12 class GeolocationPermissionContext
;
14 // GeolocationDispatcherHost is a browser filter for Geolocation messages.
15 // It's the complement of GeolocationDispatcher (owned by RenderView).
16 class GeolocationDispatcherHost
: public BrowserMessageFilter
{
18 static GeolocationDispatcherHost
* New(
19 int render_process_id
,
20 GeolocationPermissionContext
* geolocation_permission_context
);
22 // Pause or resumes geolocation for the given |render_view_id|. Should
23 // be called on the IO thread. Resuming when nothing is paused is a no-op.
24 // If a renderer is paused while not currently using geolocation but
25 // then goes on to do so before being resumed, then that renderer will
26 // not get geolocation updates until it is resumed.
27 virtual void PauseOrResume(int render_view_id
, bool should_pause
) = 0;
30 GeolocationDispatcherHost();
31 virtual ~GeolocationDispatcherHost();
33 DISALLOW_COPY_AND_ASSIGN(GeolocationDispatcherHost
);
36 } // namespace content
38 #endif // CONTENT_BROWSER_GEOLOCATION_GEOLOCATION_DISPATCHER_HOST_H_