Index: Source/web/WebLocalFrameImpl.cpp |
diff --git a/Source/web/WebLocalFrameImpl.cpp b/Source/web/WebLocalFrameImpl.cpp |
index 0f7d09def92a947eb0c685d170f8c73e68a76815..2d6f718bec5c229a4f6a8946f1f581ddd93bf7d2 100644 |
--- a/Source/web/WebLocalFrameImpl.cpp |
+++ b/Source/web/WebLocalFrameImpl.cpp |
@@ -132,6 +132,7 @@ |
#include "core/rendering/RenderView.h" |
#include "core/rendering/style/StyleInheritedData.h" |
#include "core/timing/Performance.h" |
+#include "modules/geolocation/GeolocationController.h" |
#include "modules/notifications/NotificationController.h" |
#include "platform/TraceEvent.h" |
#include "platform/UserGestureIndicator.h" |
@@ -178,6 +179,7 @@ |
#include "web/CompositionUnderlineVectorBuilder.h" |
#include "web/EventListenerWrapper.h" |
#include "web/FindInPageCoordinates.h" |
+#include "web/GeolocationClientProxy.h" |
#include "web/PageOverlay.h" |
#include "web/SharedWorkerRepositoryClientImpl.h" |
#include "web/TextFinder.h" |
@@ -1585,6 +1587,7 @@ WebLocalFrameImpl::WebLocalFrameImpl(WebFrameClient* client) |
, m_permissionClient(0) |
, m_inputEventsScaleFactorForEmulation(1) |
, m_userMediaClientImpl(this) |
+ , m_geolocationClientProxy(adoptPtr(new GeolocationClientProxy(client ? client->geolocationClient() : 0))) |
{ |
blink::Platform::current()->incrementStatsCounter(webFrameActiveCount); |
frameCount++; |
@@ -1610,6 +1613,8 @@ void WebLocalFrameImpl::setWebCoreFrame(PassRefPtr<WebCore::LocalFrame> frame) |
provideNotification(*m_frame, notificationPresenter.release()); |
provideUserMediaTo(*m_frame, &m_userMediaClientImpl); |
+ provideGeolocationTo(*m_frame, m_geolocationClientProxy.get()); |
+ m_geolocationClientProxy->setController(GeolocationController::from(m_frame.get())); |
} |
} |