GEOLOCATION should be implemented as Page Supplement
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 29 Mar 2012 18:32:32 +0000 (18:32 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 29 Mar 2012 18:32:32 +0000 (18:32 +0000)
commitf85da7b3a2061785507ee4ee2b198d8e7a39644a
tree0c519b28c44db7b020c69c41517cde12c67211a3
parent7fbb788bc43b78b4a52dca88a98372bca545fcd1
GEOLOCATION should be implemented as Page Supplement
https://bugs.webkit.org/show_bug.cgi?id=82228

Patch by Mark Pilgrim <pilgrim@chromium.org> on 2012-03-29
Reviewed by Adam Barth.

Source/WebCore:

Geolocation now uses the Supplement interface instead of
keeping an instance variable on Page. This allows us to
remove all geolocation-related functions, variables, and
ifdefs out of Page and into Modules/geolocation/.

* Modules/geolocation/Geolocation.cpp:
(WebCore::Geolocation::stop):
(WebCore::Geolocation::lastPosition):
(WebCore::Geolocation::requestPermission):
(WebCore::Geolocation::startUpdating):
(WebCore::Geolocation::stopUpdating):
* Modules/geolocation/Geolocation.h:
(WebCore):
* Modules/geolocation/GeolocationController.cpp:
(WebCore::GeolocationController::supplementName):
(WebCore):
(WebCore::provideGeolocationTo):
* Modules/geolocation/GeolocationController.h:
(GeolocationController):
(WebCore::GeolocationController::from):
* WebCore.exp.in:
* page/GeolocationClient.h:
(WebCore):
(GeolocationClient):
* page/Page.cpp:
(WebCore::Page::Page):
(WebCore::Page::PageClients::PageClients):
* page/Page.h:
(WebCore):
(PageClients):
(Page):

Source/WebKit/blackberry:

Geolocation is now a Supplement in Page so the interface
has changed for setting up the page's geolocation client
initially and accessing the controller later.

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
(BlackBerry::WebKit::WebPagePrivate::init):
* WebCoreSupport/GeolocationControllerClientBlackBerry.cpp:
(GeolocationControllerClientBlackBerry::onLocationUpdate):
(GeolocationControllerClientBlackBerry::onLocationError):
* WebKitSupport/DumpRenderTreeSupport.cpp:
(DumpRenderTreeSupport::numberOfPendingGeolocationPermissionRequests):
(DumpRenderTreeSupport::resetGeolocationMock):
(DumpRenderTreeSupport::setMockGeolocationError):
(DumpRenderTreeSupport::setMockGeolocationPermission):
(DumpRenderTreeSupport::setMockGeolocationPosition):

Source/WebKit/chromium:

Geolocation is now a Supplement in Page so the interface
has changed for setting up the page's geolocation client
initially and accessing the controller later.

* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::WebViewImpl):

Source/WebKit/gtk:

Geolocation is now a Supplement in Page so the interface
has changed for setting up the page's geolocation client
initially and accessing the controller later.

* WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
(DumpRenderTreeSupportGtk::resetGeolocationClientMock):
(DumpRenderTreeSupportGtk::setMockGeolocationPermission):
(DumpRenderTreeSupportGtk::setMockGeolocationPosition):
(DumpRenderTreeSupportGtk::setMockGeolocationError):
(DumpRenderTreeSupportGtk::numberOfPendingGeolocationPermissionRequests):
* WebCoreSupport/GeolocationClientGtk.cpp:
(WebKit::GeolocationClient::updatePosition):
(WebKit::GeolocationClient::errorOccured):
* webkit/webkitwebview.cpp:
(webkit_web_view_init):

Source/WebKit/mac:

Geolocation is now a Supplement in Page so the interface
has changed for setting up the page's geolocation client
initially and accessing the controller later.

* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]):
(-[WebView _geolocationDidChangePosition:]):
(-[WebView _geolocationDidFailWithError:]):

Source/WebKit/qt:

Geolocation is now a Supplement in Page so the interface
has changed for setting up the page's geolocation client
initially and accessing the controller later.

* Api/qwebpage.cpp:
(QWebPagePrivate::QWebPagePrivate):
* WebCoreSupport/DumpRenderTreeSupportQt.cpp:
(DumpRenderTreeSupportQt::resetGeolocationMock):
(DumpRenderTreeSupportQt::setMockGeolocationPermission):
(DumpRenderTreeSupportQt::setMockGeolocationPosition):
(DumpRenderTreeSupportQt::setMockGeolocationError):
(DumpRenderTreeSupportQt::numberOfPendingGeolocationPermissionRequests):
* WebCoreSupport/GeolocationClientQt.cpp:
(WebCore::GeolocationClientQt::positionUpdated):
(WebCore::GeolocationClientQt::startUpdating):

Source/WebKit/win:

Geolocation is now a Supplement in Page so the interface
has changed for setting up the page's geolocation client
initially and accessing the controller later.

* WebView.cpp:
(WebView::initWithFrame):
(WebView::geolocationDidChangePosition):
(WebView::geolocationDidFailWithError):

Source/WebKit2:

Geolocation is now a Supplement in Page so the interface
has changed for setting up the page's geolocation client
initially and accessing the controller later.

* WebProcess/Geolocation/WebGeolocationManager.cpp:
(WebKit::WebGeolocationManager::didChangePosition):
(WebKit::WebGeolocationManager::didFailToDeterminePosition):
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::setGeoLocationPermission):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112553 268f45cc-cd09-0410-ab3c-d52691b4dbfc
31 files changed:
Source/WebCore/ChangeLog
Source/WebCore/Modules/geolocation/Geolocation.cpp
Source/WebCore/Modules/geolocation/Geolocation.h
Source/WebCore/Modules/geolocation/GeolocationController.cpp
Source/WebCore/Modules/geolocation/GeolocationController.h
Source/WebCore/WebCore.exp.in
Source/WebCore/page/GeolocationClient.h
Source/WebCore/page/Page.cpp
Source/WebCore/page/Page.h
Source/WebKit/blackberry/Api/WebPage.cpp
Source/WebKit/blackberry/ChangeLog
Source/WebKit/blackberry/WebCoreSupport/GeolocationControllerClientBlackBerry.cpp
Source/WebKit/blackberry/WebKitSupport/DumpRenderTreeSupport.cpp
Source/WebKit/chromium/ChangeLog
Source/WebKit/chromium/src/WebViewImpl.cpp
Source/WebKit/gtk/ChangeLog
Source/WebKit/gtk/WebCoreSupport/DumpRenderTreeSupportGtk.cpp
Source/WebKit/gtk/WebCoreSupport/GeolocationClientGtk.cpp
Source/WebKit/gtk/webkit/webkitwebview.cpp
Source/WebKit/mac/ChangeLog
Source/WebKit/mac/WebView/WebView.mm
Source/WebKit/qt/Api/qwebpage.cpp
Source/WebKit/qt/ChangeLog
Source/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.cpp
Source/WebKit/qt/WebCoreSupport/GeolocationClientQt.cpp
Source/WebKit/win/ChangeLog
Source/WebKit/win/WebView.cpp
Source/WebKit2/ChangeLog
Source/WebKit2/WebProcess/Geolocation/WebGeolocationManager.cpp
Source/WebKit2/WebProcess/InjectedBundle/InjectedBundle.cpp
Source/WebKit2/WebProcess/WebPage/WebPage.cpp