12009-10-06 Steve Block <steveblock@google.com>
2
3 Reviewed by NOBODY (OOPS!).
4
5 Geolocation should be refactored to use a single map to store all notifiers.
6 https://bugs.webkit.org/show_bug.cgi?id=29178
7
8 * page/Geolocation.cpp: Modified.
9 (WebCore::Geolocation::GeoNotifier::GeoNotifier): Modified. Takes request ID as argument.
10 (WebCore::Geolocation::GeoNotifier::timerFired): Modified. Uses request ID as argument to requestTimedOut.
11 (WebCore::Geolocation::getCurrentPosition): Modified. Moved common logic to startRequest.
12 (WebCore::Geolocation::watchPosition): Modified. Moved common logic to startRequest.
13 (WebCore::Geolocation::startRequest): Added. Starts a one-shot or watch request.
14 (WebCore::Geolocation::requestTimedOut): Modified. Takes request ID as argument.
15 (WebCore::Geolocation::clearWatch): Modified. Uses single map for all requests.
16 (WebCore::Geolocation::stopTimers): Modified. Uses single map for all requests.
17 (WebCore::Geolocation::handleError): Modified. Uses single map for all requests.
18 (WebCore::Geolocation::makeSuccessCallbacks): Modified. Uses single map for all requests.
19 (WebCore::Geolocation::clearOneShots): Added. Removes one-shot requests.
20 (WebCore::Geolocation::isOneShotRequest): Added. Determines whether a request ID refers to a one-shot request.
21 * page/Geolocation.h: Modified.
22 (WebCore::Geolocation::GeoNotifier::create): Modified. Takes request ID as argument.
23 (WebCore::Geolocation::hasListeners): Modified. Uses single map for all requests.
24