[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