Chromium Code Reviews| Index: blimp/client/session/blimp_client_session.cc |
| diff --git a/blimp/client/session/blimp_client_session.cc b/blimp/client/session/blimp_client_session.cc |
| index 04ba1b79083b4118747ced61299ebad3aea6df2f..3645a179829469de6e3131a61380f26bb1a53563 100644 |
| --- a/blimp/client/session/blimp_client_session.cc |
| +++ b/blimp/client/session/blimp_client_session.cc |
| @@ -20,6 +20,7 @@ |
| #include "blimp/client/core/contents/ime_feature.h" |
| #include "blimp/client/core/contents/navigation_feature.h" |
| #include "blimp/client/core/contents/tab_control_feature.h" |
| +#include "blimp/client/core/geolocation/geolocation_feature.h" |
| #include "blimp/client/core/render_widget/render_widget_feature.h" |
| #include "blimp/client/core/session/client_network_components.h" |
| #include "blimp/client/core/session/cross_thread_network_event_observer.h" |
| @@ -30,6 +31,8 @@ |
| #include "blimp/net/blob_channel/blob_channel_receiver.h" |
| #include "blimp/net/blob_channel/helium_blob_receiver_delegate.h" |
| #include "blimp/net/thread_pipe_manager.h" |
| +#include "device/geolocation/geolocation_delegate.h" |
| +#include "device/geolocation/location_arbitrator.h" |
| #include "url/gurl.h" |
| namespace blimp { |
| @@ -37,6 +40,10 @@ namespace client { |
| BlimpClientSession::BlimpClientSession(const GURL& assigner_endpoint) |
| : io_thread_("BlimpIOThread"), |
| + geolocation_delegate_(base::MakeUnique<device::GeolocationDelegate>()), |
| + geolocation_feature_(base::MakeUnique<GeolocationFeature>( |
|
Kevin M
2016/09/01 20:01:06
Can we move ownership of the GeolocationDelegate o
CJ
2016/09/01 22:59:42
Gave it to LocationArbitrator, since it is the one
|
| + base::MakeUnique<device::LocationArbitrator>( |
| + geolocation_delegate_.get()))), |
| tab_control_feature_(new TabControlFeature), |
| navigation_feature_(new NavigationFeature), |
| ime_feature_(new ImeFeature), |
| @@ -108,6 +115,9 @@ void BlimpClientSession::RegisterFeatures() { |
| io_thread_.task_runner(), net_components_->GetBrowserConnectionHandler()); |
| // Register features' message senders and receivers. |
| + geolocation_feature_->set_outgoing_message_processor( |
| + thread_pipe_manager_->RegisterFeature(BlimpMessage::kGeolocation, |
| + geolocation_feature_.get())); |
| tab_control_feature_->set_outgoing_message_processor( |
| thread_pipe_manager_->RegisterFeature(BlimpMessage::kTabControl, |
| tab_control_feature_.get())); |