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

Unified Diff: components/invalidation/sync_system_resources.cc

Issue 348503002: Report InvalidatorState correctly from GCMNetworkChannel (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@GCM.ConnectionState
Patch Set: Rebase 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/sync_system_resources.cc
diff --git a/components/invalidation/sync_system_resources.cc b/components/invalidation/sync_system_resources.cc
index 1e7f3d4e59cf3ca87be0b9a28d8f54b453097933..dd0cfacb6300d65e5f6c5ea99ca5aee904a2728e 100644
--- a/components/invalidation/sync_system_resources.cc
+++ b/components/invalidation/sync_system_resources.cc
@@ -132,7 +132,7 @@ void SyncInvalidationScheduler::RunPostedTask(invalidation::Closure* task) {
}
SyncNetworkChannel::SyncNetworkChannel()
- : invalidator_state_(DEFAULT_INVALIDATION_ERROR),
+ : last_network_status_(false),
received_messages_count_(0) {}
SyncNetworkChannel::~SyncNetworkChannel() {
@@ -146,7 +146,7 @@ void SyncNetworkChannel::SetMessageReceiver(
void SyncNetworkChannel::AddNetworkStatusReceiver(
invalidation::NetworkStatusCallback* network_status_receiver) {
- network_status_receiver->Run(invalidator_state_ == INVALIDATIONS_ENABLED);
+ network_status_receiver->Run(last_network_status_);
network_status_receivers_.push_back(network_status_receiver);
}
@@ -178,18 +178,21 @@ scoped_ptr<SyncNetworkChannel> SyncNetworkChannel::CreateGCMNetworkChannel(
request_context_getter, delegate.Pass()));
}
-void SyncNetworkChannel::NotifyStateChange(InvalidatorState invalidator_state) {
- // Remember state for future NetworkStatusReceivers.
- invalidator_state_ = invalidator_state;
+void SyncNetworkChannel::NotifyNetworkStatusChange(bool online) {
+ // Remember network state for future NetworkStatusReceivers.
+ last_network_status_ = online;
// Notify NetworkStatusReceivers in cacheinvalidation.
for (NetworkStatusReceiverList::const_iterator it =
network_status_receivers_.begin();
it != network_status_receivers_.end(); ++it) {
- (*it)->Run(invalidator_state_ == INVALIDATIONS_ENABLED);
+ (*it)->Run(online);
}
- // Notify observers.
+}
+
+void SyncNetworkChannel::NotifyChannelStateChange(
+ InvalidatorState invalidator_state) {
FOR_EACH_OBSERVER(Observer, observers_,
- OnNetworkChannelStateChanged(invalidator_state_));
+ OnNetworkChannelStateChanged(invalidator_state));
}
bool SyncNetworkChannel::DeliverIncomingMessage(const std::string& message) {

Powered by Google App Engine
This is Rietveld 408576698