diff options
author | Steve Block <steveblock@google.com> | 2010-03-09 21:24:23 +0000 |
---|---|---|
committer | Steve Block <steveblock@google.com> | 2010-03-09 21:24:23 +0000 |
commit | b9362877ccf9e5f8027f12898166d56518bbedb6 (patch) | |
tree | 3f4182f1613ef2f135f86efbd4877d2d97b68305 /WebCore | |
parent | 7d67a82337a9bcfb3e00791b15af51ff6c720f04 (diff) | |
download | external_webkit-b9362877ccf9e5f8027f12898166d56518bbedb6.zip external_webkit-b9362877ccf9e5f8027f12898166d56518bbedb6.tar.gz external_webkit-b9362877ccf9e5f8027f12898166d56518bbedb6.tar.bz2 |
When starting the Geolocation service, we need to make sure that we have a valid FrameView before querying the Java side to determine whether the WebView is paused.
Bug: 2501254
Change-Id: Ideb86ce4c35efb7bc7595c4205dc1e8d5c1cf106
Diffstat (limited to 'WebCore')
-rw-r--r-- | WebCore/page/Geolocation.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/WebCore/page/Geolocation.cpp b/WebCore/page/Geolocation.cpp index faa8f86..d021f7b 100644 --- a/WebCore/page/Geolocation.cpp +++ b/WebCore/page/Geolocation.cpp @@ -650,7 +650,12 @@ bool Geolocation::startUpdating(GeoNotifier* notifier) // TODO: Upstream to webkit.org. See https://bugs.webkit.org/show_bug.cgi?id=34082 // Note that the correct fix is to use a 'paused' flag in WebCore, rather // than calling into PlatformBridge. - return m_service->startUpdating(notifier->m_options.get(), PlatformBridge::isWebViewPaused(m_frame->view())); + if (!m_frame) + return false; + FrameView* view = m_frame->view(); + if (!view) + return false; + return m_service->startUpdating(notifier->m_options.get(), PlatformBridge::isWebViewPaused(view)); #else return m_service->startUpdating(notifier->m_options.get()); #endif |