[SCM] WebKit Debian packaging branch, debian/experimental, updated. debian/1.3.8-1-1049-g2e11a8e

jorlow at chromium.org jorlow at chromium.org
Fri Jan 21 15:14:01 UTC 2011


The following commit has been merged in the debian/experimental branch:
commit 87270776b1b1e9ae2d21f0a01b0be7ce1d6b4d7c
Author: jorlow at chromium.org <jorlow at chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Mon Jan 10 11:41:44 2011 +0000

    2011-01-10  John Knottenbelt  <jknotten at chromium.org>
    
            Reviewed by Jeremy Orlow.
    
            [Chromium] Remove non-client-based Geolocation code
            https://bugs.webkit.org/show_bug.cgi?id=50921
    
            Code clean up, covered by existing tests.
    
            * WebCore.gyp/WebCore.gyp:
            * WebCore.gypi:
            * platform/chromium/ChromiumBridge.h:
            * platform/chromium/GeolocationServiceChromium.cpp: Removed.
            * platform/chromium/GeolocationServiceChromium.h: Removed.
    2011-01-10  John Knottenbelt  <jknotten at chromium.org>
    
            Reviewed by Jeremy Orlow.
    
            [Chromium] Remove non-client-based Geolocation code
            https://bugs.webkit.org/show_bug.cgi?id=50921
    
            * DumpRenderTree/chromium/LayoutTestController.cpp:
            (LayoutTestController::setGeolocationPermission):
            (LayoutTestController::setMockGeolocationPosition):
            (LayoutTestController::setMockGeolocationError):
            * DumpRenderTree/chromium/WebViewHost.cpp:
            (WebViewHost::geolocationClientMock):
            (WebViewHost::reset):
            * DumpRenderTree/chromium/WebViewHost.h:
    2011-01-10  John Knottenbelt  <jknotten at chromium.org>
    
            Reviewed by Jeremy Orlow.
    
            [Chromium] Remove non-client-based Geolocation code
            https://bugs.webkit.org/show_bug.cgi?id=50921
    
            * WebKit.gyp:
            * public/WebGeolocationService.h: Removed.
            * public/WebGeolocationServiceBridge.h: Removed.
            * public/WebGeolocationServiceMock.h: Removed.
            * src/AssertMatchingEnums.cpp:
            * src/ChromeClientImpl.cpp:
            (WebKit::ChromeClientImpl::requestGeolocationPermissionForFrame):
            (WebKit::ChromeClientImpl::cancelGeolocationPermissionRequestForFrame):
            * src/ChromiumBridge.cpp:
            * src/WebGeolocationServiceBridgeImpl.cpp: Removed.
            * src/WebGeolocationServiceBridgeImpl.h: Removed.
            * src/WebGeolocationServiceMock.cpp: Removed.
            * src/WebViewImpl.cpp:
            (WebKit::WebViewImpl::WebViewImpl):
            * src/WebViewImpl.h:
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@75367 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog
index f3326bc..3af242e 100644
--- a/Source/WebCore/ChangeLog
+++ b/Source/WebCore/ChangeLog
@@ -1,3 +1,18 @@
+2011-01-10  John Knottenbelt  <jknotten at chromium.org>
+
+        Reviewed by Jeremy Orlow.
+
+        [Chromium] Remove non-client-based Geolocation code
+        https://bugs.webkit.org/show_bug.cgi?id=50921
+
+        Code clean up, covered by existing tests.
+
+        * WebCore.gyp/WebCore.gyp:
+        * WebCore.gypi:
+        * platform/chromium/ChromiumBridge.h:
+        * platform/chromium/GeolocationServiceChromium.cpp: Removed.
+        * platform/chromium/GeolocationServiceChromium.h: Removed.
+
 2011-01-10  Ilya Tikhonovsky  <loislo at chromium.org>
 
         Reviewed by Pavel Feldman.
diff --git a/Source/WebCore/WebCore.gyp/WebCore.gyp b/Source/WebCore/WebCore.gyp/WebCore.gyp
index 2cd5169..b800cf3 100644
--- a/Source/WebCore/WebCore.gyp/WebCore.gyp
+++ b/Source/WebCore/WebCore.gyp/WebCore.gyp
@@ -1236,11 +1236,6 @@
             ['exclude', 'platform/graphics/skia/GlyphPageTreeNodeSkia\\.cpp$']
           ],
         }],
-        ['"ENABLE_CLIENT_BASED_GEOLOCATION=1" in feature_defines', {
-          'sources/': [
-            ['exclude', '/GeolocationService.*$'],
-          ],
-        }],
         ['(OS=="linux" or OS=="win") and "WTF_USE_WEBAUDIO_MKL=1" in feature_defines', {
           'sources/': [
             ['include', 'platform/audio/mkl/FFTFrameMKL\\.cpp$'],
diff --git a/Source/WebCore/WebCore.gypi b/Source/WebCore/WebCore.gypi
index 337cb5a..83e55d4 100644
--- a/Source/WebCore/WebCore.gypi
+++ b/Source/WebCore/WebCore.gypi
@@ -2459,8 +2459,6 @@
             'platform/chromium/FramelessScrollView.cpp',
             'platform/chromium/FramelessScrollView.h',
             'platform/chromium/FramelessScrollViewClient.h',
-            'platform/chromium/GeolocationServiceChromium.cpp',
-            'platform/chromium/GeolocationServiceChromium.h',
             'platform/chromium/KeyCodeConversion.h',
             'platform/chromium/KeyCodeConversionGtk.cpp',
             'platform/chromium/LanguageChromium.cpp',
diff --git a/Source/WebCore/platform/chromium/ChromiumBridge.h b/Source/WebCore/platform/chromium/ChromiumBridge.h
index 56969ef..d3b8528 100644
--- a/Source/WebCore/platform/chromium/ChromiumBridge.h
+++ b/Source/WebCore/platform/chromium/ChromiumBridge.h
@@ -159,10 +159,6 @@ namespace WebCore {
         // Forms --------------------------------------------------------------
         static void notifyFormStateChanged(const Document*);
 
-#if !ENABLE(CLIENT_BASED_GEOLOCATION)
-        // Geolocation --------------------------------------------------------
-        static GeolocationServiceBridge* createGeolocationServiceBridge(GeolocationServiceChromium*);
-#endif
         // Databases ----------------------------------------------------------
         // Returns a handle to the DB file and ooptionally a handle to its containing directory
         static PlatformFileHandle databaseOpenFile(const String& vfsFleName, int desiredFlags);
diff --git a/Source/WebCore/platform/chromium/GeolocationServiceChromium.cpp b/Source/WebCore/platform/chromium/GeolocationServiceChromium.cpp
deleted file mode 100644
index c5e73ae..0000000
--- a/Source/WebCore/platform/chromium/GeolocationServiceChromium.cpp
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
- * Copyright (c) 2010, Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- *     * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *     * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- *     * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-#include "GeolocationServiceChromium.h"
-
-#include "ChromiumBridge.h"
-
-#if ENABLE(CLIENT_BASED_GEOLOCATION)
-#error "This file should not be compiled when ENABLE(CLIENT_BASED_GEOLOCATION)"
-#endif // ENABLE(CLIENT_BASED_GEOLOCATION)
-
-namespace WebCore {
-
-GeolocationServiceBridge::~GeolocationServiceBridge()
-{
-}
-
-GeolocationServiceChromium::GeolocationServiceChromium(GeolocationServiceClient* c)
-        : GeolocationService(c),
-          m_geolocation(static_cast<Geolocation*>(c)),
-          m_geolocationServiceBridge(ChromiumBridge::createGeolocationServiceBridge(this)),
-          m_lastError(PositionError::create(PositionError::POSITION_UNAVAILABLE, ""))
-{
-}
-
-void GeolocationServiceChromium::setIsAllowed(bool allowed)
-{
-    m_geolocation->setIsAllowed(allowed);
-}
-
-void GeolocationServiceChromium::setLastPosition(PassRefPtr<Geoposition> geoposition)
-{
-    m_lastPosition = geoposition;
-    positionChanged();
-}
-
-void GeolocationServiceChromium::setLastError(int errorCode, const String& message)
-{
-    m_lastError = PositionError::create(static_cast<PositionError::ErrorCode>(errorCode), message);
-    errorOccurred();
-}
-
-Frame* GeolocationServiceChromium::frame()
-{
-    return m_geolocation->frame();
-}
-
-bool GeolocationServiceChromium::startUpdating(PositionOptions* options)
-{
-    return m_geolocationServiceBridge->startUpdating(options);
-}
-
-void GeolocationServiceChromium::stopUpdating()
-{
-    return m_geolocationServiceBridge->stopUpdating();
-}
-
-void GeolocationServiceChromium::suspend()
-{
-    return m_geolocationServiceBridge->suspend();
-}
-
-void GeolocationServiceChromium::resume()
-{
-    return m_geolocationServiceBridge->resume();
-}
-
-Geoposition* GeolocationServiceChromium::lastPosition() const
-{
-    return m_lastPosition.get();
-}
-
-PositionError* GeolocationServiceChromium::lastError() const
-{
-    return m_lastError.get();
-}
-
-static GeolocationService* createGeolocationServiceChromium(GeolocationServiceClient* c)
-{
-    return new GeolocationServiceChromium(c);
-}
-
-// Sets up the factory function for GeolocationService.
-GeolocationService::FactoryFunction* GeolocationService::s_factoryFunction = &createGeolocationServiceChromium;
-
-} // namespace WebCore
diff --git a/Source/WebCore/platform/chromium/GeolocationServiceChromium.h b/Source/WebCore/platform/chromium/GeolocationServiceChromium.h
deleted file mode 100644
index 7e6f633..0000000
--- a/Source/WebCore/platform/chromium/GeolocationServiceChromium.h
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * Copyright (c) 2010, Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- *     * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *     * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- *     * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef GeolocationServiceChromium_h
-#define GeolocationServiceChromium_h
-
-#include "Geolocation.h"
-#include "GeolocationService.h"
-#include "Geoposition.h"
-#include "PlatformString.h"
-#include "PositionError.h"
-
-namespace WebCore {
-
-// Provides an interface for GeolocationServiceChromium to call into the embedder.
-class GeolocationServiceBridge {
-public:
-    virtual ~GeolocationServiceBridge();
-    // Called by GeolocationServiceChromium.
-    virtual bool startUpdating(PositionOptions*) = 0;
-    virtual void stopUpdating() = 0;
-    virtual void suspend() = 0;
-    virtual void resume() = 0;
-
-    // Called by the embedder, to identify this bridge.
-    virtual int getBridgeId() const = 0;
-    virtual void attachBridgeIfNeeded() = 0;
-};
-
-// This class extends GeolocationService, and uses GeolocationServiceBridge to
-// call into the embedder, as well as provides a few extra methods so that the
-// embedder can notify permission, position, error, etc.
-class GeolocationServiceChromium : public GeolocationService {
-public:
-    explicit GeolocationServiceChromium(GeolocationServiceClient*);
-
-    GeolocationServiceBridge* geolocationServiceBridge() const { return m_geolocationServiceBridge.get(); }
-    void setIsAllowed(bool allowed);
-    void setLastPosition(PassRefPtr<Geoposition>);
-    void setLastError(int errorCode, const String& message);
-    Frame* frame();
-
-    // From GeolocationService.
-    virtual bool startUpdating(PositionOptions*);
-    virtual void stopUpdating();
-    virtual void suspend();
-    virtual void resume();
-    virtual Geoposition* lastPosition() const;
-    virtual PositionError* lastError() const;
-
-private:
-    Geolocation* m_geolocation;
-    OwnPtr<GeolocationServiceBridge> m_geolocationServiceBridge;
-    RefPtr<Geoposition> m_lastPosition;
-    RefPtr<PositionError> m_lastError;
-};
-
-} // namespace WebCore
-
-#endif // GeolocationServiceChromium_h
diff --git a/Tools/ChangeLog b/Tools/ChangeLog
index 0e77220..2943b92 100644
--- a/Tools/ChangeLog
+++ b/Tools/ChangeLog
@@ -1,3 +1,19 @@
+2011-01-10  John Knottenbelt  <jknotten at chromium.org>
+
+        Reviewed by Jeremy Orlow.
+
+        [Chromium] Remove non-client-based Geolocation code
+        https://bugs.webkit.org/show_bug.cgi?id=50921
+
+        * DumpRenderTree/chromium/LayoutTestController.cpp:
+        (LayoutTestController::setGeolocationPermission):
+        (LayoutTestController::setMockGeolocationPosition):
+        (LayoutTestController::setMockGeolocationError):
+        * DumpRenderTree/chromium/WebViewHost.cpp:
+        (WebViewHost::geolocationClientMock):
+        (WebViewHost::reset):
+        * DumpRenderTree/chromium/WebViewHost.h:
+
 2011-01-10  Eric Seidel  <eric at webkit.org>
 
         Reviewed by Adam Barth.
diff --git a/Tools/DumpRenderTree/chromium/LayoutTestController.cpp b/Tools/DumpRenderTree/chromium/LayoutTestController.cpp
index 83e2389..0b2cfc9 100644
--- a/Tools/DumpRenderTree/chromium/LayoutTestController.cpp
+++ b/Tools/DumpRenderTree/chromium/LayoutTestController.cpp
@@ -43,11 +43,7 @@
 #include "WebDocument.h"
 #include "WebElement.h"
 #include "WebFrame.h"
-#if ENABLE(CLIENT_BASED_GEOLOCATION)
 #include "WebGeolocationClientMock.h"
-#else
-#include "WebGeolocationServiceMock.h"
-#endif
 #include "WebInputElement.h"
 #include "WebKit.h"
 #include "WebNotificationPresenter.h"
@@ -1524,11 +1520,7 @@ void LayoutTestController::setGeolocationPermission(const CppArgumentList& argum
     result->setNull();
     if (arguments.size() < 1 || !arguments[0].isBool())
         return;
-#if ENABLE(CLIENT_BASED_GEOLOCATION)
     m_shell->webViewHost()->geolocationClientMock()->setPermission(arguments[0].toBoolean());
-#else
-    WebGeolocationServiceMock::setMockGeolocationPermission(arguments[0].toBoolean());
-#endif
 }
 
 void LayoutTestController::setMockGeolocationPosition(const CppArgumentList& arguments, CppVariant* result)
@@ -1536,11 +1528,7 @@ void LayoutTestController::setMockGeolocationPosition(const CppArgumentList& arg
     result->setNull();
     if (arguments.size() < 3 || !arguments[0].isNumber() || !arguments[1].isNumber() || !arguments[2].isNumber())
         return;
-#if ENABLE(CLIENT_BASED_GEOLOCATION)
     m_shell->webViewHost()->geolocationClientMock()->setPosition(arguments[0].toDouble(), arguments[1].toDouble(), arguments[2].toDouble());
-#else
-    WebGeolocationServiceMock::setMockGeolocationPosition(arguments[0].toDouble(), arguments[1].toDouble(), arguments[2].toDouble());
-#endif
 }
 
 void LayoutTestController::setMockGeolocationError(const CppArgumentList& arguments, CppVariant* result)
@@ -1548,11 +1536,7 @@ void LayoutTestController::setMockGeolocationError(const CppArgumentList& argume
     result->setNull();
     if (arguments.size() < 2 || !arguments[0].isNumber() || !arguments[1].isString())
         return;
-#if ENABLE(CLIENT_BASED_GEOLOCATION)
     m_shell->webViewHost()->geolocationClientMock()->setError(arguments[0].toInt32(), cppVariantToWebString(arguments[1]));
-#else
-    WebGeolocationServiceMock::setMockGeolocationError(arguments[0].toInt32(), cppVariantToWebString(arguments[1]));
-#endif
 }
 
 void LayoutTestController::abortModal(const CppArgumentList& arguments, CppVariant* result)
diff --git a/Tools/DumpRenderTree/chromium/WebViewHost.cpp b/Tools/DumpRenderTree/chromium/WebViewHost.cpp
index 849312c..f5dd7fd 100644
--- a/Tools/DumpRenderTree/chromium/WebViewHost.cpp
+++ b/Tools/DumpRenderTree/chromium/WebViewHost.cpp
@@ -43,11 +43,7 @@
 #include "WebDragData.h"
 #include "WebElement.h"
 #include "WebFrame.h"
-#if ENABLE(CLIENT_BASED_GEOLOCATION)
 #include "WebGeolocationClientMock.h"
-#else
-#include "WebGeolocationServiceMock.h"
-#endif
 #include "WebHistoryItem.h"
 #include "WebNode.h"
 #include "WebRange.h"
@@ -571,7 +567,6 @@ WebNotificationPresenter* WebViewHost::notificationPresenter()
     return m_shell->notificationPresenter();
 }
 
-#if ENABLE(CLIENT_BASED_GEOLOCATION)
 WebKit::WebGeolocationClient* WebViewHost::geolocationClient()
 {
     return geolocationClientMock();
@@ -583,14 +578,6 @@ WebKit::WebGeolocationClientMock* WebViewHost::geolocationClientMock()
         m_geolocationClientMock.set(WebGeolocationClientMock::create());
     return m_geolocationClientMock.get();
 }
-#else
-WebKit::WebGeolocationService* WebViewHost::geolocationService()
-{
-    if (!m_geolocationServiceMock)
-        m_geolocationServiceMock.set(WebGeolocationServiceMock::createWebGeolocationServiceMock());
-    return m_geolocationServiceMock.get();
-}
-#endif
 
 WebSpeechInputController* WebViewHost::speechInputController(WebKit::WebSpeechInputListener* listener)
 {
@@ -1177,12 +1164,8 @@ void WebViewHost::reset()
     m_editCommandName.clear();
     m_editCommandValue.clear();
 
-#if ENABLE(CLIENT_BASED_GEOLOCATION)
     if (m_geolocationClientMock.get())
         m_geolocationClientMock->resetMock();
-#else
-    m_geolocationServiceMock.clear();
-#endif
 
     if (m_speechInputControllerMock.get())
         m_speechInputControllerMock->clearResults();
diff --git a/Tools/DumpRenderTree/chromium/WebViewHost.h b/Tools/DumpRenderTree/chromium/WebViewHost.h
index 20b29c0..86c23a5 100644
--- a/Tools/DumpRenderTree/chromium/WebViewHost.h
+++ b/Tools/DumpRenderTree/chromium/WebViewHost.h
@@ -139,11 +139,7 @@ class WebViewHost : public WebKit::WebViewClient, public WebKit::WebFrameClient,
     virtual int historyForwardListCount();
     virtual void postAccessibilityNotification(const WebKit::WebAccessibilityObject&, WebKit::WebAccessibilityNotification);
     virtual WebKit::WebNotificationPresenter* notificationPresenter();
-#if ENABLE(CLIENT_BASED_GEOLOCATION)
     virtual WebKit::WebGeolocationClient* geolocationClient();
-#else
-    virtual WebKit::WebGeolocationService* geolocationService();
-#endif
     virtual WebKit::WebSpeechInputController* speechInputController(WebKit::WebSpeechInputListener*);
     virtual WebKit::WebDeviceOrientationClient* deviceOrientationClient();
 
@@ -210,10 +206,8 @@ class WebViewHost : public WebKit::WebViewClient, public WebKit::WebFrameClient,
     WebKit::WebDeviceOrientationClientMock* deviceOrientationClientMock();
     MockSpellCheck* mockSpellCheck();
 
-#if ENABLE(CLIENT_BASED_GEOLOCATION)
     // Geolocation client mocks for LayoutTestController
     WebKit::WebGeolocationClientMock* geolocationClientMock();
-#endif
 
 private:
     LayoutTestController* layoutTestController() const;
@@ -317,11 +311,7 @@ private:
     OwnPtr<WebKit::WebContextMenuData> m_lastContextMenuData;
 
     // Geolocation
-#if ENABLE(CLIENT_BASED_GEOLOCATION)
     OwnPtr<WebKit::WebGeolocationClientMock> m_geolocationClientMock;
-#else
-    OwnPtr<WebKit::WebGeolocationServiceMock> m_geolocationServiceMock;
-#endif
 
     OwnPtr<WebKit::WebDeviceOrientationClientMock> m_deviceOrientationClientMock;
     OwnPtr<WebKit::WebSpeechInputControllerMock> m_speechInputControllerMock;
diff --git a/WebKit/chromium/ChangeLog b/WebKit/chromium/ChangeLog
index 410ded3..a85bc15 100644
--- a/WebKit/chromium/ChangeLog
+++ b/WebKit/chromium/ChangeLog
@@ -1,3 +1,26 @@
+2011-01-10  John Knottenbelt  <jknotten at chromium.org>
+
+        Reviewed by Jeremy Orlow.
+
+        [Chromium] Remove non-client-based Geolocation code
+        https://bugs.webkit.org/show_bug.cgi?id=50921
+
+        * WebKit.gyp:
+        * public/WebGeolocationService.h: Removed.
+        * public/WebGeolocationServiceBridge.h: Removed.
+        * public/WebGeolocationServiceMock.h: Removed.
+        * src/AssertMatchingEnums.cpp:
+        * src/ChromeClientImpl.cpp:
+        (WebKit::ChromeClientImpl::requestGeolocationPermissionForFrame):
+        (WebKit::ChromeClientImpl::cancelGeolocationPermissionRequestForFrame):
+        * src/ChromiumBridge.cpp:
+        * src/WebGeolocationServiceBridgeImpl.cpp: Removed.
+        * src/WebGeolocationServiceBridgeImpl.h: Removed.
+        * src/WebGeolocationServiceMock.cpp: Removed.
+        * src/WebViewImpl.cpp:
+        (WebKit::WebViewImpl::WebViewImpl):
+        * src/WebViewImpl.h:
+
 2011-01-09  Johnny Ding  <jnd at chromium.org>
 
         Unreviewed, fix Chromium windows compilation error according to James Robinson's report.
diff --git a/WebKit/chromium/WebKit.gyp b/WebKit/chromium/WebKit.gyp
index 9385778..de99b83 100644
--- a/WebKit/chromium/WebKit.gyp
+++ b/WebKit/chromium/WebKit.gyp
@@ -183,9 +183,6 @@
                 'public/WebGeolocationPermissionRequest.h',
                 'public/WebGeolocationPermissionRequestManager.h',
                 'public/WebGeolocationPosition.h',
-                'public/WebGeolocationService.h',
-                'public/WebGeolocationServiceBridge.h',
-                'public/WebGeolocationServiceMock.h',
                 'public/WebGlyphCache.h',
                 'public/WebGraphicsContext3D.h',
                 'public/WebHistoryItem.h',
@@ -462,9 +459,6 @@
                 'src/WebGeolocationPermissionRequest.cpp',
                 'src/WebGeolocationPermissionRequestManager.cpp',
                 'src/WebGeolocationPosition.cpp',
-                'src/WebGeolocationServiceBridgeImpl.cpp',
-                'src/WebGeolocationServiceBridgeImpl.h',
-                'src/WebGeolocationServiceMock.cpp',
                 'src/WebGlyphCache.cpp',
                 'src/WebGraphicsContext3D.cpp',
                 'src/WebGraphicsContext3DDefaultImpl.cpp',
@@ -680,20 +674,6 @@
                         }],
                     ],
                 }],
-                ['"ENABLE_CLIENT_BASED_GEOLOCATION=1" in feature_defines', {
-                    'sources/': [
-                        ['exclude', 'WebGeolocationService.*$'],
-                    ],
-                }, {
-                   'sources/': [
-                        ['exclude', 'GeolocationClientProxy.*'],
-                        ['exclude', 'WebGeolocationClient.*'],
-                        ['exclude', 'WebGeolocationController.*'],
-                        ['exclude', 'WebGeolocationError.*'],
-                        ['exclude', 'WebGeolocationPermissionRequest.*'],
-                        ['exclude', 'WebGeolocationPosition.*'],
-                   ],
-                }]
             ],
         },
 
@@ -872,11 +852,6 @@
                         },
                     },
                 }],
-                ['"ENABLE_CLIENT_BASED_GEOLOCATION=1" in feature_defines', {
-                    'sources/': [
-                        ['exclude', 'WebGeolocationService.*$'],
-                    ],
-                }]
             ],
         },
         {
diff --git a/WebKit/chromium/public/WebGeolocationService.h b/WebKit/chromium/public/WebGeolocationService.h
deleted file mode 100644
index ea91b58..0000000
--- a/WebKit/chromium/public/WebGeolocationService.h
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Copyright (c) 2010, Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- *     * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *     * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- *     * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef WebGeolocationService_h
-#define WebGeolocationService_h
-
-namespace WebKit {
-
-class WebGeolocationServiceBridge;
-class WebString;
-class WebURL;
-
-// Provides an embedder API called by WebKit.
-class WebGeolocationService {
-public:
-    virtual void requestPermissionForFrame(int bridgeId, const WebURL& url) { }
-    virtual void cancelPermissionRequestForFrame(int bridgeId, const WebURL&) { }
-    virtual void startUpdating(int bridgeId, const WebURL& url, bool enableHighAccuracy) { }
-    virtual void stopUpdating(int bridgeId) { }
-    virtual void suspend(int bridgeId) { }
-    virtual void resume(int bridgeId) { }
-
-    // Attaches the WebGeolocationServiceBridge to the embedder and returns its
-    // id, which should be used on subsequent calls for the methods above.
-    // An ID of zero indicates the attach failed.
-    virtual int attachBridge(WebGeolocationServiceBridge*) { return 0; }
-
-    // Detaches the WebGeolocationServiceBridge from the embedder.
-    virtual void detachBridge(int bridgeId) { }
-
-protected:
-    virtual ~WebGeolocationService() {}
-};
-
-} // namespace WebKit
-
-#endif // WebGeolocationService_h
diff --git a/WebKit/chromium/public/WebGeolocationServiceBridge.h b/WebKit/chromium/public/WebGeolocationServiceBridge.h
deleted file mode 100644
index d209c23..0000000
--- a/WebKit/chromium/public/WebGeolocationServiceBridge.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Copyright (c) 2010, Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- *     * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *     * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- *     * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef WebGeolocationServiceBridge_h
-#define WebGeolocationServiceBridge_h
-
-namespace WebCore {
-class GeolocationServiceBridge;
-class GeolocationServiceChromium;
-}
-
-namespace WebKit {
-
-class WebString;
-class WebURL;
-
-// Provides a WebKit API called by the embedder.
-class WebGeolocationServiceBridge {
-public:
-    virtual void setIsAllowed(bool allowed) = 0;
-    virtual void setLastPosition(double latitude, double longitude, bool providesAltitude, double altitude, double accuracy, bool providesAltitudeAccuracy, double altitudeAccuracy, bool providesHeading, double heading, bool providesSpeed, double speed, long long timestamp) = 0;
-    virtual void setLastError(int errorCode, const WebString& message) = 0;
-    // Called when the WebGeolocationService to which this bridge is attached is going out of scope. On receiving
-    // this call the bridge implementation must not make any further access to the service.
-    virtual void didDestroyGeolocationService() = 0;
-    // FIXME: Remove this badly named method when all callers are using didDestroyGeolocationService directly.
-    void onWebGeolocationServiceDestroyed() { didDestroyGeolocationService(); }
-
-protected:
-    virtual ~WebGeolocationServiceBridge() {}
-};
-
-} // namespace WebKit
-
-#endif // WebGeolocationServiceBridge_h
diff --git a/WebKit/chromium/public/WebGeolocationServiceMock.h b/WebKit/chromium/public/WebGeolocationServiceMock.h
deleted file mode 100644
index 820975e..0000000
--- a/WebKit/chromium/public/WebGeolocationServiceMock.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright (c) 2010, Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- *     * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *     * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- *     * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef WebGeolocationServiceMock_h
-#define WebGeolocationServiceMock_h
-
-#include "WebCommon.h"
-#include "WebGeolocationService.h"
-
-namespace WebKit {
-
-class WebString;
-
-class WebGeolocationServiceMock : public WebGeolocationService {
-public:
-    WEBKIT_API static WebGeolocationServiceMock* createWebGeolocationServiceMock();
-    WEBKIT_API static void setMockGeolocationPermission(bool allowed);
-    WEBKIT_API static void setMockGeolocationPosition(double latitude, double longitude, double accuracy);
-    WEBKIT_API static void setMockGeolocationError(int errorCode, const WebString& message);
-};
-
-} // namespace WebKit
-
-#endif // WebGeolocationServiceMock_h
diff --git a/WebKit/chromium/src/AssertMatchingEnums.cpp b/WebKit/chromium/src/AssertMatchingEnums.cpp
index 936b8db..e1ee4a1 100644
--- a/WebKit/chromium/src/AssertMatchingEnums.cpp
+++ b/WebKit/chromium/src/AssertMatchingEnums.cpp
@@ -394,10 +394,8 @@ COMPILE_ASSERT_MATCHING_ENUM(WebFileErrorQuotaExceeded, FileError::QUOTA_EXCEEDE
 COMPILE_ASSERT_MATCHING_ENUM(WebFileErrorTypeMismatch, FileError::TYPE_MISMATCH_ERR);
 COMPILE_ASSERT_MATCHING_ENUM(WebFileErrorPathExists, FileError::PATH_EXISTS_ERR);
 
-#if ENABLE(CLIENT_BASED_GEOLOCATION)
 COMPILE_ASSERT_MATCHING_ENUM(WebGeolocationError::ErrorPermissionDenied, GeolocationError::PermissionDenied);
 COMPILE_ASSERT_MATCHING_ENUM(WebGeolocationError::ErrorPositionUnavailable, GeolocationError::PositionUnavailable);
-#endif
 
 #if OS(DARWIN)
 COMPILE_ASSERT_MATCHING_ENUM(WebThemeEngine::StateDisabled, ChromiumBridge::StateDisabled);
diff --git a/WebKit/chromium/src/ChromeClientImpl.cpp b/WebKit/chromium/src/ChromeClientImpl.cpp
index 2bf4b7a..1a984c1 100644
--- a/WebKit/chromium/src/ChromeClientImpl.cpp
+++ b/WebKit/chromium/src/ChromeClientImpl.cpp
@@ -47,7 +47,6 @@
 #include "FrameView.h"
 #include "Geolocation.h"
 #include "GeolocationService.h"
-#include "GeolocationServiceChromium.h"
 #include "GraphicsLayer.h"
 #include "HTMLNames.h"
 #include "HitTestResult.h"
@@ -71,7 +70,6 @@
 #include "WebFileChooserCompletionImpl.h"
 #include "WebFrameClient.h"
 #include "WebFrameImpl.h"
-#include "WebGeolocationService.h"
 #include "WebInputEvent.h"
 #include "WebKit.h"
 #include "WebNode.h"
@@ -778,19 +776,12 @@ NotificationPresenter* ChromeClientImpl::notificationPresenter() const
 // (see https://bugs.webkit.org/show_bug.cgi?id=50061 ).
 void ChromeClientImpl::requestGeolocationPermissionForFrame(Frame* frame, Geolocation* geolocation)
 {
-#if !ENABLE(CLIENT_BASED_GEOLOCATION)
-    GeolocationServiceChromium* geolocationService = static_cast<GeolocationServiceChromium*>(geolocation->getGeolocationService());
-    geolocationService->geolocationServiceBridge()->attachBridgeIfNeeded();
-    m_webView->client()->geolocationService()->requestPermissionForFrame(geolocationService->geolocationServiceBridge()->getBridgeId(), frame->document()->url());
-#endif
+    ASSERT_NOT_REACHED();
 }
 
 void ChromeClientImpl::cancelGeolocationPermissionRequestForFrame(Frame* frame, Geolocation* geolocation)
 {
-#if !ENABLE(CLIENT_BASED_GEOLOCATION)
-    GeolocationServiceChromium* geolocationService = static_cast<GeolocationServiceChromium*>(geolocation->getGeolocationService());
-    m_webView->client()->geolocationService()->cancelPermissionRequestForFrame(geolocationService->geolocationServiceBridge()->getBridgeId(), frame->document()->url());
-#endif
+    ASSERT_NOT_REACHED();
 }
 
 #if USE(ACCELERATED_COMPOSITING)
diff --git a/WebKit/chromium/src/ChromiumBridge.cpp b/WebKit/chromium/src/ChromiumBridge.cpp
index 38a3f1d..e16025c 100644
--- a/WebKit/chromium/src/ChromiumBridge.cpp
+++ b/WebKit/chromium/src/ChromiumBridge.cpp
@@ -96,10 +96,6 @@
 #include "PluginData.h"
 #include "SharedBuffer.h"
 
-#if !ENABLE(CLIENT_BASED_GEOLOCATION)
-#include "WebGeolocationServiceBridgeImpl.h"
-#endif
-
 #include "Worker.h"
 #include "WorkerContextProxy.h"
 #include <wtf/Assertions.h>
@@ -483,15 +479,6 @@ bool ChromiumBridge::loadFont(NSFont* srcFont, ATSFontContainerRef* out)
 }
 #endif
 
-#if !ENABLE(CLIENT_BASED_GEOLOCATION)
-// Geolocation ----------------------------------------------------------------
-
-GeolocationServiceBridge* ChromiumBridge::createGeolocationServiceBridge(GeolocationServiceChromium* geolocationServiceChromium)
-{
-    return createGeolocationServiceBridgeImpl(geolocationServiceChromium);
-}
-#endif
-
 // Databases ------------------------------------------------------------------
 
 PlatformFileHandle ChromiumBridge::databaseOpenFile(const String& vfsFileName, int desiredFlags)
diff --git a/WebKit/chromium/src/WebGeolocationServiceBridgeImpl.cpp b/WebKit/chromium/src/WebGeolocationServiceBridgeImpl.cpp
deleted file mode 100644
index bbc852f..0000000
--- a/WebKit/chromium/src/WebGeolocationServiceBridgeImpl.cpp
+++ /dev/null
@@ -1,202 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- *     * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *     * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- *     * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-#include "WebGeolocationServiceBridgeImpl.h"
-
-#include "Chrome.h"
-#include "ChromeClientImpl.h"
-#include "Frame.h"
-#include "Geolocation.h"
-#include "GeolocationServiceChromium.h"
-#include "Geoposition.h"
-#include "Page.h"
-#include "PositionError.h"
-#include "PositionOptions.h"
-#include "WebFrame.h"
-#include "WebFrameImpl.h"
-#include "WebGeolocationService.h"
-#include "WebGeolocationServiceBridge.h"
-#include "WebViewClient.h"
-#include "WebViewImpl.h"
-
-#if ENABLE(GEOLOCATION)
-
-using WebCore::Coordinates;
-using WebCore::Frame;
-using WebCore::Geolocation;
-using WebCore::GeolocationServiceBridge;
-using WebCore::GeolocationServiceChromium;
-using WebCore::GeolocationServiceClient;
-using WebCore::Geoposition;
-using WebCore::PositionError;
-using WebCore::PositionOptions;
-using WTF::String;
-
-namespace WebKit {
-
-class WebGeolocationServiceBridgeImpl : public GeolocationServiceBridge, public WebGeolocationServiceBridge {
-public:
-    explicit WebGeolocationServiceBridgeImpl(GeolocationServiceChromium*);
-    virtual ~WebGeolocationServiceBridgeImpl();
-
-    // GeolocationServiceBridge
-    virtual bool startUpdating(PositionOptions*);
-    virtual void stopUpdating();
-    virtual void suspend();
-    virtual void resume();
-    virtual int getBridgeId() const;
-    virtual void attachBridgeIfNeeded();
-
-    // WebGeolocationServiceBridge
-    virtual void setIsAllowed(bool allowed);
-    virtual void setLastPosition(double latitude, double longitude, bool providesAltitude, double altitude, double accuracy, bool providesAltitudeAccuracy, double altitudeAccuracy, bool providesHeading, double heading, bool providesSpeed, double speed, long long timestamp);
-    virtual void setLastError(int errorCode, const WebString& message);
-    virtual void didDestroyGeolocationService();
-
-private:
-    bool isAttached() const;
-    // Pointer back to the WebKit geolocation client. We obtain this via the frame's page, but need to cache it
-    // as it may still be alive after the page has detached from the frame.
-    WebGeolocationService* m_webGeolocationService;
-    // GeolocationServiceChromium owns us, we only have a pointer back to it.
-    GeolocationServiceChromium* m_geolocationServiceChromium;
-    int m_bridgeId;
-};
-
-GeolocationServiceBridge* createGeolocationServiceBridgeImpl(GeolocationServiceChromium* geolocationServiceChromium)
-{
-    return new WebGeolocationServiceBridgeImpl(geolocationServiceChromium);
-}
-
-WebGeolocationServiceBridgeImpl::WebGeolocationServiceBridgeImpl(GeolocationServiceChromium* geolocationServiceChromium)
-    : m_webGeolocationService(0)
-    , m_geolocationServiceChromium(geolocationServiceChromium)
-    , m_bridgeId(0)
-{
-}
-
-WebGeolocationServiceBridgeImpl::~WebGeolocationServiceBridgeImpl()
-{
-    if (isAttached())
-        m_webGeolocationService->detachBridge(m_bridgeId);
-}
-
-bool WebGeolocationServiceBridgeImpl::startUpdating(PositionOptions* positionOptions)
-{
-    attachBridgeIfNeeded();
-    if (!isAttached())
-        return false;
-    m_webGeolocationService->startUpdating(m_bridgeId, m_geolocationServiceChromium->frame()->document()->url(), positionOptions->enableHighAccuracy());
-    return true;
-}
-
-void WebGeolocationServiceBridgeImpl::stopUpdating()
-{
-    if (isAttached()) {
-        m_webGeolocationService->stopUpdating(m_bridgeId);
-        m_webGeolocationService->detachBridge(m_bridgeId);
-        m_bridgeId = 0;
-        m_webGeolocationService = 0;
-    }
-}
-
-void WebGeolocationServiceBridgeImpl::suspend()
-{
-    if (isAttached())
-        m_webGeolocationService->suspend(m_bridgeId);
-}
-
-void WebGeolocationServiceBridgeImpl::resume()
-{
-    if (isAttached())
-        m_webGeolocationService->resume(m_bridgeId);
-}
-
-int WebGeolocationServiceBridgeImpl::getBridgeId() const
-{
-    return m_bridgeId;
-}
-
-void WebGeolocationServiceBridgeImpl::attachBridgeIfNeeded()
-{
-    if (isAttached())
-        return;
-    // Lazy attach to the geolocation service of the associated page if there is one.
-    Frame* frame = m_geolocationServiceChromium->frame();
-    if (!frame || !frame->page())
-        return;
-    WebKit::ChromeClientImpl* chromeClientImpl = static_cast<WebKit::ChromeClientImpl*>(frame->page()->chrome()->client());
-    WebKit::WebViewClient* webViewClient = chromeClientImpl->webView()->client();
-    m_webGeolocationService = webViewClient->geolocationService();
-    ASSERT(m_webGeolocationService);
-    m_bridgeId = m_webGeolocationService->attachBridge(this);
-    if (!m_bridgeId) {
-        // Attach failed. Release association with this service.
-        m_webGeolocationService = 0;
-    }
-}
-
-void WebGeolocationServiceBridgeImpl::setIsAllowed(bool allowed)
-{
-    m_geolocationServiceChromium->setIsAllowed(allowed);
-}
-
-void WebGeolocationServiceBridgeImpl::setLastPosition(double latitude, double longitude, bool providesAltitude, double altitude, double accuracy, bool providesAltitudeAccuracy, double altitudeAccuracy, bool providesHeading, double heading, bool providesSpeed, double speed, long long timestamp)
-{
-    RefPtr<Geoposition> geoposition = Geoposition::create(Coordinates::create(latitude, longitude, providesAltitude, altitude, accuracy, providesAltitudeAccuracy, altitudeAccuracy, providesHeading, heading, providesSpeed, speed), timestamp);
-    m_geolocationServiceChromium->setLastPosition(geoposition);
-}
-
-void WebGeolocationServiceBridgeImpl::setLastError(int errorCode, const WebString& message)
-{
-    m_geolocationServiceChromium->setLastError(errorCode, message);
-}
-
-void WebGeolocationServiceBridgeImpl::didDestroyGeolocationService()
-{
-    m_bridgeId = 0;
-    m_webGeolocationService = 0;
-}
-
-bool WebGeolocationServiceBridgeImpl::isAttached() const
-{
-    // Test the class invariant.
-    if (m_webGeolocationService)
-        ASSERT(m_bridgeId);
-    else
-        ASSERT(!m_bridgeId);
-
-    return m_webGeolocationService;
-}
-
-} // namespace WebKit
-
-#endif // ENABLE(GEOLOCATION)
diff --git a/WebKit/chromium/src/WebGeolocationServiceBridgeImpl.h b/WebKit/chromium/src/WebGeolocationServiceBridgeImpl.h
deleted file mode 100644
index 2c37bcb..0000000
--- a/WebKit/chromium/src/WebGeolocationServiceBridgeImpl.h
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright (c) 2010, Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- *     * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *     * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- *     * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef WebGeolocationServiceBridgeImpl_h
-#define WebGeolocationServiceBridgeImpl_h
-
-namespace WebCore {
-class GeolocationServiceBridge;
-class GeolocationServiceChromium;
-}
-
-namespace WebKit {
-WebCore::GeolocationServiceBridge* createGeolocationServiceBridgeImpl(WebCore::GeolocationServiceChromium*);
-} // namespace WebKit
-
-#endif // WebGeolocationServiceBridgeImpl_h
diff --git a/WebKit/chromium/src/WebGeolocationServiceMock.cpp b/WebKit/chromium/src/WebGeolocationServiceMock.cpp
deleted file mode 100644
index 667b8b1..0000000
--- a/WebKit/chromium/src/WebGeolocationServiceMock.cpp
+++ /dev/null
@@ -1,242 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- *     * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *     * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- *     * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-#include "WebGeolocationServiceMock.h"
-
-#include "GeolocationService.h"
-#include "GeolocationServiceChromium.h"
-#include "GeolocationServiceMock.h"
-#include "WebGeolocationServiceBridge.h"
-#include "WebString.h"
-#include <wtf/CurrentTime.h>
-#include <wtf/HashMap.h>
-#include <wtf/Vector.h>
-
-#if ENABLE(GEOLOCATION)
-using WebCore::Coordinates;
-using WebCore::Frame;
-using WebCore::Geolocation;
-using WebCore::GeolocationServiceBridge;
-using WebCore::GeolocationServiceChromium;
-using WebCore::GeolocationServiceClient;
-using WebCore::GeolocationServiceMock;
-using WebCore::Geoposition;
-using WebCore::PositionError;
-using WebCore::PositionOptions;
-using WTF::String;
-using WTF::Vector;
-
-namespace WebCore {
-class GeolocationServiceChromiumMock : public GeolocationServiceChromium, public GeolocationServiceClient {
-public:
-    static GeolocationService* create(GeolocationServiceClient*);
-    virtual bool startUpdating(PositionOptions*);
-    virtual void stopUpdating();
-    virtual Geoposition* lastPosition() const;
-    virtual PositionError* lastError() const;
-
-    virtual void geolocationServicePositionChanged(GeolocationService*);
-    virtual void geolocationServiceErrorOccurred(GeolocationService*);
-
-private:
-    explicit GeolocationServiceChromiumMock(GeolocationServiceClient*);
-
-    GeolocationServiceClient* m_geolocationServiceClient;
-    OwnPtr<GeolocationService> m_geolocationServiceMock;
-};
-
-GeolocationService* GeolocationServiceChromiumMock::create(GeolocationServiceClient* geolocationServiceClient)
-{
-    return new GeolocationServiceChromiumMock(geolocationServiceClient);
-}
-
-GeolocationServiceChromiumMock::GeolocationServiceChromiumMock(GeolocationServiceClient* geolocationServiceClient)
-    : GeolocationServiceChromium(geolocationServiceClient),
-      m_geolocationServiceClient(geolocationServiceClient)
-{
-      m_geolocationServiceMock.set(GeolocationServiceMock::create(this));
-}
-
-bool GeolocationServiceChromiumMock::startUpdating(PositionOptions* positionOptions)
-{
-    GeolocationServiceChromium::startUpdating(positionOptions);
-    return m_geolocationServiceMock->startUpdating(positionOptions);
-}
-
-void GeolocationServiceChromiumMock::stopUpdating()
-{
-    GeolocationServiceChromium::stopUpdating();
-    m_geolocationServiceMock->stopUpdating();
-}
-
-Geoposition* GeolocationServiceChromiumMock::lastPosition() const
-{
-    return m_geolocationServiceMock->lastPosition();
-}
-
-PositionError* GeolocationServiceChromiumMock::lastError() const
-{
-    return m_geolocationServiceMock->lastError();
-}
-
-void GeolocationServiceChromiumMock::geolocationServicePositionChanged(GeolocationService* geolocationService)
-{
-    ASSERT_UNUSED(geolocationService, geolocationService == m_geolocationServiceMock);
-    m_geolocationServiceClient->geolocationServicePositionChanged(this);
-
-}
-
-void GeolocationServiceChromiumMock::geolocationServiceErrorOccurred(GeolocationService* geolocationService)
-{
-    ASSERT_UNUSED(geolocationService, geolocationService == m_geolocationServiceMock);
-    m_geolocationServiceClient->geolocationServiceErrorOccurred(this);
-}
-
-} // namespace WebCore
-
-namespace WebKit {
-
-class WebGeolocationServiceMockImpl : public WebGeolocationServiceMock {
-public:
-    WebGeolocationServiceMockImpl();
-    virtual ~WebGeolocationServiceMockImpl();
-    static void setMockGeolocationPermission(bool allowed);
-
-    // WebGeolocationService
-    virtual void requestPermissionForFrame(int bridgeId, const WebURL& url);
-    virtual int attachBridge(WebGeolocationServiceBridge*);
-    virtual void detachBridge(int bridgeId);
-
-private:
-    void notifyPendingPermissions();
-
-    typedef HashMap<int, WebGeolocationServiceBridge*> IdToBridgeMap;
-    IdToBridgeMap m_idToBridgeMap;
-    Vector<int> m_pendingPermissionRequests;
-
-    // In addition to the singleton instance pointer, we need to keep the setMockGeolocationPermission() state
-    // as a static (not object members) as this call may come in before the service has been created.
-    static enum PermissionState {
-        PermissionStateUnset,
-        PermissionStateAllowed,
-        PermissionStateDenied,
-    } s_permissionState;
-    static WebGeolocationServiceMockImpl* s_instance;
-};
-
-WebGeolocationServiceMockImpl::PermissionState WebGeolocationServiceMockImpl::s_permissionState = WebGeolocationServiceMockImpl::PermissionStateUnset;
-WebGeolocationServiceMockImpl* WebGeolocationServiceMockImpl::s_instance = 0;
-
-WebGeolocationServiceMock* WebGeolocationServiceMock::createWebGeolocationServiceMock()
-{
-    return new WebGeolocationServiceMockImpl;
-}
-
-void WebGeolocationServiceMock::setMockGeolocationPermission(bool allowed)
-{
-    WebGeolocationServiceMockImpl::setMockGeolocationPermission(allowed);
-}
-
-void WebGeolocationServiceMock::setMockGeolocationPosition(double latitude, double longitude, double accuracy)
-{
-    WebCore::GeolocationService::setCustomMockFactory(&WebCore::GeolocationServiceChromiumMock::create);
-    RefPtr<Geoposition> geoposition = Geoposition::create(Coordinates::create(latitude, longitude, false, 0, accuracy, true, 0, false, 0, false, 0), currentTime() * 1000.0);
-    GeolocationServiceMock::setPosition(geoposition);
-}
-
-void WebGeolocationServiceMock::setMockGeolocationError(int errorCode, const WebString& message)
-{
-    WebCore::GeolocationService::setCustomMockFactory(&WebCore::GeolocationServiceChromiumMock::create);
-    RefPtr<PositionError> positionError = PositionError::create(static_cast<PositionError::ErrorCode>(errorCode), message);
-    GeolocationServiceMock::setError(positionError);
-}
-
-WebGeolocationServiceMockImpl::WebGeolocationServiceMockImpl()
-{
-    ASSERT(!s_instance);
-    s_instance = this;
-}
-
-WebGeolocationServiceMockImpl::~WebGeolocationServiceMockImpl()
-{
-    ASSERT(this == s_instance);
-    s_instance = 0;
-    // Reset the permission state, so any future service instance (e.g. running
-    // multiple tests in a single DRT run) will see a clean call sequence.
-    s_permissionState = PermissionStateUnset;
-    for (IdToBridgeMap::iterator it = m_idToBridgeMap.begin(); it != m_idToBridgeMap.end(); ++it)
-        it->second->didDestroyGeolocationService();
-}
-
-void WebGeolocationServiceMockImpl::setMockGeolocationPermission(bool allowed)
-{
-    s_permissionState = allowed ? PermissionStateAllowed : PermissionStateDenied;
-    if (s_instance)
-        s_instance->notifyPendingPermissions();
-}
-
-void WebGeolocationServiceMockImpl::requestPermissionForFrame(int bridgeId, const WebURL& url)
-{
-    m_pendingPermissionRequests.append(bridgeId);
-    if (s_permissionState != PermissionStateUnset)
-        notifyPendingPermissions();
-}
-
-int WebGeolocationServiceMockImpl::attachBridge(WebGeolocationServiceBridge* bridge)
-{
-    static int nextAvailableWatchId = 1;
-    // In case of overflow, make sure the ID remains positive, but reuse the ID values.
-    if (nextAvailableWatchId < 1)
-        nextAvailableWatchId = 1;
-    m_idToBridgeMap.set(nextAvailableWatchId, bridge);
-    return nextAvailableWatchId++;
-}
-
-void WebGeolocationServiceMockImpl::detachBridge(int bridgeId)
-{
-    m_idToBridgeMap.remove(bridgeId);
-}
-
-void WebGeolocationServiceMockImpl::notifyPendingPermissions()
-{
-    ASSERT(s_permissionState == PermissionStateAllowed || s_permissionState ==  PermissionStateDenied);
-    Vector<int> pendingPermissionRequests;
-    pendingPermissionRequests.swap(m_pendingPermissionRequests);
-    for (Vector<int>::const_iterator it = pendingPermissionRequests.begin(); it != pendingPermissionRequests.end(); ++it) {
-        ASSERT(*it > 0);
-        IdToBridgeMap::iterator iter = m_idToBridgeMap.find(*it);
-        if (iter != m_idToBridgeMap.end())
-            iter->second->setIsAllowed(s_permissionState == PermissionStateAllowed);
-    }
-}
-
-} // namespace WebKit
-#endif // ENABLE(GEOLOCATION)
diff --git a/WebKit/chromium/src/WebViewImpl.cpp b/WebKit/chromium/src/WebViewImpl.cpp
index e47c89e..7056a0a 100644
--- a/WebKit/chromium/src/WebViewImpl.cpp
+++ b/WebKit/chromium/src/WebViewImpl.cpp
@@ -311,9 +311,7 @@ WebViewImpl::WebViewImpl(WebViewClient* client, WebDevToolsAgentClient* devTools
     , m_speechInputClient(SpeechInputClientImpl::create(client))
 #endif
     , m_deviceOrientationClientProxy(new DeviceOrientationClientProxy(client ? client->deviceOrientationClient() : 0))
-#if ENABLE(CLIENT_BASED_GEOLOCATION)
     , m_geolocationClientProxy(new GeolocationClientProxy(client ? client->geolocationClient() : 0))
-#endif
 {
     // WebKit/win/WebView.cpp does the same thing, except they call the
     // KJS specific wrapper around this method. We need to have threading
@@ -337,15 +335,11 @@ WebViewImpl::WebViewImpl(WebViewClient* client, WebDevToolsAgentClient* devTools
     pageClients.speechInputClient = m_speechInputClient.get();
 #endif
     pageClients.deviceOrientationClient = m_deviceOrientationClientProxy.get();
-#if ENABLE(CLIENT_BASED_GEOLOCATION)
     pageClients.geolocationClient = m_geolocationClientProxy.get();
-#endif
 
     m_page.set(new Page(pageClients));
 
-#if ENABLE(CLIENT_BASED_GEOLOCATION)
     m_geolocationClientProxy->setController(m_page->geolocationController());
-#endif
 
     static_cast<BackForwardListImpl*>(m_page->backForwardList())->setClient(&m_backForwardListClientImpl);
     m_page->setGroupName(pageGroupName);
diff --git a/WebKit/chromium/src/WebViewImpl.h b/WebKit/chromium/src/WebViewImpl.h
index cc25c84..0857d11 100644
--- a/WebKit/chromium/src/WebViewImpl.h
+++ b/WebKit/chromium/src/WebViewImpl.h
@@ -543,10 +543,7 @@ private:
     // early. This member holds on to the GC3D in this case.
     RefPtr<WebCore::GraphicsContext3D> m_temporaryOnscreenGraphicsContext3D;
     OwnPtr<DeviceOrientationClientProxy> m_deviceOrientationClientProxy;
-
-#if ENABLE(CLIENT_BASED_GEOLOCATION)
     OwnPtr<GeolocationClientProxy> m_geolocationClientProxy;
-#endif
 };
 
 } // namespace WebKit

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list