Index: chrome/browser/chromeos/net/network_portal_detector_impl.cc |
diff --git a/chrome/browser/chromeos/net/network_portal_detector_impl.cc b/chrome/browser/chromeos/net/network_portal_detector_impl.cc |
index e949d7480ce810e46ce5b7dfc19e656a8f91eede..bb99b868bde721fe7ceca78432789adeb3878cb8 100644 |
--- a/chrome/browser/chromeos/net/network_portal_detector_impl.cc |
+++ b/chrome/browser/chromeos/net/network_portal_detector_impl.cc |
@@ -549,7 +549,10 @@ void NetworkPortalDetectorImpl::OnAttemptCompleted( |
same_detection_result_count_ >= kMaxOfflineResultsBeforeReport) { |
OnDetectionCompleted(network, state); |
} |
- ScheduleAttempt(results.retry_after_delta); |
+ |
+ // Observers (via OnDetectionCompleted) may already schedule new attempt. |
+ if (is_idle()) |
+ ScheduleAttempt(results.retry_after_delta); |
} |
void NetworkPortalDetectorImpl::Observe( |