From 6ec35b5193c8823619ca625038d0455fa1426ece Mon Sep 17 00:00:00 2001 From: Steve Block Date: Thu, 6 Aug 2009 11:43:02 +0100 Subject: Fixes a couple of bugs in the Geolocation permissions manager. --- WebKit/android/WebCoreSupport/GeolocationPermissions.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'WebKit') 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) -- cgit v1.1