2010-08-18 Sheriff Bot <webkit.review.bot@gmail.com>
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 18 Aug 2010 16:09:12 +0000 (16:09 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 18 Aug 2010 16:09:12 +0000 (16:09 +0000)
        Unreviewed, rolling out r65603.
        http://trac.webkit.org/changeset/65603
        https://bugs.webkit.org/show_bug.cgi?id=44179

        4 tests crash on Qt bot (Requested by Ossy on #webkit).

        * WebCore.pro:
        * page/Geolocation.cpp:
        (WebCore::Geolocation::handlePendingPermissionNotifiers):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@65611 268f45cc-cd09-0410-ab3c-d52691b4dbfc

WebCore/ChangeLog
WebCore/WebCore.pro
WebCore/page/Geolocation.cpp

index 9c5577e..f9d9474 100644 (file)
@@ -1,3 +1,15 @@
+2010-08-18  Sheriff Bot  <webkit.review.bot@gmail.com>
+
+        Unreviewed, rolling out r65603.
+        http://trac.webkit.org/changeset/65603
+        https://bugs.webkit.org/show_bug.cgi?id=44179
+
+        4 tests crash on Qt bot (Requested by Ossy on #webkit).
+
+        * WebCore.pro:
+        * page/Geolocation.cpp:
+        (WebCore::Geolocation::handlePendingPermissionNotifiers):
+
 2010-08-18  Ryuan Choi  <ryuan.choi@samsung.com>
 
         Unreviewed.  Attempted build fix for EFL
index d31b1f2..7118e4c 100644 (file)
@@ -2796,7 +2796,6 @@ contains(DEFINES, ENABLE_QT_BEARER=1) {
 }
 
 contains(DEFINES, ENABLE_GEOLOCATION=1) {
-    DEFINES += WTF_USE_PREEMPT_GEOLOCATION_PERMISSION
     HEADERS += \
         platform/qt/GeolocationServiceQt.h
     SOURCES += \
index 57ad963..fd10f27 100644 (file)
@@ -678,6 +678,14 @@ 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();
@@ -687,10 +695,12 @@ 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 (startUpdating(notifier))
-                notifier->startTimerIfNeeded();
-            else
-                notifier->setFatalError(PositionError::create(PositionError::POSITION_UNAVAILABLE, failedToStartServiceErrorMessage));
+#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
         } else
             notifier->setFatalError(PositionError::create(PositionError::PERMISSION_DENIED, permissionDeniedErrorMessage));
     }