#ifndef GeolocationClientProxy_h
#define GeolocationClientProxy_h
-#include "WebGeolocationController.h"
#include "modules/geolocation/GeolocationClient.h"
-#include "wtf/RefPtr.h"
+#include "platform/heap/Handle.h"
+#include "public/web/WebGeolocationController.h"
-namespace WebCore {
-class GeolocationPosition;
-}
+namespace blink {
-namespace WebKit {
+class GeolocationPosition;
class WebGeolocationClient;
-class GeolocationClientProxy : public WebCore::GeolocationClient {
+class GeolocationClientProxy FINAL : public GeolocationClient {
public:
- GeolocationClientProxy(WebGeolocationClient* client);
- ~GeolocationClientProxy();
- void setController(WebCore::GeolocationController *controller);
- virtual void geolocationDestroyed();
- virtual void startUpdating();
- virtual void stopUpdating();
- virtual void setEnableHighAccuracy(bool);
- virtual WebCore::GeolocationPosition* lastPosition();
-
- virtual void requestPermission(WebCore::Geolocation*);
- virtual void cancelPermissionRequest(WebCore::Geolocation*);
+ static PassOwnPtrWillBeRawPtr<GeolocationClientProxy> create(WebGeolocationClient* client)
+ {
+ return adoptPtrWillBeNoop(new GeolocationClientProxy(client));
+ }
+
+ virtual ~GeolocationClientProxy();
+ void setController(GeolocationController*);
+ virtual void startUpdating() OVERRIDE;
+ virtual void stopUpdating() OVERRIDE;
+ virtual void setEnableHighAccuracy(bool) OVERRIDE;
+ virtual GeolocationPosition* lastPosition() OVERRIDE;
+
+ virtual void requestPermission(Geolocation*) OVERRIDE;
+ virtual void cancelPermissionRequest(Geolocation*) OVERRIDE;
+
+ virtual void trace(Visitor*) OVERRIDE;
private:
+ explicit GeolocationClientProxy(WebGeolocationClient*);
+
WebGeolocationClient* m_client;
- RefPtr<WebCore::GeolocationPosition> m_lastPosition;
+ PersistentWillBeMember<GeolocationPosition> m_lastPosition;
};
-} // namespace WebKit
+} // namespace blink
#endif // GeolocationClientProxy_h