[SCM] WebKit Debian packaging branch, webkit-1.1, updated. upstream/1.1.19-706-ge5415e9

sfalken at apple.com sfalken at apple.com
Thu Feb 4 21:33:09 UTC 2010


The following commit has been merged in the webkit-1.1 branch:
commit 8de3d26101371f5e1199e0c9e75a878b73e3c515
Author: sfalken at apple.com <sfalken at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Sat Jan 30 03:04:06 2010 +0000

    2010-01-29  Steve Falkenburg  <sfalken at apple.com>
    
            Reviewed by Darin Adler.
    
            Timeout for client-based Geolocation shouldn't start until user gives consent
            https://bugs.webkit.org/show_bug.cgi?id=34352
    
            * page/Geolocation.cpp:
            (WebCore::Geolocation::startRequest): Don't start timer if we're blocked on user consent.
            (WebCore::Geolocation::setIsAllowed): Start timer after user gives consent.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@54096 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index bc57258..4ded7d4 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,14 @@
+2010-01-29  Steve Falkenburg  <sfalken at apple.com>
+
+        Reviewed by Darin Adler.
+
+        Timeout for client-based Geolocation shouldn't start until user gives consent
+        https://bugs.webkit.org/show_bug.cgi?id=34352
+
+        * page/Geolocation.cpp:
+        (WebCore::Geolocation::startRequest): Don't start timer if we're blocked on user consent.
+        (WebCore::Geolocation::setIsAllowed): Start timer after user gives consent.
+
 2010-01-29  Chris Marrin  <cmarrin at apple.com>
 
         Reviewed by Simon Fraser.
diff --git a/WebCore/page/Geolocation.cpp b/WebCore/page/Geolocation.cpp
index d344744..e6af542 100644
--- a/WebCore/page/Geolocation.cpp
+++ b/WebCore/page/Geolocation.cpp
@@ -245,9 +245,13 @@ PassRefPtr<Geolocation::GeoNotifier> Geolocation::startRequest(PassRefPtr<Positi
     if (isDenied())
         notifier->setFatalError(PositionError::create(PositionError::PERMISSION_DENIED, permissionDeniedErrorMessage));
     else {
-        if (notifier->hasZeroTimeout() || startUpdating(notifier.get()))
-            notifier->startTimerIfNeeded();
-        else
+        if (notifier->hasZeroTimeout() || startUpdating(notifier.get())) {
+#if ENABLE(CLIENT_BASED_GEOLOCATION)
+            // Only start timer if we're not waiting for user permission.
+            if (!m_startRequestPermissionNotifier)
+#endif            
+                notifier->startTimerIfNeeded();
+        } else
             notifier->setFatalError(PositionError::create(PositionError::POSITION_UNAVAILABLE, "Failed to start Geolocation service"));
     }
 
@@ -305,6 +309,7 @@ void Geolocation::setIsAllowed(bool allowed)
     if (m_startRequestPermissionNotifier) {
         if (isAllowed()) {
             // Permission request was made during the startUpdating process
+            m_startRequestPermissionNotifier->startTimerIfNeeded();
             m_startRequestPermissionNotifier = 0;
             if (!m_frame)
                 return;

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list