[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