summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteve Block <steveblock@google.com>2009-08-06 11:43:02 +0100
committerSteve Block <steveblock@google.com>2009-08-06 13:23:10 +0100
commit6ec35b5193c8823619ca625038d0455fa1426ece (patch)
treeda128b40e14a1e88be00ffa62fd19c03b361ea3a
parentcc42ddfc59bb9fa5aa3b916a27f682fa6fb128a0 (diff)
downloadexternal_webkit-6ec35b5193c8823619ca625038d0455fa1426ece.zip
external_webkit-6ec35b5193c8823619ca625038d0455fa1426ece.tar.gz
external_webkit-6ec35b5193c8823619ca625038d0455fa1426ece.tar.bz2
Fixes a couple of bugs in the Geolocation permissions manager.
-rwxr-xr-xWebKit/android/WebCoreSupport/GeolocationPermissions.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/WebKit/android/WebCoreSupport/GeolocationPermissions.cpp b/WebKit/android/WebCoreSupport/GeolocationPermissions.cpp
index 452990e..ca84f17 100755
--- a/WebKit/android/WebCoreSupport/GeolocationPermissions.cpp
+++ b/WebKit/android/WebCoreSupport/GeolocationPermissions.cpp
@@ -99,7 +99,7 @@ void GeolocationPermissions::queryPermissionState(Frame* frame)
// If the request in progress is not for this origin, queue this request.
if ((m_originInProgress != originString)
- && (m_queuedOrigins.find(originString) != WTF::notFound))
+ && (m_queuedOrigins.find(originString) == WTF::notFound))
m_queuedOrigins.append(originString);
}
@@ -128,14 +128,15 @@ void GeolocationPermissions::providePermissionState(String origin, bool allow, b
if (remember)
cancelPendingRequestsInOtherTabs(m_originInProgress);
+ // Clear the origin in progress to signal that this request is done.
+ m_originInProgress = "";
+
// If there are other requests queued, start the next one.
if (!m_queuedOrigins.isEmpty()) {
m_originInProgress = m_queuedOrigins.first();
m_queuedOrigins.remove(0);
m_webViewCore->geolocationPermissionsShowPrompt(m_originInProgress);
}
-
- m_originInProgress = "";
}
void GeolocationPermissions::recordPermissionState(String origin, bool allow, bool remember)