2009-03-13 Greg Bolsinga <bolsinga@apple.com>
Reviewed by Simon Fraser.
Update Geolocation perimission dialogs to be asynchronous.
https://bugs.webkit.org/show_bug.cgi?id=24505
WebGeolocation is a wrapper around WebCore::Geolocation. It mimics the
coding style set by WebSecurityOrigin.
WebChromeClient now calls the private UI delegate method
-webView:frame:requestGeolocationPermission:securityOrigin:
* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::requestGeolocationPermissionForFrame):
* WebCoreSupport/WebGeolocation.mm: Added.
(WebCore::if):
(-[WebGeolocation shouldClearCache]):
(-[WebGeolocation setIsAllowed:]):
(-[WebGeolocation dealloc]):
* WebCoreSupport/WebGeolocationInternal.h: Added.
* WebCoreSupport/WebGeolocationPrivate.h: Added.
* WebView/WebUIDelegatePrivate.h:
2009-03-13 Greg Bolsinga <bolsinga@apple.com>
Reviewed by Simon Fraser.
Update Geolocation perimission dialogs to be asynchronous.
https://bugs.webkit.org/show_bug.cgi?id=24505
Add WebGeolocation, a wrapper around WebCore::Geolocation. It mimics the
coding style set by WebSecurityOrigin.
* WebKit.xcodeproj/project.pbxproj:
2009-03-13 Greg Bolsinga <bolsinga@apple.com>
Reviewed by Simon Fraser.
Update Geolocation perimission dialogs to be asynchronous.
https://bugs.webkit.org/show_bug.cgi?id=24505
Geolocation now requests permission from the Chrome asynchronously.
The Chrome is passed the Geolocation object, and the Chrome sets the permission
on the Geolocation. Geolocation also tracks if the Chrome should clear its cache
of SecurityOrigins with geolocation permission. This is so that the GeolocationService
can inform the Chrome of its request, and the Chrome is also free to implement its
own policy.
* WebCore.base.exp:
* WebCore.xcodeproj/project.pbxproj:
* page/Chrome.cpp:
(WebCore::Chrome::requestGeolocationPermissionForFrame):
* page/Chrome.h:
* page/ChromeClient.h:
(WebCore::ChromeClient::requestGeolocationPermissionForFrame):
* page/Geolocation.cpp:
(WebCore::Geolocation::Geolocation):
(WebCore::Geolocation::getCurrentPosition):
(WebCore::Geolocation::watchPosition):
(WebCore::Geolocation::setIsAllowed):
(WebCore::Geolocation::displayChallengeIfNecessary):
(WebCore::Geolocation::geolocationServicePositionChanged):
* page/Geolocation.h:
(WebCore::Geolocation::isAllowed):
(WebCore::Geolocation::setShouldClearCache):
(WebCore::Geolocation::shouldClearCache):
(WebCore::Geolocation::):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41675
268f45cc-cd09-0410-ab3c-
d52691b4dbfc