[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc

commit-queue at webkit.org commit-queue at webkit.org
Wed Dec 22 14:34:54 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit 36a8cc8fb88578f62aa08ffebc931faae2497be7
Author: commit-queue at webkit.org <commit-queue at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Wed Oct 13 18:01:39 2010 +0000

    2010-10-13  John Knottenbelt  <jknotten at chromium.org>
    
            Reviewed by Steve Block.
    
            First step towards client-based Geolocation in Chromium. Build
            fixes for CLIENT_BASED_GEOLOCATION preprocessor feature define.
            https://bugs.webkit.org/show_bug.cgi?id=47586
    
            * WebCore.gyp/WebCore.gyp:
            * platform/chromium/ChromiumBridge.h:
            * platform/chromium/GeolocationServiceChromium.cpp:
    2010-10-13  John Knottenbelt  <jknotten at chromium.org>
    
            Reviewed by Steve Block.
    
            First step towards client-based Geolocation in Chromium. Build
            fixes for CLIENT_BASED_GEOLOCATION preprocessor feature define.
            https://bugs.webkit.org/show_bug.cgi?id=47586
    
            * WebKit.gyp:
            * src/ChromeClientImpl.cpp:
            (WebKit::ChromeClientImpl::requestGeolocationPermissionForFrame):
            (WebKit::ChromeClientImpl::cancelGeolocationPermissionRequestForFrame):
            * src/ChromiumBridge.cpp:
            * src/WebGeolocationServiceMock.cpp:
            (WebKit::WebGeolocationServiceMock::createWebGeolocationServiceMock):
            (WebKit::WebGeolocationServiceMock::setMockGeolocationPermission):
            (WebKit::WebGeolocationServiceMock::setMockGeolocationPosition):
            (WebKit::WebGeolocationServiceMock::setMockGeolocationError):
    2010-10-13  John Knottenbelt  <jknotten at chromium.org>
    
            Reviewed by Steve Block.
    
            First step towards client-based Geolocation in Chromium. Build
            fixes for CLIENT_BASED_GEOLOCATION preprocessor feature define.
            https://bugs.webkit.org/show_bug.cgi?id=47586
    
            * DumpRenderTree/chromium/WebViewHost.cpp:
            * DumpRenderTree/chromium/WebViewHost.h:
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@69673 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index b890b6a..0882724 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,15 @@
+2010-10-13  John Knottenbelt  <jknotten at chromium.org>
+
+        Reviewed by Steve Block.
+
+        First step towards client-based Geolocation in Chromium. Build
+        fixes for CLIENT_BASED_GEOLOCATION preprocessor feature define.
+        https://bugs.webkit.org/show_bug.cgi?id=47586
+
+        * WebCore.gyp/WebCore.gyp:
+        * platform/chromium/ChromiumBridge.h:
+        * platform/chromium/GeolocationServiceChromium.cpp:
+
 2010-10-13  Steve Block  <steveblock at google.com>
 
         Unreviewed fix
diff --git a/WebCore/WebCore.gyp/WebCore.gyp b/WebCore/WebCore.gyp/WebCore.gyp
index 2f45799..ab0d338 100644
--- a/WebCore/WebCore.gyp/WebCore.gyp
+++ b/WebCore/WebCore.gyp/WebCore.gyp
@@ -1202,6 +1202,11 @@
             ['exclude', 'Posix\\.cpp$'],
           ],
         }],
+        ['"ENABLE_CLIENT_BASED_GEOLOCATION=1" in feature_defines', {
+          'sources/': [
+            ['exclude', '/GeolocationService.*$'],
+          ],
+        }],
       ],
     },
     {
diff --git a/WebCore/platform/chromium/ChromiumBridge.h b/WebCore/platform/chromium/ChromiumBridge.h
index 1c819e5..74bad04 100644
--- a/WebCore/platform/chromium/ChromiumBridge.h
+++ b/WebCore/platform/chromium/ChromiumBridge.h
@@ -154,9 +154,10 @@ 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/WebCore/platform/chromium/GeolocationServiceChromium.cpp b/WebCore/platform/chromium/GeolocationServiceChromium.cpp
index b64f5eb..c5e73ae 100644
--- a/WebCore/platform/chromium/GeolocationServiceChromium.cpp
+++ b/WebCore/platform/chromium/GeolocationServiceChromium.cpp
@@ -33,6 +33,10 @@
 
 #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()
diff --git a/WebKit/chromium/ChangeLog b/WebKit/chromium/ChangeLog
index cc1672c..44c8855 100644
--- a/WebKit/chromium/ChangeLog
+++ b/WebKit/chromium/ChangeLog
@@ -1,3 +1,22 @@
+2010-10-13  John Knottenbelt  <jknotten at chromium.org>
+
+        Reviewed by Steve Block.
+
+        First step towards client-based Geolocation in Chromium. Build
+        fixes for CLIENT_BASED_GEOLOCATION preprocessor feature define.
+        https://bugs.webkit.org/show_bug.cgi?id=47586
+
+        * WebKit.gyp:
+        * src/ChromeClientImpl.cpp:
+        (WebKit::ChromeClientImpl::requestGeolocationPermissionForFrame):
+        (WebKit::ChromeClientImpl::cancelGeolocationPermissionRequestForFrame):
+        * src/ChromiumBridge.cpp:
+        * src/WebGeolocationServiceMock.cpp:
+        (WebKit::WebGeolocationServiceMock::createWebGeolocationServiceMock):
+        (WebKit::WebGeolocationServiceMock::setMockGeolocationPermission):
+        (WebKit::WebGeolocationServiceMock::setMockGeolocationPosition):
+        (WebKit::WebGeolocationServiceMock::setMockGeolocationError):
+
 2010-10-11  Andrei Popescu  <andreip at google.com>
 
         Reviewed by Jeremy Orlow.
diff --git a/WebKit/chromium/WebKit.gyp b/WebKit/chromium/WebKit.gyp
index 7486881..9a03b98 100644
--- a/WebKit/chromium/WebKit.gyp
+++ b/WebKit/chromium/WebKit.gyp
@@ -646,6 +646,12 @@
                         }],
                     ],
                 }],
+                ['"ENABLE_CLIENT_BASED_GEOLOCATION=1" in feature_defines', {
+                    'sources/': [
+                        ['exclude', 'WebGeolocationService.*$'],
+                        ['include', 'WebGeolocationServiceMock.*'],
+                    ],
+                }]
             ],
         },
 
diff --git a/WebKit/chromium/src/ChromeClientImpl.cpp b/WebKit/chromium/src/ChromeClientImpl.cpp
index 574a9f6..350371a 100644
--- a/WebKit/chromium/src/ChromeClientImpl.cpp
+++ b/WebKit/chromium/src/ChromeClientImpl.cpp
@@ -771,15 +771,23 @@ NotificationPresenter* ChromeClientImpl::notificationPresenter() const
 
 void ChromeClientImpl::requestGeolocationPermissionForFrame(Frame* frame, Geolocation* geolocation)
 {
+#if ENABLE(CLIENT_BASED_GEOLOCATION)
+    // FIXME: Implement Client-based Geolocation Permissions
+#else
     GeolocationServiceChromium* geolocationService = static_cast<GeolocationServiceChromium*>(geolocation->getGeolocationService());
     geolocationService->geolocationServiceBridge()->attachBridgeIfNeeded();
     m_webView->client()->geolocationService()->requestPermissionForFrame(geolocationService->geolocationServiceBridge()->getBridgeId(), frame->document()->url());
+#endif
 }
 
 void ChromeClientImpl::cancelGeolocationPermissionRequestForFrame(Frame* frame, Geolocation* geolocation)
 {
+#if ENABLE(CLIENT_BASED_GEOLOCATION)
+    // FIXME: Implement Client-based Geolocation Permissions
+#else
     GeolocationServiceChromium* geolocationService = static_cast<GeolocationServiceChromium*>(geolocation->getGeolocationService());
     m_webView->client()->geolocationService()->cancelPermissionRequestForFrame(geolocationService->geolocationServiceBridge()->getBridgeId(), frame->document()->url());
+#endif
 }
 
 #if USE(ACCELERATED_COMPOSITING)
diff --git a/WebKit/chromium/src/ChromiumBridge.cpp b/WebKit/chromium/src/ChromiumBridge.cpp
index 03af7c5..1c58824 100644
--- a/WebKit/chromium/src/ChromiumBridge.cpp
+++ b/WebKit/chromium/src/ChromiumBridge.cpp
@@ -86,7 +86,11 @@
 #include "PlatformContextSkia.h"
 #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>
@@ -465,12 +469,14 @@ bool ChromiumBridge::loadFont(NSFont* srcFont, ATSFontContainerRef* out)
 }
 #endif
 
+#if !ENABLE(CLIENT_BASED_GEOLOCATION)
 // Geolocation ----------------------------------------------------------------
 
 GeolocationServiceBridge* ChromiumBridge::createGeolocationServiceBridge(GeolocationServiceChromium* geolocationServiceChromium)
 {
     return createGeolocationServiceBridgeImpl(geolocationServiceChromium);
 }
+#endif
 
 // Databases ------------------------------------------------------------------
 
diff --git a/WebKit/chromium/src/WebGeolocationServiceMock.cpp b/WebKit/chromium/src/WebGeolocationServiceMock.cpp
index e149cf1..07d3f44 100644
--- a/WebKit/chromium/src/WebGeolocationServiceMock.cpp
+++ b/WebKit/chromium/src/WebGeolocationServiceMock.cpp
@@ -42,6 +42,38 @@
 
 #if ENABLE(GEOLOCATION)
 
+#if ENABLE(CLIENT_BASED_GEOLOCATION)
+// FIXME: Implement mock bindings for client-based geolocation. Ultimately
+// move to another class and remove WebGeolocationService*.
+
+namespace WebKit {
+
+class WebGeolocationServiceMockClientBasedImpl : public WebGeolocationServiceMock {
+};
+
+WebGeolocationServiceMock* WebGeolocationServiceMock::createWebGeolocationServiceMock()
+{
+    return new WebGeolocationServiceMockClientBasedImpl;
+}
+
+void WebGeolocationServiceMock::setMockGeolocationPermission(bool allowed)
+{
+    // FIXME: Implement mock binding
+}
+
+void WebGeolocationServiceMock::setMockGeolocationPosition(double latitude, double longitude, double accuracy)
+{
+    // FIXME: Implement mock binding
+}
+
+void WebGeolocationServiceMock::setMockGeolocationError(int errorCode, const WebString& message)
+{
+    // FIXME: Implement mock binding
+}
+
+} // namespace WebKit
+
+#else
 using WebCore::Coordinates;
 using WebCore::Frame;
 using WebCore::Geolocation;
@@ -241,4 +273,5 @@ void WebGeolocationServiceMockImpl::notifyPendingPermissions()
 
 } // namespace WebKit
 
+#endif // ENABLE(CLIENT_BASED_GEOLOCATION)
 #endif // ENABLE(GEOLOCATION)
diff --git a/WebKitTools/ChangeLog b/WebKitTools/ChangeLog
index 97060f4..ecf2982 100644
--- a/WebKitTools/ChangeLog
+++ b/WebKitTools/ChangeLog
@@ -1,3 +1,14 @@
+2010-10-13  John Knottenbelt  <jknotten at chromium.org>
+
+        Reviewed by Steve Block.
+
+        First step towards client-based Geolocation in Chromium. Build
+        fixes for CLIENT_BASED_GEOLOCATION preprocessor feature define.
+        https://bugs.webkit.org/show_bug.cgi?id=47586
+
+        * DumpRenderTree/chromium/WebViewHost.cpp:
+        * DumpRenderTree/chromium/WebViewHost.h:
+
 2010-10-13  Adam Roben  <aroben at apple.com>
 
         Test that pressing the spacebar in a text field does not scroll the
diff --git a/WebKitTools/DumpRenderTree/chromium/WebViewHost.cpp b/WebKitTools/DumpRenderTree/chromium/WebViewHost.cpp
index 03167ef..5a64856 100644
--- a/WebKitTools/DumpRenderTree/chromium/WebViewHost.cpp
+++ b/WebKitTools/DumpRenderTree/chromium/WebViewHost.cpp
@@ -559,12 +559,14 @@ WebNotificationPresenter* WebViewHost::notificationPresenter()
     return m_shell->notificationPresenter();
 }
 
+#if !ENABLE(CLIENT_BASED_GEOLOCATION)
 WebKit::WebGeolocationService* WebViewHost::geolocationService()
 {
     if (!m_geolocationServiceMock.get())
         m_geolocationServiceMock.set(WebGeolocationServiceMock::createWebGeolocationServiceMock());
     return m_geolocationServiceMock.get();
 }
+#endif
 
 WebSpeechInputController* WebViewHost::speechInputController(WebKit::WebSpeechInputListener* listener)
 {
diff --git a/WebKitTools/DumpRenderTree/chromium/WebViewHost.h b/WebKitTools/DumpRenderTree/chromium/WebViewHost.h
index d60ea76..db50506 100644
--- a/WebKitTools/DumpRenderTree/chromium/WebViewHost.h
+++ b/WebKitTools/DumpRenderTree/chromium/WebViewHost.h
@@ -129,7 +129,9 @@ 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::WebGeolocationService* geolocationService();
+#endif
     virtual WebKit::WebSpeechInputController* speechInputController(WebKit::WebSpeechInputListener*);
     virtual WebKit::WebDeviceOrientationClient* deviceOrientationClient();
 
@@ -287,8 +289,10 @@ private:
     WebKit::WebRect m_paintRect;
     bool m_isPainting;
 
+#if !ENABLE(CLIENT_BASED_GEOLOCATION)
     // Geolocation
     OwnPtr<WebKit::WebGeolocationServiceMock> m_geolocationServiceMock;
+#endif
 
     OwnPtr<TestNavigationController*> m_navigationController;
 };

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list