Changeset 56803 in webkit
- Timestamp:
- Mar 30, 2010 12:51:33 PM (14 years ago)
- Location:
- trunk
- Files:
-
- 1 added
- 9 edited
- 2 copied
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
trunk/WebCore/ChangeLog
r56800 r56803 1 2010-03-30 Marcus Bulach <bulach@chromium.org> 2 3 Reviewed by Darin Fisher. 4 5 Rename / tidy up Geolocation bridge 6 Uses Geoposition instead of individual params for setLastPosition. 7 https://bugs.webkit.org/show_bug.cgi?id=36535 8 9 * platform/chromium/GeolocationServiceChromium.cpp: 10 (WebCore::GeolocationServiceChromium::GeolocationServiceChromium): 11 (WebCore::GeolocationServiceChromium::setIsAllowed): 12 (WebCore::GeolocationServiceChromium::setLastPosition): 13 * platform/chromium/GeolocationServiceChromium.h: 14 1 15 2010-03-30 Adam Langley <agl@chromium.org> 2 16 -
trunk/WebCore/platform/chromium/GeolocationServiceChromium.cpp
r56726 r56803 1 1 /* 2 2 * Copyright (c) 2010, Google Inc. All rights reserved. 3 * 3 * 4 4 * Redistribution and use in source and binary forms, with or without 5 5 * modification, are permitted provided that the following conditions are 6 6 * met: 7 * 7 * 8 8 * * Redistributions of source code must retain the above copyright 9 9 * notice, this list of conditions and the following disclaimer. … … 15 15 * contributors may be used to endorse or promote products derived from 16 16 * this software without specific prior written permission. 17 * 17 * 18 18 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 19 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT … … 46 46 void GeolocationServiceChromium::setIsAllowed(bool allowed) 47 47 { 48 m_geolocation->setIsAllowed(allowed); 48 m_geolocation->setIsAllowed(allowed); 49 49 } 50 50 51 void GeolocationServiceChromium::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)51 void GeolocationServiceChromium::setLastPosition(PassRefPtr<Geoposition> geoposition) 52 52 { 53 m_lastPosition = Geoposition::create(Coordinates::create(latitude, longitude, providesAltitude, altitude, accuracy, providesAltitudeAccuracy, altitudeAccuracy, providesHeading, heading, providesSpeed, speed), timestamp);53 m_lastPosition = geoposition; 54 54 positionChanged(); 55 55 } -
trunk/WebCore/platform/chromium/GeolocationServiceChromium.h
r54883 r56803 1 1 /* 2 2 * Copyright (c) 2010, Google Inc. All rights reserved. 3 * 3 * 4 4 * Redistribution and use in source and binary forms, with or without 5 5 * modification, are permitted provided that the following conditions are 6 6 * met: 7 * 7 * 8 8 * * Redistributions of source code must retain the above copyright 9 9 * notice, this list of conditions and the following disclaimer. … … 15 15 * contributors may be used to endorse or promote products derived from 16 16 * this software without specific prior written permission. 17 * 17 * 18 18 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 19 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT … … 62 62 GeolocationServiceBridge* geolocationServiceBridge() const { return m_geolocationServiceBridge.get(); } 63 63 void setIsAllowed(bool allowed); 64 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);64 void setLastPosition(PassRefPtr<Geoposition>); 65 65 void setLastError(int errorCode, const String& message); 66 66 Frame* frame(); … … 76 76 private: 77 77 Geolocation* m_geolocation; 78 OwnPtr<GeolocationServiceBridge> m_geolocationServiceBridge; 78 OwnPtr<GeolocationServiceBridge> m_geolocationServiceBridge; 79 79 RefPtr<Geoposition> m_lastPosition; 80 80 RefPtr<PositionError> m_lastError; -
trunk/WebKit/chromium/ChangeLog
r56782 r56803 1 2010-03-30 Marcus Bulach <bulach@chromium.org> 2 3 Reviewed by Darin Fisher. 4 5 Rename / tidy up Geolocation bridge: 6 Rename GeolocationServiceBridgeChromium.cpp to WebGeolocationServiceBridgeImpl.cpp 7 Uses a temporary compatibility layer in GeolocationServiceBridgeChromium.h. 8 9 https://bugs.webkit.org/show_bug.cgi?id=36535 10 11 * WebKit.gyp: 12 * public/GeolocationServiceBridgeChromium.h: 13 * public/WebGeolocationService.h: Copied from WebKit/chromium/public/GeolocationServiceBridgeChromium.h. 14 (WebKit::WebGeolocationService::detachBridge): 15 * public/WebGeolocationServiceBridge.h: Copied from WebKit/chromium/public/GeolocationServiceBridgeChromium.h. 16 * public/WebViewClient.h: 17 (WebKit::WebViewClient::geolocationService): 18 * src/ChromeClientImpl.cpp: 19 (WebKit::ChromeClientImpl::requestGeolocationPermissionForFrame): 20 * src/ChromiumBridge.cpp: 21 * src/GeolocationServiceBridgeChromium.cpp: Removed. 22 * src/WebGeolocationServiceBridgeImpl.cpp: Copied from WebKit/chromium/src/GeolocationServiceBridgeChromium.cpp. 23 (WebKit::createGeolocationServiceBridgeImpl): 24 (WebKit::WebGeolocationServiceBridgeImpl::WebGeolocationServiceBridgeImpl): 25 (WebKit::WebGeolocationServiceBridgeImpl::~WebGeolocationServiceBridgeImpl): 26 (WebKit::WebGeolocationServiceBridgeImpl::startUpdating): 27 (WebKit::WebGeolocationServiceBridgeImpl::stopUpdating): 28 (WebKit::WebGeolocationServiceBridgeImpl::suspend): 29 (WebKit::WebGeolocationServiceBridgeImpl::resume): 30 (WebKit::WebGeolocationServiceBridgeImpl::getBridgeId): 31 (WebKit::WebGeolocationServiceBridgeImpl::setIsAllowed): 32 (WebKit::WebGeolocationServiceBridgeImpl::setLastPosition): 33 (WebKit::WebGeolocationServiceBridgeImpl::setLastError): 34 (WebKit::WebGeolocationServiceBridgeImpl::getWebViewClient): 35 * src/WebGeolocationServiceBridgeImpl.h: Copied from WebKit/chromium/public/GeolocationServiceBridgeChromium.h. 36 1 37 2010-03-30 Jochen Eisinger <jochen@chromium.org> 2 38 -
trunk/WebKit/chromium/WebKit.gyp
r56777 r56803 123 123 'public/WebFormControlElement.h', 124 124 'public/WebFormElement.h', 125 'public/WebGeolocationService.h', 126 'public/WebGeolocationServiceBridge.h', 125 127 'public/WebGlyphCache.h', 126 128 'public/WebGraphicsContext3D.h', … … 247 249 'src/FrameLoaderClientImpl.cpp', 248 250 'src/FrameLoaderClientImpl.h', 249 'src/GeolocationServiceBridgeChromium.cpp',250 251 'src/gtk/WebFontInfo.cpp', 251 252 'src/gtk/WebFontInfo.h', … … 324 325 'src/WebFrameImpl.cpp', 325 326 'src/WebFrameImpl.h', 327 'src/WebGeolocationServiceBridgeImpl.cpp', 328 'src/WebGeolocationServiceBridgeImpl.h', 326 329 'src/WebGlyphCache.cpp', 327 330 'src/WebGraphicsContext3D.cpp', -
trunk/WebKit/chromium/public/GeolocationServiceBridgeChromium.h
r56011 r56803 32 32 #define GeolocationServiceBridgeChromium_h 33 33 34 namespace WebCore { 35 class GeolocationServiceBridge; 36 class GeolocationServiceChromium; 37 } 34 #include "WebGeolocationService.h" 38 35 39 36 namespace WebKit { 40 37 41 class WebString; 42 class WebURL; 43 44 // Provides a WebKit API called by the embedder. 45 class WebGeolocationServiceBridge { 46 public: 47 virtual void setIsAllowed(bool allowed) = 0; 48 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; 49 virtual void setLastError(int errorCode, const WebString& message) = 0; 38 // DEPRECATED: remove this file, this is a temporary compatibility layer for 39 // renaming WebGeolocationServiceInterface to WebGeolocationService. 40 class WebGeolocationServiceInterface : public WebGeolocationService { 50 41 }; 51 52 // Provides an embedder API called by WebKit.53 class WebGeolocationServiceInterface {54 public:55 virtual void requestPermissionForFrame(int bridgeId, const WebURL& url) = 0;56 virtual void startUpdating(int bridgeId, const WebURL& url, bool enableHighAccuracy) = 0;57 virtual void stopUpdating(int bridgeId) = 0;58 virtual void suspend(int bridgeId) = 0;59 virtual void resume(int bridgeId) = 0;60 61 // Attaches the GeolocationBridge to the embedder and returns its id, which62 // should be used on subsequent calls for the methods above.63 virtual int attachBridge(WebKit::WebGeolocationServiceBridge* geolocationServiceBridge) = 0;64 65 // Dettaches the GeolocationService from the embedder.66 virtual void dettachBridge(int bridgeId) = 0;67 };68 69 WebCore::GeolocationServiceBridge* createGeolocationServiceBridgeImpl(WebCore::GeolocationServiceChromium*);70 42 71 43 } // namespace WebKit -
trunk/WebKit/chromium/public/WebGeolocationService.h
r56802 r56803 29 29 */ 30 30 31 #ifndef GeolocationServiceBridgeChromium_h32 #define GeolocationServiceBridgeChromium_h31 #ifndef WebGeolocationService_h 32 #define WebGeolocationService_h 33 33 34 namespace WebCore { 35 class GeolocationServiceBridge; 36 class GeolocationServiceChromium; 37 } 34 #include "WebGeolocationServiceBridge.h" 38 35 39 36 namespace WebKit { … … 42 39 class WebURL; 43 40 44 // Provides a WebKit API called by the embedder.45 class WebGeolocationService Bridge{41 // Provides an embedder API called by WebKit. 42 class WebGeolocationService { 46 43 public: 47 virtual void setIsAllowed(bool allowed) = 0; 48 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; 49 virtual void setLastError(int errorCode, const WebString& message) = 0; 44 virtual void requestPermissionForFrame(int bridgeId, const WebURL& url) { } 45 virtual void startUpdating(int bridgeId, const WebURL& url, bool enableHighAccuracy) { } 46 virtual void stopUpdating(int bridgeId) { } 47 virtual void suspend(int bridgeId) { } 48 virtual void resume(int bridgeId) { } 49 50 // Attaches the WebGeolocationServiceBridge to the embedder and returns its 51 // id, which should be used on subsequent calls for the methods above. 52 virtual int attachBridge(WebGeolocationServiceBridge*) { return 0; } 53 54 // Detaches the WebGeolocationServiceBridge from the embedder. 55 virtual void detachBridge(int bridgeId) { dettachBridge(bridgeId); } 56 57 // DEPRECATED: this is a temporary compatibility layer, remove this method. 58 virtual void dettachBridge(int bridgeId) { } 50 59 }; 51 52 // Provides an embedder API called by WebKit.53 class WebGeolocationServiceInterface {54 public:55 virtual void requestPermissionForFrame(int bridgeId, const WebURL& url) = 0;56 virtual void startUpdating(int bridgeId, const WebURL& url, bool enableHighAccuracy) = 0;57 virtual void stopUpdating(int bridgeId) = 0;58 virtual void suspend(int bridgeId) = 0;59 virtual void resume(int bridgeId) = 0;60 61 // Attaches the GeolocationBridge to the embedder and returns its id, which62 // should be used on subsequent calls for the methods above.63 virtual int attachBridge(WebKit::WebGeolocationServiceBridge* geolocationServiceBridge) = 0;64 65 // Dettaches the GeolocationService from the embedder.66 virtual void dettachBridge(int bridgeId) = 0;67 };68 69 WebCore::GeolocationServiceBridge* createGeolocationServiceBridgeImpl(WebCore::GeolocationServiceChromium*);70 60 71 61 } // namespace WebKit 72 62 73 #endif // GeolocationServiceBridgeChromium_h63 #endif // WebGeolocationService_h -
trunk/WebKit/chromium/public/WebGeolocationServiceBridge.h
r56802 r56803 29 29 */ 30 30 31 #ifndef GeolocationServiceBridgeChromium_h32 #define GeolocationServiceBridgeChromium_h31 #ifndef WebGeolocationServiceBridge_h 32 #define WebGeolocationServiceBridge_h 33 33 34 34 namespace WebCore { … … 50 50 }; 51 51 52 // Provides an embedder API called by WebKit.53 class WebGeolocationServiceInterface {54 public:55 virtual void requestPermissionForFrame(int bridgeId, const WebURL& url) = 0;56 virtual void startUpdating(int bridgeId, const WebURL& url, bool enableHighAccuracy) = 0;57 virtual void stopUpdating(int bridgeId) = 0;58 virtual void suspend(int bridgeId) = 0;59 virtual void resume(int bridgeId) = 0;60 61 // Attaches the GeolocationBridge to the embedder and returns its id, which62 // should be used on subsequent calls for the methods above.63 virtual int attachBridge(WebKit::WebGeolocationServiceBridge* geolocationServiceBridge) = 0;64 65 // Dettaches the GeolocationService from the embedder.66 virtual void dettachBridge(int bridgeId) = 0;67 };68 69 WebCore::GeolocationServiceBridge* createGeolocationServiceBridgeImpl(WebCore::GeolocationServiceChromium*);70 71 52 } // namespace WebKit 72 53 73 #endif // GeolocationServiceBridgeChromium_h54 #endif // WebGeolocationServiceBridge_h -
trunk/WebKit/chromium/public/WebViewClient.h
r56449 r56803 32 32 #define WebViewClient_h 33 33 34 // DEPRECATED: this is a temporary compatibility layer, remove it. 35 #include "GeolocationServiceBridgeChromium.h" 34 36 #include "WebDragOperation.h" 35 37 #include "WebEditingAction.h" 36 38 #include "WebFileChooserCompletion.h" 37 39 #include "WebFileChooserParams.h" 40 #include "WebGeolocationServiceBridge.h" 38 41 #include "WebString.h" 39 42 #include "WebTextAffinity.h" … … 47 50 class WebFileChooserCompletion; 48 51 class WebFrame; 49 class WebGeolocationServiceInterface;50 52 class WebNode; 51 53 class WebNotificationPresenter; … … 292 294 293 295 // Access the embedder API for geolocation services. 296 virtual WebKit::WebGeolocationService* geolocationService() { return getGeolocationService(); } 297 298 // DEPRECATED: this is a temporary compatibility layer, remove it. 294 299 virtual WebKit::WebGeolocationServiceInterface* getGeolocationService() { return 0; } 295 300 -
trunk/WebKit/chromium/src/ChromeClientImpl.cpp
r56449 r56803 46 46 #include "Geolocation.h" 47 47 #include "GeolocationService.h" 48 #include " GeolocationServiceBridgeChromium.h"48 #include "WebGeolocationService.h" 49 49 #include "GeolocationServiceChromium.h" 50 50 #include "GraphicsLayer.h" … … 705 705 { 706 706 GeolocationServiceChromium* geolocationService = reinterpret_cast<GeolocationServiceChromium*>(geolocation->getGeolocationService()); 707 m_webView->client()->ge tGeolocationService()->requestPermissionForFrame(geolocationService->geolocationServiceBridge()->getBridgeId(), frame->document()->url());707 m_webView->client()->geolocationService()->requestPermissionForFrame(geolocationService->geolocationServiceBridge()->getBridgeId(), frame->document()->url()); 708 708 } 709 709 -
trunk/WebKit/chromium/src/ChromiumBridge.cpp
r56201 r56803 76 76 #include "Cookie.h" 77 77 #include "FrameView.h" 78 #include "GeolocationServiceBridgeChromium.h"79 78 #include "GraphicsContext.h" 80 79 #include "IndexedDatabaseProxy.h" … … 84 83 #include "PluginData.h" 85 84 #include "SharedBuffer.h" 85 #include "WebGeolocationServiceBridgeImpl.h" 86 86 #include "Worker.h" 87 87 #include "WorkerContextProxy.h" -
trunk/WebKit/chromium/src/WebGeolocationServiceBridgeImpl.cpp
r56802 r56803 30 30 31 31 #include "config.h" 32 33 #include "GeolocationServiceBridgeChromium.h" 32 #include "WebGeolocationServiceBridgeImpl.h" 34 33 35 34 #include "Chrome.h" … … 44 43 #include "WebFrame.h" 45 44 #include "WebFrameImpl.h" 45 #include "WebGeolocationService.h" 46 #include "WebGeolocationServiceBridge.h" 46 47 #include "WebViewClient.h" 47 48 #include "WebViewImpl.h" … … 62 63 namespace WebKit { 63 64 64 class GeolocationServiceBridgeImpl : public GeolocationServiceBridge, public WebGeolocationServiceBridge {65 class WebGeolocationServiceBridgeImpl : public GeolocationServiceBridge, public WebGeolocationServiceBridge { 65 66 public: 66 explicit GeolocationServiceBridgeImpl(GeolocationServiceChromium*);67 virtual ~ GeolocationServiceBridgeImpl();67 explicit WebGeolocationServiceBridgeImpl(GeolocationServiceChromium*); 68 virtual ~WebGeolocationServiceBridgeImpl(); 68 69 69 70 // GeolocationServiceBridge … … 89 90 GeolocationServiceBridge* createGeolocationServiceBridgeImpl(GeolocationServiceChromium* geolocationServiceChromium) 90 91 { 91 return new GeolocationServiceBridgeImpl(geolocationServiceChromium);92 return new WebGeolocationServiceBridgeImpl(geolocationServiceChromium); 92 93 } 93 94 94 GeolocationServiceBridgeImpl::GeolocationServiceBridgeImpl(GeolocationServiceChromium* geolocationServiceChromium)95 WebGeolocationServiceBridgeImpl::WebGeolocationServiceBridgeImpl(GeolocationServiceChromium* geolocationServiceChromium) 95 96 : m_GeolocationServiceChromium(geolocationServiceChromium) 96 97 { … … 98 99 // directly, and we need to be attached so that the embedder can call 99 100 // our setIsAllowed(). 100 m_bridgeId = getWebViewClient()->ge tGeolocationService()->attachBridge(this);101 m_bridgeId = getWebViewClient()->geolocationService()->attachBridge(this); 101 102 ASSERT(m_bridgeId); 102 103 } 103 104 104 GeolocationServiceBridgeImpl::~GeolocationServiceBridgeImpl()105 WebGeolocationServiceBridgeImpl::~WebGeolocationServiceBridgeImpl() 105 106 { 106 107 WebKit::WebViewClient* webViewClient = getWebViewClient(); 107 108 // Geolocation has an OwnPtr to us, and it's destroyed after the frame has 108 109 // been potentially disconnected. In this case, it calls stopUpdating() 109 // has been called and we have already det tached ourselves.110 if (!webViewClient) {110 // has been called and we have already detached ourselves. 111 if (!webViewClient) 111 112 ASSERT(!m_bridgeId); 112 }else if (m_bridgeId)113 webViewClient->ge tGeolocationService()->dettachBridge(m_bridgeId);113 else if (m_bridgeId) 114 webViewClient->geolocationService()->detachBridge(m_bridgeId); 114 115 } 115 116 116 bool GeolocationServiceBridgeImpl::startUpdating(PositionOptions* positionOptions)117 bool WebGeolocationServiceBridgeImpl::startUpdating(PositionOptions* positionOptions) 117 118 { 118 119 if (!m_bridgeId) 119 m_bridgeId = getWebViewClient()->ge tGeolocationService()->attachBridge(this);120 getWebViewClient()->ge tGeolocationService()->startUpdating(m_bridgeId, m_GeolocationServiceChromium->frame()->document()->url(), positionOptions->enableHighAccuracy());120 m_bridgeId = getWebViewClient()->geolocationService()->attachBridge(this); 121 getWebViewClient()->geolocationService()->startUpdating(m_bridgeId, m_GeolocationServiceChromium->frame()->document()->url(), positionOptions->enableHighAccuracy()); 121 122 return true; 122 123 } 123 124 124 void GeolocationServiceBridgeImpl::stopUpdating()125 void WebGeolocationServiceBridgeImpl::stopUpdating() 125 126 { 126 127 if (m_bridgeId) { 127 WebGeolocationService Interface* geolocationService = getWebViewClient()->getGeolocationService();128 WebGeolocationService* geolocationService = getWebViewClient()->geolocationService(); 128 129 geolocationService->stopUpdating(m_bridgeId); 129 geolocationService->det tachBridge(m_bridgeId);130 geolocationService->detachBridge(m_bridgeId); 130 131 m_bridgeId = 0; 131 132 } 132 133 } 133 134 134 void GeolocationServiceBridgeImpl::suspend()135 void WebGeolocationServiceBridgeImpl::suspend() 135 136 { 136 getWebViewClient()->ge tGeolocationService()->suspend(m_bridgeId);137 getWebViewClient()->geolocationService()->suspend(m_bridgeId); 137 138 } 138 139 139 void GeolocationServiceBridgeImpl::resume()140 void WebGeolocationServiceBridgeImpl::resume() 140 141 { 141 getWebViewClient()->ge tGeolocationService()->resume(m_bridgeId);142 getWebViewClient()->geolocationService()->resume(m_bridgeId); 142 143 } 143 144 144 int GeolocationServiceBridgeImpl::getBridgeId() const145 int WebGeolocationServiceBridgeImpl::getBridgeId() const 145 146 { 146 147 return m_bridgeId; 147 148 } 148 149 149 void GeolocationServiceBridgeImpl::setIsAllowed(bool allowed)150 void WebGeolocationServiceBridgeImpl::setIsAllowed(bool allowed) 150 151 { 151 152 m_GeolocationServiceChromium->setIsAllowed(allowed); 152 153 } 153 154 154 void GeolocationServiceBridgeImpl::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)155 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) 155 156 { 156 m_GeolocationServiceChromium->setLastPosition(latitude, longitude, providesAltitude, altitude, accuracy, providesAltitudeAccuracy, altitudeAccuracy, providesHeading, heading, providesSpeed, speed, timestamp); 157 RefPtr<Geoposition> geoposition = Geoposition::create(Coordinates::create(latitude, longitude, providesAltitude, altitude, accuracy, providesAltitudeAccuracy, altitudeAccuracy, providesHeading, heading, providesSpeed, speed), timestamp); 158 m_GeolocationServiceChromium->setLastPosition(geoposition); 157 159 } 158 160 159 void GeolocationServiceBridgeImpl::setLastError(int errorCode, const WebString& message)161 void WebGeolocationServiceBridgeImpl::setLastError(int errorCode, const WebString& message) 160 162 { 161 163 m_GeolocationServiceChromium->setLastError(errorCode, message); 162 164 } 163 165 164 WebViewClient* GeolocationServiceBridgeImpl::getWebViewClient()166 WebViewClient* WebGeolocationServiceBridgeImpl::getWebViewClient() 165 167 { 166 168 Frame* frame = m_GeolocationServiceChromium->frame();
Note: See TracChangeset
for help on using the changeset viewer.