[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc

commit-queue at webkit.org commit-queue at webkit.org
Wed Dec 22 12:17:26 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit 70346ca3e2b13511513e2a3fc27f243d0bdf5daf
Author: commit-queue at webkit.org <commit-queue at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Wed Aug 18 12:36:33 2010 +0000

    2010-08-18  Mahesh Kulkarni  <mahesh.kulkarni at nokia.com>
    
            Reviewed by Steve Block.
    
            [Qt] Request for permission before starting Geolocation service
            https://bugs.webkit.org/show_bug.cgi?id=42027
    
            Handles starting location acquisition when request is granted for ports using
            "!CLIENT_BASED_GEOLOCATION and PREEMPT_GEOLOCATION_PERMISSION" policy
            Only Qt port as of today uses the above combination. Enable
            PREEMPT_GEOLOCATION_PERMISSION for qt port.
    
            Below tests cover these changes on platform using PREEMPT_GEOLOCATION_PERMISSION
            - fast/dom/Geolocation/delayed-permission-allowed.html
            - fast/dom/Geolocation/delayed-permission-denied.html
            - fast/dom/Geolocation/delayed-permission-allowed-for-multiple-requests.html
            - fast/dom/Geolocation/delayed-permission-denied-for-multiple-requests.html
    
            * WebCore.pro:
            * page/Geolocation.cpp:
            (WebCore::Geolocation::handlePendingPermissionNotifiers):
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@65603 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 2f2bae8..21a2598 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,25 @@
+2010-08-18  Mahesh Kulkarni  <mahesh.kulkarni at nokia.com>
+
+        Reviewed by Steve Block.
+
+        [Qt] Request for permission before starting Geolocation service
+        https://bugs.webkit.org/show_bug.cgi?id=42027
+
+        Handles starting location acquisition when request is granted for ports using 
+        "!CLIENT_BASED_GEOLOCATION and PREEMPT_GEOLOCATION_PERMISSION" policy
+        Only Qt port as of today uses the above combination. Enable 
+        PREEMPT_GEOLOCATION_PERMISSION for qt port. 
+
+        Below tests cover these changes on platform using PREEMPT_GEOLOCATION_PERMISSION
+        - fast/dom/Geolocation/delayed-permission-allowed.html
+        - fast/dom/Geolocation/delayed-permission-denied.html
+        - fast/dom/Geolocation/delayed-permission-allowed-for-multiple-requests.html
+        - fast/dom/Geolocation/delayed-permission-denied-for-multiple-requests.html
+
+        * WebCore.pro:
+        * page/Geolocation.cpp:
+        (WebCore::Geolocation::handlePendingPermissionNotifiers):
+
 2010-08-18  Sheriff Bot  <webkit.review.bot at gmail.com>
 
         Unreviewed, rolling out r65595.
diff --git a/WebCore/WebCore.pro b/WebCore/WebCore.pro
index 3e2efea..e434a4e 100644
--- a/WebCore/WebCore.pro
+++ b/WebCore/WebCore.pro
@@ -2796,6 +2796,7 @@ contains(DEFINES, ENABLE_QT_BEARER=1) {
 }
 
 contains(DEFINES, ENABLE_GEOLOCATION=1) {
+    DEFINES += WTF_USE_PREEMPT_GEOLOCATION_PERMISSION
     HEADERS += \
         platform/qt/GeolocationServiceQt.h
     SOURCES += \
diff --git a/WebCore/page/Geolocation.cpp b/WebCore/page/Geolocation.cpp
index fd10f27..57ad963 100644
--- a/WebCore/page/Geolocation.cpp
+++ b/WebCore/page/Geolocation.cpp
@@ -678,14 +678,6 @@ void Geolocation::stopUpdating()
 #if USE(PREEMPT_GEOLOCATION_PERMISSION)
 void Geolocation::handlePendingPermissionNotifiers()
 {
-#if ENABLE(CLIENT_BASED_GEOLOCATION)
-    if (!m_frame)
-        return;
-    Page* page = m_frame->page();
-    if (!page)
-        return;
-#endif
-
     // While we iterate through the list, we need not worry about list being modified as the permission 
     // is already set to Yes/No and no new listeners will be added to the pending list
     GeoNotifierSet::const_iterator end = m_pendingForPermissionNotifiers.end();
@@ -695,12 +687,10 @@ void Geolocation::handlePendingPermissionNotifiers()
         if (isAllowed()) {
             // start all pending notification requests as permission granted.
             // The notifier is always ref'ed by m_oneShots or m_watchers.
-#if ENABLE(CLIENT_BASED_GEOLOCATION)
-            notifier->startTimerIfNeeded();
-            page->geolocationController()->addObserver(this, notifier->m_options->enableHighAccuracy());
-#else
-            // TODO: Handle startUpdate() for non-client based implementations using pre-emptive policy
-#endif
+            if (startUpdating(notifier))
+                notifier->startTimerIfNeeded();
+            else
+                notifier->setFatalError(PositionError::create(PositionError::POSITION_UNAVAILABLE, failedToStartServiceErrorMessage));
         } else
             notifier->setFatalError(PositionError::create(PositionError::PERMISSION_DENIED, permissionDeniedErrorMessage));
     }

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list