Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / Source / web / GeolocationClientProxy.h
index 4fa9711..e6e9b9d 100644 (file)
 #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