diff options
author | Steve Block <steveblock@google.com> | 2010-05-18 15:17:44 +0100 |
---|---|---|
committer | Steve Block <steveblock@google.com> | 2010-05-18 15:17:44 +0100 |
commit | 0394c84380567e7a4b3cee843340a3529eb73be1 (patch) | |
tree | 80e2d08aa0be28b07e922ad64af1903125ee9b84 /WebCore | |
parent | 4cd028871582a7f15f06fa772e65aa2f76e4e0d5 (diff) | |
download | external_webkit-0394c84380567e7a4b3cee843340a3529eb73be1.zip external_webkit-0394c84380567e7a4b3cee843340a3529eb73be1.tar.gz external_webkit-0394c84380567e7a4b3cee843340a3529eb73be1.tar.bz2 |
Make sure Geolocation is robust to location providers being absent on the device.
Bug: 2692830
Change-Id: Ib6395a04ec916a04cdd3a09569c4ea373fb422e9
Diffstat (limited to 'WebCore')
-rw-r--r-- | WebCore/platform/android/GeolocationServiceAndroid.cpp | 2 | ||||
-rw-r--r-- | WebCore/platform/android/GeolocationServiceBridge.cpp | 8 | ||||
-rw-r--r-- | WebCore/platform/android/GeolocationServiceBridge.h | 2 |
3 files changed, 6 insertions, 6 deletions
diff --git a/WebCore/platform/android/GeolocationServiceAndroid.cpp b/WebCore/platform/android/GeolocationServiceAndroid.cpp index 7f7d58e..12a9098 100644 --- a/WebCore/platform/android/GeolocationServiceAndroid.cpp +++ b/WebCore/platform/android/GeolocationServiceAndroid.cpp @@ -96,7 +96,7 @@ bool GeolocationServiceAndroid::startUpdating(PositionOptions* options, bool sus // ANDROID // TODO: Upstream to webkit.org. See https://bugs.webkit.org/show_bug.cgi?id=34082 if (!suspend) - m_javaBridge->start(); + return m_javaBridge->start(); } return true; diff --git a/WebCore/platform/android/GeolocationServiceBridge.cpp b/WebCore/platform/android/GeolocationServiceBridge.cpp index a30d2e6..be68193 100644 --- a/WebCore/platform/android/GeolocationServiceBridge.cpp +++ b/WebCore/platform/android/GeolocationServiceBridge.cpp @@ -84,11 +84,11 @@ GeolocationServiceBridge::~GeolocationServiceBridge() stopJavaImplementation(); } -void GeolocationServiceBridge::start() +bool GeolocationServiceBridge::start() { ASSERT(m_javaGeolocationServiceObject); - getJNIEnv()->CallVoidMethod(m_javaGeolocationServiceObject, - javaGeolocationServiceClassMethodIDs[GeolocationServiceMethodStart]); + return getJNIEnv()->CallBooleanMethod(m_javaGeolocationServiceObject, + javaGeolocationServiceClassMethodIDs[GeolocationServiceMethodStart]); } void GeolocationServiceBridge::stop() @@ -177,7 +177,7 @@ void GeolocationServiceBridge::startJavaImplementation() javaGeolocationServiceClassMethodIDs[GeolocationServiceMethodInit] = env->GetMethodID(javaGeolocationServiceClass, "<init>", "(J)V"); javaGeolocationServiceClassMethodIDs[GeolocationServiceMethodStart] = - env->GetMethodID(javaGeolocationServiceClass, "start", "()V"); + env->GetMethodID(javaGeolocationServiceClass, "start", "()Z"); javaGeolocationServiceClassMethodIDs[GeolocationServiceMethodStop] = env->GetMethodID(javaGeolocationServiceClass, "stop", "()V"); javaGeolocationServiceClassMethodIDs[GeolocationServiceMethodSetEnableGps] = diff --git a/WebCore/platform/android/GeolocationServiceBridge.h b/WebCore/platform/android/GeolocationServiceBridge.h index 6cf9ead..5d26142 100644 --- a/WebCore/platform/android/GeolocationServiceBridge.h +++ b/WebCore/platform/android/GeolocationServiceBridge.h @@ -43,7 +43,7 @@ public: GeolocationServiceBridge(ListenerInterface* listener); ~GeolocationServiceBridge(); - void start(); + bool start(); void stop(); void setEnableGps(bool enable); |