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

Side by Side Diff: chrome/renderer/geolocation_dispatcher.h

Issue 5744005: Revert rev 69137 due to incorrect change log. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 10 years 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « chrome/chrome_renderer.gypi ('k') | chrome/renderer/geolocation_dispatcher.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // Copyright (c) 2010 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.
4
5 #ifndef CHROME_RENDERER_GEOLOCATION_DISPATCHER_H_
6 #define CHROME_RENDERER_GEOLOCATION_DISPATCHER_H_
7 #pragma once
8
9 #if defined(ENABLE_CLIENT_BASED_GEOLOCATION)
10
11 #include "base/scoped_ptr.h"
12 #include "third_party/WebKit/WebKit/chromium/public/WebGeolocationClient.h"
13 #include "third_party/WebKit/WebKit/chromium/public/WebGeolocationController.h"
14
15 class RenderView;
16 struct Geoposition;
17
18 namespace WebKit {
19 class WebGeolocationController;
20 class WebGeolocationPermissionRequest;
21 class WebGeolocationPermissionRequestManager;
22 class WebGeolocationPosition;
23 class WebSecurityOrigin;
24 }
25
26 namespace IPC {
27 class Message;
28 }
29
30 // GeolocationDispatcher is a delegate for Geolocation messages used by
31 // WebKit.
32 // It's the complement of GeolocationDispatcherHost (owned by RenderViewHost).
33 class GeolocationDispatcher : public WebKit::WebGeolocationClient {
34 public:
35 explicit GeolocationDispatcher(RenderView* render_view);
36 virtual ~GeolocationDispatcher();
37
38 // IPC
39 bool OnMessageReceived(const IPC::Message& message);
40
41 // WebGeolocationClient
42 virtual void geolocationDestroyed();
43 virtual void startUpdating();
44 virtual void stopUpdating();
45 virtual void setEnableHighAccuracy(bool enable_high_accuracy);
46 virtual void setController(WebKit::WebGeolocationController* controller);
47 virtual bool lastPosition(WebKit::WebGeolocationPosition& position);
48 virtual void requestPermission(
49 const WebKit::WebGeolocationPermissionRequest& permissionRequest);
50 virtual void cancelPermissionRequest(
51 const WebKit::WebGeolocationPermissionRequest& permissionRequest);
52
53 private:
54 // Permission for using geolocation has been set.
55 void OnGeolocationPermissionSet(int bridge_id, bool is_allowed);
56
57 // We have an updated geolocation position or error code.
58 void OnGeolocationPositionUpdated(const Geoposition& geoposition);
59
60 // GeolocationDispatcher is owned by RenderView. Back pointer for IPC.
61 RenderView* render_view_;
62
63 // The controller_ is valid for the lifetime of the underlying
64 // WebCore::GeolocationController. geolocationDestroyed() is
65 // invoked when the underlying object is destroyed.
66 scoped_ptr< WebKit::WebGeolocationController> controller_;
67
68 scoped_ptr<WebKit::WebGeolocationPermissionRequestManager>
69 pending_permissions_;
70 bool enable_high_accuracy_;
71 bool updating_;
72 };
73 #endif // ENABLE_CLIENT_BASED_GEOLOCATION
74
75 #endif // CHROME_RENDERER_GEOLOCATION_DISPATCHER_H_
OLDNEW
« no previous file with comments | « chrome/chrome_renderer.gypi ('k') | chrome/renderer/geolocation_dispatcher.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698