Index: chrome/browser/chromeos/upgrade_detector_chromeos.cc |
diff --git a/chrome/browser/chromeos/upgrade_detector_chromeos.cc b/chrome/browser/chromeos/upgrade_detector_chromeos.cc |
index ecc130b350f94676476f8b3746a1c9170d64d9d3..4178576bc484b20ffaa56b5c6b6771f0a9ff992d 100644 |
--- a/chrome/browser/chromeos/upgrade_detector_chromeos.cc |
+++ b/chrome/browser/chromeos/upgrade_detector_chromeos.cc |
@@ -92,15 +92,19 @@ void UpgradeDetectorChromeos::Shutdown() { |
void UpgradeDetectorChromeos::UpdateStatusChanged( |
const UpdateEngineClient::Status& status) { |
- if (status.status != UpdateEngineClient::UPDATE_STATUS_UPDATED_NEED_REBOOT) |
- return; |
- |
- upgrade_detected_time_ = base::Time::Now(); |
- |
- channels_requester_.reset(new UpgradeDetectorChromeos::ChannelsRequester()); |
- channels_requester_->RequestChannels( |
- base::Bind(&UpgradeDetectorChromeos::OnChannelsReceived, |
- weak_factory_.GetWeakPtr())); |
+ if (status.status == UpdateEngineClient::UPDATE_STATUS_UPDATED_NEED_REBOOT) { |
+ upgrade_detected_time_ = base::Time::Now(); |
+ |
+ channels_requester_.reset(new UpgradeDetectorChromeos::ChannelsRequester()); |
+ channels_requester_->RequestChannels( |
+ base::Bind(&UpgradeDetectorChromeos::OnChannelsReceived, |
+ weak_factory_.GetWeakPtr())); |
+ } else if (status.status == |
+ UpdateEngineClient::UPDATE_STATUS_NEED_PERMISSION_TO_UPDATE) { |
+ // Update engine broadcasts this state only when update is available but |
+ // downloading over cellular connection requires user's agreement |
+ NotifyUpdateOverCellularAvailable(); |
+ } |
} |
void UpgradeDetectorChromeos::NotifyOnUpgrade() { |