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

Side by Side Diff: chrome/browser/upgrade_detector.cc

Issue 2882933002: Add update available icon in system tray (Closed)
Patch Set: Remove duplicate header files. Created 3 years, 7 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/upgrade_detector.h" 5 #include "chrome/browser/upgrade_detector.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/command_line.h" 8 #include "base/command_line.h"
9 #include "chrome/app/vector_icons/vector_icons.h" 9 #include "chrome/app/vector_icons/vector_icons.h"
10 #include "chrome/browser/chrome_notification_types.h" 10 #include "chrome/browser/chrome_notification_types.h"
(...skipping 15 matching lines...) Expand all
26 26
27 bool UseTestingIntervals() { 27 bool UseTestingIntervals() {
28 // If a command line parameter specifying how long the upgrade check should 28 // If a command line parameter specifying how long the upgrade check should
29 // be, we assume it is for testing and switch to using seconds instead of 29 // be, we assume it is for testing and switch to using seconds instead of
30 // hours. 30 // hours.
31 const base::CommandLine& cmd_line = *base::CommandLine::ForCurrentProcess(); 31 const base::CommandLine& cmd_line = *base::CommandLine::ForCurrentProcess();
32 return !cmd_line.GetSwitchValueASCII( 32 return !cmd_line.GetSwitchValueASCII(
33 switches::kCheckForUpdateIntervalSec).empty(); 33 switches::kCheckForUpdateIntervalSec).empty();
34 } 34 }
35 35
36 UpgradeDetector::UpgradeObserver::~UpgradeObserver() {}
37
36 // static 38 // static
37 void UpgradeDetector::RegisterPrefs(PrefRegistrySimple* registry) { 39 void UpgradeDetector::RegisterPrefs(PrefRegistrySimple* registry) {
38 registry->RegisterBooleanPref(prefs::kAttemptedToEnableAutoupdate, false); 40 registry->RegisterBooleanPref(prefs::kAttemptedToEnableAutoupdate, false);
39 } 41 }
40 42
41 gfx::Image UpgradeDetector::GetIcon() { 43 gfx::Image UpgradeDetector::GetIcon() {
42 SkColor color = gfx::kPlaceholderColor; 44 SkColor color = gfx::kPlaceholderColor;
43 switch (upgrade_notification_stage_) { 45 switch (upgrade_notification_stage_) {
44 case UPGRADE_ANNOYANCE_NONE: 46 case UPGRADE_ANNOYANCE_NONE:
45 return gfx::Image(); 47 return gfx::Image();
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
80 if (upgrade_available_ == UPGRADE_NEEDED_OUTDATED_INSTALL) { 82 if (upgrade_available_ == UPGRADE_NEEDED_OUTDATED_INSTALL) {
81 TriggerNotification(chrome::NOTIFICATION_OUTDATED_INSTALL); 83 TriggerNotification(chrome::NOTIFICATION_OUTDATED_INSTALL);
82 } else if (upgrade_available_ == UPGRADE_NEEDED_OUTDATED_INSTALL_NO_AU) { 84 } else if (upgrade_available_ == UPGRADE_NEEDED_OUTDATED_INSTALL_NO_AU) {
83 TriggerNotification(chrome::NOTIFICATION_OUTDATED_INSTALL_NO_AU); 85 TriggerNotification(chrome::NOTIFICATION_OUTDATED_INSTALL_NO_AU);
84 } else if (upgrade_available_ == UPGRADE_AVAILABLE_CRITICAL || 86 } else if (upgrade_available_ == UPGRADE_AVAILABLE_CRITICAL ||
85 critical_experiment_updates_available_) { 87 critical_experiment_updates_available_) {
86 TriggerCriticalUpdate(); 88 TriggerCriticalUpdate();
87 } 89 }
88 } 90 }
89 91
92 void UpgradeDetector::NotifyUpdateOverCellularAvailable() {
93 for (auto& observer : observer_list_)
94 observer.OnUpdateOverCellularAvailable();
95 }
96
90 void UpgradeDetector::TriggerCriticalUpdate() { 97 void UpgradeDetector::TriggerCriticalUpdate() {
91 const base::TimeDelta idle_timer = UseTestingIntervals() ? 98 const base::TimeDelta idle_timer = UseTestingIntervals() ?
92 base::TimeDelta::FromSeconds(kIdleRepeatingTimerWait) : 99 base::TimeDelta::FromSeconds(kIdleRepeatingTimerWait) :
93 base::TimeDelta::FromMinutes(kIdleRepeatingTimerWait); 100 base::TimeDelta::FromMinutes(kIdleRepeatingTimerWait);
94 idle_check_timer_.Start(FROM_HERE, idle_timer, this, 101 idle_check_timer_.Start(FROM_HERE, idle_timer, this,
95 &UpgradeDetector::CheckIdle); 102 &UpgradeDetector::CheckIdle);
96 } 103 }
97 104
98 void UpgradeDetector::CheckIdle() { 105 void UpgradeDetector::CheckIdle() {
99 // CalculateIdleState expects an interval in seconds. 106 // CalculateIdleState expects an interval in seconds.
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
131 break; 138 break;
132 case ui::IDLE_STATE_ACTIVE: 139 case ui::IDLE_STATE_ACTIVE:
133 case ui::IDLE_STATE_UNKNOWN: 140 case ui::IDLE_STATE_UNKNOWN:
134 break; 141 break;
135 default: 142 default:
136 NOTREACHED(); // Need to add any new value above (either providing 143 NOTREACHED(); // Need to add any new value above (either providing
137 // automatic restart or show notification to user). 144 // automatic restart or show notification to user).
138 break; 145 break;
139 } 146 }
140 } 147 }
148
149 void UpgradeDetector::AddObserver(UpgradeObserver* observer) {
150 observer_list_.AddObserver(observer);
151 }
152
153 void UpgradeDetector::RemoveObserver(UpgradeObserver* observer) {
154 observer_list_.RemoveObserver(observer);
155 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698