Chromium Code Reviews| Index: blimp/engine/session/blimp_engine_session.cc |
| diff --git a/blimp/engine/session/blimp_engine_session.cc b/blimp/engine/session/blimp_engine_session.cc |
| index 70134b671f01cbcba85f928a93333bf16cd2911b..9e201049ce9178a5f818b71f1ec3281f9281dbc9 100644 |
| --- a/blimp/engine/session/blimp_engine_session.cc |
| +++ b/blimp/engine/session/blimp_engine_session.cc |
| @@ -5,6 +5,7 @@ |
| #include "blimp/engine/session/blimp_engine_session.h" |
| #include <string> |
| +#include <utility> |
| #include "base/command_line.h" |
| #include "base/memory/ptr_util.h" |
| @@ -40,6 +41,8 @@ |
| #include "blimp/net/thread_pipe_manager.h" |
| #include "content/public/browser/browser_context.h" |
| #include "content/public/browser/browser_thread.h" |
| +#include "content/public/browser/geolocation_delegate.h" |
| +#include "content/public/browser/geolocation_provider.h" |
| #include "content/public/browser/navigation_controller.h" |
| #include "content/public/browser/navigation_entry.h" |
| #include "content/public/browser/render_view_host.h" |
| @@ -238,6 +241,8 @@ BlimpEngineSession::BlimpEngineSession( |
| blob_channel_sender_ = base::WrapUnique( |
| new BlobChannelSenderImpl(base::WrapUnique(new InMemoryBlobCache), |
| std::move(helium_blob_delegate))); |
| + content::GeolocationProvider::SetGeolocationDelegate( |
| + GetGeolocationFeature()->CreateGeolocationDelegate()); |
|
Wez
2016/07/25 23:06:19
nit: Please put a blank line before this, to make
CJ
2016/07/25 23:20:21
Done.
|
| } |
| BlimpEngineSession::~BlimpEngineSession() { |
| @@ -292,6 +297,10 @@ void BlimpEngineSession::Initialize() { |
| engine_config_->client_token())); |
| } |
| +EngineGeolocationFeature* BlimpEngineSession::GetGeolocationFeature() { |
| + return &geolocation_feature_; |
| +} |
| + |
| void BlimpEngineSession::GetEnginePortForTesting( |
| const GetPortCallback& callback) { |
| content::BrowserThread::PostTaskAndReplyWithResult( |
| @@ -324,6 +333,9 @@ void BlimpEngineSession::RegisterFeatures() { |
| render_widget_feature_.set_ime_message_sender( |
| thread_pipe_manager_->RegisterFeature(BlimpMessage::kIme, |
| &render_widget_feature_)); |
| + geolocation_feature_.set_outgoing_message_processor( |
| + thread_pipe_manager_->RegisterFeature(BlimpMessage::kGeolocation, |
| + &geolocation_feature_)); |
| blob_delegate_->set_outgoing_message_processor( |
| thread_pipe_manager_->RegisterFeature(BlimpMessage::kBlobChannel, |
| blob_delegate_)); |