| 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..b9d9ffba5d7fc59f823b1cf9d8d2a27a0ea896c1 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"
|
| @@ -33,7 +34,6 @@
|
| #include "chrome/browser/ui/chrome_pages.h"
|
| #include "chrome/browser/ui/scoped_tabbed_browser_displayer.h"
|
| #include "chrome/browser/ui/singleton_tabs.h"
|
| -#include "chrome/browser/upgrade_detector.h"
|
| #include "chrome/common/chrome_features.h"
|
| #include "chrome/common/url_constants.h"
|
| #include "chromeos/dbus/dbus_thread_manager.h"
|
| @@ -61,6 +61,7 @@
|
| using chromeos::BluetoothPairingDialog;
|
| using chromeos::DBusThreadManager;
|
| using chromeos::LoginState;
|
| +using chromeos::UpdateEngineClient;
|
| using device::BluetoothDevice;
|
| using views::Widget;
|
|
|
| @@ -124,6 +125,7 @@ SystemTrayClient::SystemTrayClient() : binding_(this) {
|
|
|
| DCHECK(!g_instance);
|
| g_instance = this;
|
| + UpgradeDetector::GetInstance()->AddObserver(this);
|
| }
|
|
|
| SystemTrayClient::~SystemTrayClient() {
|
| @@ -138,6 +140,7 @@ SystemTrayClient::~SystemTrayClient() {
|
| policy_manager->core()->store()->RemoveObserver(this);
|
|
|
| g_browser_process->platform_part()->GetSystemClock()->RemoveObserver(this);
|
| + UpgradeDetector::GetInstance()->RemoveObserver(this);
|
| }
|
|
|
| // static
|
| @@ -294,6 +297,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 +470,10 @@ void SystemTrayClient::HandleUpdateAvailable() {
|
| update_type);
|
| }
|
|
|
| +void SystemTrayClient::HandleUpdateOverCellularAvailable() {
|
| + system_tray_->ShowUpdateOverCellularAvailableIcon();
|
| +}
|
| +
|
| ////////////////////////////////////////////////////////////////////////////////
|
| // chromeos::system::SystemClockObserver:
|
|
|
| @@ -476,6 +490,12 @@ void SystemTrayClient::Observe(int type,
|
| }
|
|
|
| ////////////////////////////////////////////////////////////////////////////////
|
| +// UpgradeDetector::UpgradeObserver:
|
| +void SystemTrayClient::OnUpdateOverCellularAvailable() {
|
| + HandleUpdateOverCellularAvailable();
|
| +}
|
| +
|
| +////////////////////////////////////////////////////////////////////////////////
|
| // policy::CloudPolicyStore::Observer
|
| void SystemTrayClient::OnStoreLoaded(policy::CloudPolicyStore* store) {
|
| UpdateEnterpriseDomain();
|
|
|