diff options
Diffstat (limited to 'WebCore/page')
-rw-r--r-- | WebCore/page/Geolocation.cpp | 17 | ||||
-rw-r--r-- | WebCore/page/Geolocation.h | 4 |
2 files changed, 21 insertions, 0 deletions
diff --git a/WebCore/page/Geolocation.cpp b/WebCore/page/Geolocation.cpp index 7dcf0a1..13bc02a 100644 --- a/WebCore/page/Geolocation.cpp +++ b/WebCore/page/Geolocation.cpp @@ -221,12 +221,25 @@ Geolocation::~Geolocation() { } +#if PLATFORM(ANDROID) +void Geolocation::stop() +{ + m_oneShots.clear(); + m_watchers.clear(); + stopUpdating(); +} +#endif // PLATFORM(ANDROID) + void Geolocation::disconnectFrame() { if (m_frame && m_frame->page() && m_allowGeolocation == InProgress) m_frame->page()->chrome()->cancelGeolocationPermissionRequestForFrame(m_frame, this); +#if PLATFORM(ANDROID) + // See Geolocation::stop() +#else stopTimers(); stopUpdating(); +#endif // PLATFORM(ANDROID) if (m_frame && m_frame->document()) m_frame->document()->setUsingGeolocation(false); m_frame = 0; @@ -683,6 +696,10 @@ Geolocation::~Geolocation() {} void Geolocation::setIsAllowed(bool) {} +#if PLATFORM(ANDROID) +void Geolocation::stop() {} +#endif // PLATFORM(ANDROID) + } #endif // ENABLE(GEOLOCATION) diff --git a/WebCore/page/Geolocation.h b/WebCore/page/Geolocation.h index 1d0050f..fcb967f 100644 --- a/WebCore/page/Geolocation.h +++ b/WebCore/page/Geolocation.h @@ -65,6 +65,10 @@ public: void suspend(); void resume(); +#if PLATFORM(ANDROID) + void stop(); +#endif // PLATFORM(ANDROID) + void setIsAllowed(bool); Frame* frame() const { return m_frame; } |