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

Unified Diff: components/invalidation/gcm_invalidation_bridge.cc

Issue 348503002: Report InvalidatorState correctly from GCMNetworkChannel (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@GCM.ConnectionState
Patch Set: Fix SyncNetworkChannelTest Created 6 years, 6 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: components/invalidation/gcm_invalidation_bridge.cc
diff --git a/components/invalidation/gcm_invalidation_bridge.cc b/components/invalidation/gcm_invalidation_bridge.cc
index 84efa004d95742c137c9e48a29865cb539312893..1c409133af6d42a1f4b0aa6129cc6d3c6fe18031 100644
--- a/components/invalidation/gcm_invalidation_bridge.cc
+++ b/components/invalidation/gcm_invalidation_bridge.cc
@@ -58,7 +58,7 @@ class GCMInvalidationBridge::Core : public syncer::GCMNetworkChannelDelegate,
void OnIncomingMessage(const std::string& message,
const std::string& echo_token);
- void OnConnectionStateChanged(ConnectionState connection_state);
+ void OnConnectionStateChanged(bool online);
private:
base::WeakPtr<GCMInvalidationBridge> bridge_;
@@ -149,10 +149,9 @@ void GCMInvalidationBridge::Core::OnIncomingMessage(
message_callback_.Run(message, echo_token);
}
-void GCMInvalidationBridge::Core::OnConnectionStateChanged(
- ConnectionState connection_state) {
+void GCMInvalidationBridge::Core::OnConnectionStateChanged(bool online) {
if (!connection_state_callback_.is_null()) {
- connection_state_callback_.Run(connection_state);
+ connection_state_callback_.Run(online);
}
}
@@ -286,6 +285,12 @@ void GCMInvalidationBridge::SubscribeForIncomingMessages() {
DCHECK(!subscribed_for_incoming_messages_);
gcm_driver_->AddAppHandler(kInvalidationsAppId, this);
+ core_thread_task_runner_->PostTask(
+ FROM_HERE,
+ base::Bind(&GCMInvalidationBridge::Core::OnConnectionStateChanged,
+ core_,
+ gcm_driver_->IsConnected()));
+
subscribed_for_incoming_messages_ = true;
}
@@ -330,9 +335,8 @@ void GCMInvalidationBridge::OnSendError(
void GCMInvalidationBridge::OnConnected(const net::IPEndPoint& ip_endpoint) {
core_thread_task_runner_->PostTask(
FROM_HERE,
- base::Bind(&GCMInvalidationBridge::Core::OnConnectionStateChanged,
- core_,
- syncer::GCMNetworkChannelDelegate::CONNECTION_STATE_ONLINE));
+ base::Bind(
+ &GCMInvalidationBridge::Core::OnConnectionStateChanged, core_, true));
}
void GCMInvalidationBridge::OnDisconnected() {
@@ -340,7 +344,7 @@ void GCMInvalidationBridge::OnDisconnected() {
FROM_HERE,
base::Bind(&GCMInvalidationBridge::Core::OnConnectionStateChanged,
core_,
- syncer::GCMNetworkChannelDelegate::CONNECTION_STATE_OFFLINE));
+ false));
}
« no previous file with comments | « chrome/browser/invalidation/gcm_invalidation_bridge_unittest.cc ('k') | components/invalidation/gcm_network_channel.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698