OSDN Git Service

Merge webkit.org at r54127 : Resolve Geolocation conflicts.
authorSteve Block <steveblock@google.com>
Tue, 2 Feb 2010 18:21:08 +0000 (18:21 +0000)
committerSteve Block <steveblock@google.com>
Thu, 4 Feb 2010 15:06:56 +0000 (15:06 +0000)
Keep ours for maximumAge code.
Take theirs for client-based Geolocation code.

Change-Id: I72baa0026b1cd1bec617843a992dfb6008ca774d

WebCore/page/Geolocation.cpp
WebCore/page/Geolocation.h
WebCore/page/GeolocationController.cpp
WebCore/page/GeolocationControllerClient.h
WebCore/page/GeolocationError.h
WebCore/page/GeolocationPosition.h
WebKit/mac/WebView/WebView.mm
WebKit/win/WebView.cpp

index 0843e81..e55d2b1 100644 (file)
@@ -142,7 +142,6 @@ void Geolocation::GeoNotifier::timerFired(Timer<GeoNotifier>*)
             m_errorCallback->handleEvent(m_fatalError.get());
         // This will cause this notifier to be deleted.
         m_geolocation->fatalErrorOccurred(this);
-<<<<<<< HEAD
         return;
     }
 
@@ -151,8 +150,6 @@ void Geolocation::GeoNotifier::timerFired(Timer<GeoNotifier>*)
         // will continue to run.
         m_useCachedPosition = false;
         m_geolocation->requestUsesCachedPosition(this);
-=======
->>>>>>> webkit.org at r54127
         return;
     }
 
@@ -211,12 +208,8 @@ void Geolocation::Watchers::getNotifiersVector(Vector<RefPtr<GeoNotifier> >& cop
 }
 
 Geolocation::Geolocation(Frame* frame)
-<<<<<<< HEAD
     : EventListener(GeolocationEventListenerType)
     , m_frame(frame)
-=======
-    : m_frame(frame)
->>>>>>> webkit.org at r54127
 #if !ENABLE(CLIENT_BASED_GEOLOCATION)
     , m_service(GeolocationService::create(this))
 #endif
@@ -239,10 +232,6 @@ Geolocation::~Geolocation()
         m_frame->domWindow()->removeEventListener(eventNames().unloadEvent, this, false);
 }
 
-Geolocation::~Geolocation()
-{
-}
-
 void Geolocation::disconnectFrame()
 {
     stopUpdating();
@@ -299,7 +288,6 @@ PassRefPtr<Geolocation::GeoNotifier> Geolocation::startRequest(PassRefPtr<Positi
     if (isDenied())
         notifier->setFatalError(PositionError::create(PositionError::PERMISSION_DENIED, permissionDeniedErrorMessage));
     else {
-<<<<<<< HEAD
         if (haveSuitableCachedPosition(notifier->m_options.get()))
             notifier->setUseCachedPosition();
         else {
@@ -312,16 +300,6 @@ PassRefPtr<Geolocation::GeoNotifier> Geolocation::startRequest(PassRefPtr<Positi
             } else
                 notifier->setFatalError(PositionError::create(PositionError::POSITION_UNAVAILABLE, "Failed to start Geolocation service"));
         }
-=======
-        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"));
->>>>>>> webkit.org at r54127
     }
 
     return notifier.release();
@@ -344,7 +322,6 @@ void Geolocation::requestTimedOut(GeoNotifier* notifier)
 
     if (!hasListeners())
         stopUpdating();
-<<<<<<< HEAD
 }
 
 void Geolocation::requestUsesCachedPosition(GeoNotifier* notifier)
@@ -406,8 +383,6 @@ bool Geolocation::haveSuitableCachedPosition(PositionOptions* options)
         return false;
     DOMTimeStamp currentTimeMillis = currentTime() * 1000.0;
     return m_positionCache->cachedPosition()->timestamp() > currentTimeMillis - options->maximumAge();
-=======
->>>>>>> webkit.org at r54127
 }
 
 void Geolocation::clearWatch(int watchId)
@@ -460,15 +435,8 @@ void Geolocation::setIsAllowed(bool allowed)
         return;
     }
 #endif
-<<<<<<< HEAD
 
     if (!isAllowed()) {
-=======
-    
-    if (isAllowed())
-        makeSuccessCallbacks();
-    else {
->>>>>>> webkit.org at r54127
         RefPtr<PositionError> error = PositionError::create(PositionError::PERMISSION_DENIED, permissionDeniedErrorMessage);
         error->setIsFatal(true);
         handleError(error.get());
@@ -583,11 +551,8 @@ void Geolocation::requestPermission()
 void Geolocation::positionChanged(PassRefPtr<Geoposition> newPosition)
 {
     m_currentPosition = newPosition;
-<<<<<<< HEAD
 
     m_positionCache->setCachedPosition(m_currentPosition.get());
-=======
->>>>>>> webkit.org at r54127
 
     // Stop all currently running timers.
     stopTimers();
@@ -654,12 +619,9 @@ void Geolocation::geolocationServiceErrorOccurred(GeolocationService* service)
 {
     ASSERT(service->lastError());
 
-<<<<<<< HEAD
     // Note that we do not stop timers here. For one-shots, the request is
     // cleared in handleError. For watchers, the spec requires that the timer is
     // not cleared.
-=======
->>>>>>> webkit.org at r54127
     handleError(service->lastError());
 }
 
@@ -707,7 +669,6 @@ void Geolocation::stopUpdating()
 
 }
 
-<<<<<<< HEAD
 bool Geolocation::operator==(const EventListener& listener)
 {
     if (listener.type() != GeolocationEventListenerType)
@@ -726,6 +687,4 @@ void Geolocation::handleEvent(ScriptExecutionContext*, Event* event)
     m_watchers.clear();
 }
 
-=======
->>>>>>> webkit.org at r54127
 } // namespace WebCore
index fc6365e..ade4ffe 100644 (file)
@@ -54,11 +54,7 @@ class GeolocationPosition;
 class GeolocationError;
 #endif
 
-<<<<<<< HEAD
 class Geolocation : public EventListener
-=======
-class Geolocation : public RefCounted<Geolocation>
->>>>>>> webkit.org at r54127
 #if !ENABLE(CLIENT_BASED_GEOLOCATION)
     , public GeolocationServiceClient
 #endif
@@ -87,11 +83,7 @@ public:
     bool shouldClearCache() const { return m_shouldClearCache; }
 
 #if ENABLE(CLIENT_BASED_GEOLOCATION)
-<<<<<<< HEAD
-    void setPostion(GeolocationPosition*);
-=======
     void setPosition(GeolocationPosition*);
->>>>>>> webkit.org at r54127
     void setError(GeolocationError*);
 #endif
 
index bb082e5..fd18b45 100644 (file)
@@ -40,11 +40,8 @@ GeolocationController::GeolocationController(Page* page, GeolocationControllerCl
 
 GeolocationController::~GeolocationController()
 {
-<<<<<<< HEAD
-=======
     if (m_client)
         m_client->geolocationDestroyed();
->>>>>>> webkit.org at r54127
 }
 
 void GeolocationController::addObserver(Geolocation* observer)
@@ -53,11 +50,7 @@ void GeolocationController::addObserver(Geolocation* observer)
 
     bool wasEmpty = m_observers.isEmpty();
     m_observers.add(observer);
-<<<<<<< HEAD
-    if (wasEmpty)
-=======
     if (wasEmpty && m_client)
->>>>>>> webkit.org at r54127
         m_client->startUpdating();
 }
 
@@ -67,50 +60,31 @@ void GeolocationController::removeObserver(Geolocation* observer)
         return;
 
     m_observers.remove(observer);
-<<<<<<< HEAD
-    if (m_observers.isEmpty())
-=======
     if (m_observers.isEmpty() && m_client)
->>>>>>> webkit.org at r54127
         m_client->stopUpdating();
 }
 
 void GeolocationController::positionChanged(GeolocationPosition* position)
 {
-<<<<<<< HEAD
-    HashSet<RefPtr<Geolocation> >::const_iterator end = m_observers.end();
-    for (HashSet<RefPtr<Geolocation> >::const_iterator it = m_observers.begin(); it != end; ++it)
-        (*it)->setPosition(position);
-=======
     Vector<RefPtr<Geolocation> > observersVector;
     copyToVector(m_observers, observersVector);
     for (size_t i = 0; i < observersVector.size(); ++i)
         observersVector[i]->setPosition(position);
->>>>>>> webkit.org at r54127
 }
 
 void GeolocationController::errorOccurred(GeolocationError* error)
 {
-<<<<<<< HEAD
-    HashSet<RefPtr<Geolocation> >::const_iterator end = m_observers.end();
-    for (HashSet<RefPtr<Geolocation> >::const_iterator it = m_observers.begin(); it != end; ++it)
-        (*it)->setError(error);
-=======
     Vector<RefPtr<Geolocation> > observersVector;
     copyToVector(m_observers, observersVector);
     for (size_t i = 0; i < observersVector.size(); ++i)
         observersVector[i]->setError(error);
->>>>>>> webkit.org at r54127
 }
 
 GeolocationPosition* GeolocationController::lastPosition()
 {
-<<<<<<< HEAD
-=======
     if (!m_client)
         return 0;
 
->>>>>>> webkit.org at r54127
     return m_client->lastPosition();
 }
 
index 01b1a27..cc0e1e4 100644 (file)
@@ -32,11 +32,8 @@ class GeolocationPosition;
 
 class GeolocationControllerClient {
 public:
-<<<<<<< HEAD
-=======
     virtual void geolocationDestroyed() = 0;
 
->>>>>>> webkit.org at r54127
     virtual void startUpdating() = 0;
     virtual void stopUpdating() = 0;
     virtual GeolocationPosition* lastPosition() = 0;
index 5c3df15..2a3bad4 100644 (file)
 
 #include "PlatformString.h"
 #include <wtf/PassRefPtr.h>
-<<<<<<< HEAD
-=======
 #include <wtf/RefCounted.h>
->>>>>>> webkit.org at r54127
 #include <wtf/RefPtr.h>
 
 namespace WebCore {
@@ -51,15 +48,11 @@ public:
     const String& message() const { return m_message; }
 
 private:
-<<<<<<< HEAD
-    GeolocationError(ErrorCode code, const String& message);
-=======
     GeolocationError(ErrorCode code, const String& message)
         : m_code(code)
         , m_message(message)
     {
     }
->>>>>>> webkit.org at r54127
 
     ErrorCode m_code;
     String m_message; 
index 91bd379..9f25b11 100644 (file)
 #if ENABLE(CLIENT_BASED_GEOLOCATION)
 
 #include <wtf/PassRefPtr.h>
-<<<<<<< HEAD
-=======
 #include <wtf/RefCounted.h>
->>>>>>> webkit.org at r54127
 #include <wtf/RefPtr.h>
 
 namespace WebCore {
index 6dcbfb4..e583bb5 100644 (file)
@@ -623,16 +623,12 @@ static bool shouldEnableLoadDeferring()
         didOneTimeInitialization = true;
     }
 
-<<<<<<< HEAD
-    _private->page = new Page(new WebChromeClient(self), new WebContextMenuClient(self), new WebEditorClient(self), new WebDragClient(self), new WebInspectorClient(self), new WebPluginHalterClient(self), 0);
-=======
 #if ENABLE(CLIENT_BASED_GEOLOCATION)
     WebGeolocationControllerClient* geolocationControllerClient = new WebGeolocationControllerClient(self);
 #else
     WebGeolocationControllerClient* geolocationControllerClient = 0;
 #endif
     _private->page = new Page(new WebChromeClient(self), new WebContextMenuClient(self), new WebEditorClient(self), new WebDragClient(self), new WebInspectorClient(self), new WebPluginHalterClient(self), geolocationControllerClient);
->>>>>>> webkit.org at r54127
 
     _private->page->settings()->setLocalStorageDatabasePath([[self preferences] _localStorageDatabasePath]);
 
index b4b47cd..4d67110 100644 (file)
@@ -2434,11 +2434,7 @@ HRESULT STDMETHODCALLTYPE WebView::initWithFrame(
     if (SUCCEEDED(m_preferences->shouldUseHighResolutionTimers(&useHighResolutionTimer)))
         Settings::setShouldUseHighResolutionTimers(useHighResolutionTimer);
 
-<<<<<<< HEAD
-    m_page = new Page(new WebChromeClient(this), new WebContextMenuClient(this), new WebEditorClient(this), new WebDragClient(this), new WebInspectorClient(this), new WebPluginHalterClient(this), 0);
-=======
     m_page = new Page(new WebChromeClient(this), new WebContextMenuClient(this), new WebEditorClient(this), new WebDragClient(this), new WebInspectorClient(this), new WebPluginHalterClient(this), geolocationControllerClient);
->>>>>>> webkit.org at r54127
 
     BSTR localStoragePath;
     if (SUCCEEDED(m_preferences->localStorageDatabasePath(&localStoragePath))) {