| Index: chrome/browser/ui/ash/system_tray_client.cc
|
| diff --git a/chrome/browser/ui/ash/system_tray_client.cc b/chrome/browser/ui/ash/system_tray_client.cc
|
| index be329e66571038c8989acefceb70d21492aa2b3c..c4ff0ae233c295b4022f1083ece0c879ea8409e4 100644
|
| --- a/chrome/browser/ui/ash/system_tray_client.cc
|
| +++ b/chrome/browser/ui/ash/system_tray_client.cc
|
| @@ -10,6 +10,7 @@
|
| #include "ash/shell.h"
|
| #include "base/feature_list.h"
|
| #include "base/logging.h"
|
| +#include "base/memory/weak_ptr.h"
|
| #include "base/metrics/user_metrics.h"
|
| #include "chrome/browser/browser_process.h"
|
| #include "chrome/browser/browser_process_platform_part.h"
|
| @@ -61,6 +62,7 @@
|
| using chromeos::BluetoothPairingDialog;
|
| using chromeos::DBusThreadManager;
|
| using chromeos::LoginState;
|
| +using chromeos::UpdateEngineClient;
|
| using device::BluetoothDevice;
|
| using views::Widget;
|
|
|
| @@ -124,6 +126,7 @@ SystemTrayClient::SystemTrayClient() : binding_(this) {
|
|
|
| DCHECK(!g_instance);
|
| g_instance = this;
|
| + UpgradeDetector::GetInstance()->AddObserver(this);
|
| }
|
|
|
| SystemTrayClient::~SystemTrayClient() {
|
| @@ -138,6 +141,7 @@ SystemTrayClient::~SystemTrayClient() {
|
| policy_manager->core()->store()->RemoveObserver(this);
|
|
|
| g_browser_process->platform_part()->GetSystemClock()->RemoveObserver(this);
|
| + UpgradeDetector::GetInstance()->RemoveObserver(this);
|
| }
|
|
|
| // static
|
| @@ -294,6 +298,13 @@ void SystemTrayClient::ShowIMESettings() {
|
| ShowSettingsSubPageForActiveUser(chrome::kLanguageOptionsSubPage);
|
| }
|
|
|
| +void SystemTrayClient::ShowAboutChromeOS() {
|
| + // We always want to check for updates when showing the about page from the
|
| + // Ash UI.
|
| + ShowSettingsSubPageForActiveUser(std::string(chrome::kHelpSubPage) +
|
| + "?checkForUpdate=true");
|
| +}
|
| +
|
| void SystemTrayClient::ShowHelp() {
|
| chrome::ShowHelpForProfile(ProfileManager::GetActiveUserProfile(),
|
| chrome::HELP_SOURCE_MENU);
|
| @@ -460,6 +471,10 @@ void SystemTrayClient::HandleUpdateAvailable() {
|
| update_type);
|
| }
|
|
|
| +void SystemTrayClient::HandleUpdateOverCellularAvailable() {
|
| + system_tray_->ShowUpdateOverCellularAvailableIcon();
|
| +}
|
| +
|
| ////////////////////////////////////////////////////////////////////////////////
|
| // chromeos::system::SystemClockObserver:
|
|
|
| @@ -476,6 +491,12 @@ void SystemTrayClient::Observe(int type,
|
| }
|
|
|
| ////////////////////////////////////////////////////////////////////////////////
|
| +// UpgradeDetector::UpgradeObserver:
|
| +void SystemTrayClient::OnUpdateOverCellularAvailable() {
|
| + HandleUpdateOverCellularAvailable();
|
| +}
|
| +
|
| +////////////////////////////////////////////////////////////////////////////////
|
| // policy::CloudPolicyStore::Observer
|
| void SystemTrayClient::OnStoreLoaded(policy::CloudPolicyStore* store) {
|
| UpdateEnterpriseDomain();
|
|
|