Index: third_party/WebKit/public/web/WebGeolocationController.h |
diff --git a/third_party/WebKit/public/web/WebGeolocationController.h b/third_party/WebKit/public/web/WebGeolocationController.h |
index 13e375727db9e7a5b56df0aa42f38761eae85cbc..36fb3691901fb165aa3d4cbbdb5d9d5f80a132a4 100644 |
--- a/third_party/WebKit/public/web/WebGeolocationController.h |
+++ b/third_party/WebKit/public/web/WebGeolocationController.h |
@@ -28,25 +28,24 @@ |
#include "../platform/WebCommon.h" |
#include "../platform/WebNonCopyable.h" |
+#include "../platform/WebPrivatePtr.h" |
namespace blink { |
class GeolocationController; |
+class GeolocationControllerPrivate; |
class WebGeolocationPosition; |
class WebGeolocationError; |
class WebGeolocationController : public WebNonCopyable { |
public: |
+ ~WebGeolocationController() { reset(); } |
+ |
BLINK_EXPORT void positionChanged(const WebGeolocationPosition&); |
BLINK_EXPORT void errorOccurred(const WebGeolocationError&); |
#if BLINK_IMPLEMENTATION |
- WebGeolocationController(GeolocationController* c) |
- : m_private(c) |
- { |
- } |
- |
- GeolocationController* controller() const { return m_private; } |
+ WebGeolocationController(GeolocationController*); |
#endif |
private: |
@@ -54,9 +53,9 @@ private: |
// can be created by the consumers of Chromium WebKit. |
WebGeolocationController(); |
- // This bare pointer is owned and kept alive by the frame of the |
- // WebLocalFrame which creates this controller object. |
- GeolocationController* m_private; |
+ BLINK_EXPORT void reset(); |
+ |
+ WebPrivatePtr<GeolocationControllerPrivate> m_private; |
}; |
} // namespace blink |