equal
deleted
inserted
replaced
43 class GeolocationController : public Noncopyable { |
43 class GeolocationController : public Noncopyable { |
44 public: |
44 public: |
45 GeolocationController(Page*, GeolocationControllerClient*); |
45 GeolocationController(Page*, GeolocationControllerClient*); |
46 ~GeolocationController(); |
46 ~GeolocationController(); |
47 |
47 |
48 void addObserver(Geolocation*); |
48 void addObserver(Geolocation*, bool enableHighAccuracy); |
49 void removeObserver(Geolocation*); |
49 void removeObserver(Geolocation*); |
50 |
50 |
51 void positionChanged(GeolocationPosition*); |
51 void positionChanged(GeolocationPosition*); |
52 void errorOccurred(GeolocationError*); |
52 void errorOccurred(GeolocationError*); |
53 |
53 |
56 private: |
56 private: |
57 Page* m_page; |
57 Page* m_page; |
58 GeolocationControllerClient* m_client; |
58 GeolocationControllerClient* m_client; |
59 |
59 |
60 RefPtr<GeolocationPosition> m_lastPosition; |
60 RefPtr<GeolocationPosition> m_lastPosition; |
61 HashSet<RefPtr<Geolocation> > m_observers; |
61 typedef HashSet<RefPtr<Geolocation> > ObserversSet; |
|
62 // All observers; both those requesting high accuracy and those not. |
|
63 ObserversSet m_observers; |
|
64 ObserversSet m_highAccuracyObservers; |
62 }; |
65 }; |
63 |
66 |
64 } // namespace WebCore |
67 } // namespace WebCore |
65 |
68 |
66 #endif // ENABLE(CLIENT_BASED_GEOLOCATION) |
69 #endif // ENABLE(CLIENT_BASED_GEOLOCATION) |