Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4257)

Unified Diff: blimp/client/session/blimp_client_session.cc

Issue 2249283003: Hooks together Geolocation Feature in the Client and Engine. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@lai
Patch Set: Merge with master. Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 35593bf1422d31af96f7c8ae4572136f53c9a4b6..944907537d3f8841de118e6660c2bbb08731c1d9 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/session/client_network_components.h"
#include "blimp/client/core/session/cross_thread_network_event_observer.h"
#include "blimp/client/feature/render_widget_feature.h"
@@ -30,6 +31,9 @@
#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 "device/geolocation/rate_limiting_location_provider_proxy.h"
#include "url/gurl.h"
namespace blimp {
@@ -37,6 +41,10 @@ namespace client {
BlimpClientSession::BlimpClientSession(const GURL& assigner_endpoint)
: io_thread_("BlimpIOThread"),
+ geolocation_feature_(new GeolocationFeature(
+ base::MakeUnique<device::RateLimitingLocationProviderProxy>(
+ base::MakeUnique<device::LocationArbitrator>(
+ new device::GeolocationDelegate)))),
Wez 2016/08/30 00:03:58 You're allocating a default GelocationDelegate her
CJ 2016/08/31 23:22:57 Done.
tab_control_feature_(new TabControlFeature),
navigation_feature_(new NavigationFeature),
ime_feature_(new ImeFeature),
@@ -125,6 +133,9 @@ void BlimpClientSession::RegisterFeatures() {
settings_feature_.get()));
thread_pipe_manager_->RegisterFeature(BlimpMessage::kBlobChannel,
blob_delegate_);
+ geolocation_feature_->set_outgoing_message_processor(
+ thread_pipe_manager_->RegisterFeature(BlimpMessage::kGeolocation,
+ geolocation_feature_.get()));
Wez 2016/08/30 00:03:58 nit: Can we be consistent in the placement of this
CJ 2016/08/31 23:22:57 Done.
// Client will not send send any RenderWidget messages, so don't save the
// outgoing BlimpMessageProcessor in the RenderWidgetFeature.

Powered by Google App Engine
This is Rietveld 408576698