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

Unified Diff: chrome/browser/ui/ash/system_tray_delegate_linux.cc

Issue 614363002: Added Aura notification that relaunch and powerwash is required in case of downgrade. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixes. Created 6 years, 2 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: chrome/browser/ui/ash/system_tray_delegate_linux.cc
diff --git a/chrome/browser/ui/ash/system_tray_delegate_linux.cc b/chrome/browser/ui/ash/system_tray_delegate_linux.cc
index 8c3ee83462e3772af45b6b25bf88841d331a222e..5bfc27da50178ceaa7cea592e5f54ee1e007d65f 100644
--- a/chrome/browser/ui/ash/system_tray_delegate_linux.cc
+++ b/chrome/browser/ui/ash/system_tray_delegate_linux.cc
@@ -27,6 +27,31 @@
namespace {
+void GetUpdateInfo(const UpgradeDetector* detector, ash::UpdateInfo* info) {
+ if (!detector || !info)
+ return;
+ ash::UpdateInfo::UpdateSeverity severity = ash::UpdateInfo::UPDATE_NORMAL;
+ switch (detector->upgrade_notification_stage()) {
+ case UpgradeDetector::UPGRADE_ANNOYANCE_CRITICAL:
+ case UpgradeDetector::UPGRADE_ANNOYANCE_SEVERE:
+ severity = ash::UpdateInfo::UPDATE_SEVERE_RED;
+ break;
+ case UpgradeDetector::UPGRADE_ANNOYANCE_HIGH:
+ severity = ash::UpdateInfo::UPDATE_HIGH_ORANGE;
+ break;
+ case UpgradeDetector::UPGRADE_ANNOYANCE_ELEVATED:
+ severity = ash::UpdateInfo::UPDATE_LOW_GREEN;
+ break;
+ case UpgradeDetector::UPGRADE_ANNOYANCE_LOW:
+ case UpgradeDetector::UPGRADE_ANNOYANCE_NONE:
+ severity = ash::UpdateInfo::UPDATE_NORMAL;
+ break;
+ }
+ info->severity = severity;
+ info->update_required = detector->notify_upgrade();
+ info->factory_reset_required = detector->is_factory_reset_required();
+}
+
class SystemTrayDelegateLinux : public ash::SystemTrayDelegate,
public content::NotificationObserver {
public:
@@ -87,8 +112,8 @@ class SystemTrayDelegateLinux : public ash::SystemTrayDelegate,
return false;
}
- virtual bool SystemShouldUpgrade() const OVERRIDE {
- return UpgradeDetector::GetInstance()->notify_upgrade();
+ virtual void GetSystemUpdateInfo(ash::UpdateInfo* info) const OVERRIDE {
+ GetUpdateInfo(UpgradeDetector::GetInstance(), info);
}
virtual base::HourClockType GetHourClockType() const OVERRIDE {
@@ -302,27 +327,9 @@ class SystemTrayDelegateLinux : public ash::SystemTrayDelegate,
const content::NotificationSource& source,
const content::NotificationDetails& details) OVERRIDE {
if (type == chrome::NOTIFICATION_UPGRADE_RECOMMENDED) {
- UpgradeDetector* detector =
- content::Source<UpgradeDetector>(source).ptr();
- ash::UpdateObserver::UpdateSeverity severity =
- ash::UpdateObserver::UPDATE_NORMAL;
- switch (detector->upgrade_notification_stage()) {
- case UpgradeDetector::UPGRADE_ANNOYANCE_CRITICAL:
- case UpgradeDetector::UPGRADE_ANNOYANCE_SEVERE:
- severity = ash::UpdateObserver::UPDATE_SEVERE_RED;
- break;
- case UpgradeDetector::UPGRADE_ANNOYANCE_HIGH:
- severity = ash::UpdateObserver::UPDATE_HIGH_ORANGE;
- break;
- case UpgradeDetector::UPGRADE_ANNOYANCE_ELEVATED:
- severity = ash::UpdateObserver::UPDATE_LOW_GREEN;
- break;
- case UpgradeDetector::UPGRADE_ANNOYANCE_LOW:
- case UpgradeDetector::UPGRADE_ANNOYANCE_NONE:
- severity = ash::UpdateObserver::UPDATE_NORMAL;
- break;
- }
- GetSystemTrayNotifier()->NotifyUpdateRecommended(severity);
+ ash::UpdateInfo info;
+ GetUpdateInfo(content::Source<UpgradeDetector>(source).ptr(), &info);
+ GetSystemTrayNotifier()->NotifyUpdateRecommended(info);
} else {
NOTREACHED();
}

Powered by Google App Engine
This is Rietveld 408576698