diff options
Diffstat (limited to 'chrome/browser')
5 files changed, 53 insertions, 112 deletions
diff --git a/chrome/browser/chromeos/locale_change_guard.cc b/chrome/browser/chromeos/locale_change_guard.cc index 606bfb4..80108ab 100644 --- a/chrome/browser/chromeos/locale_change_guard.cc +++ b/chrome/browser/chromeos/locale_change_guard.cc @@ -6,6 +6,7 @@ #include "ash/shell.h" #include "ash/system/tray/system_tray.h" +#include "ash/system/tray/system_tray_notifier.h" #include "base/bind.h" #include "base/utf_string_conversions.h" #include "chrome/app/chrome_command_ids.h" @@ -171,10 +172,8 @@ void LocaleChangeGuard::Check() { PrepareChangingLocale(from_locale, to_locale); } - if (ash::Shell::GetInstance()->status_area_widget()) { - ash::Shell::GetInstance()->system_tray()->locale_observer()-> - OnLocaleChanged(this, cur_locale, from_locale_, to_locale_); - } + ash::Shell::GetInstance()->system_tray_notifier()->NotifyLocaleChanged( + this, cur_locale, from_locale_, to_locale_); } void LocaleChangeGuard::AcceptLocaleChange() { diff --git a/chrome/browser/chromeos/network_message_observer.cc b/chrome/browser/chromeos/network_message_observer.cc index 5e24899..5501d76 100644 --- a/chrome/browser/chromeos/network_message_observer.cc +++ b/chrome/browser/chromeos/network_message_observer.cc @@ -8,6 +8,7 @@ #include "ash/shell_delegate.h" #include "ash/system/chromeos/network/network_observer.h" #include "ash/system/tray/system_tray.h" +#include "ash/system/tray/system_tray_notifier.h" #include "base/bind.h" #include "base/callback.h" #include "base/stl_util.h" @@ -71,8 +72,8 @@ class NetworkMessageNotification : public ash::NetworkTrayDelegate { } void Hide() { - ash::Shell::GetInstance()->system_tray()->network_observer()-> - ClearNetworkMessage(error_type_); + ash::Shell::GetInstance()->system_tray_notifier()-> + NotifyClearNetworkMessage(error_type_); } void SetTitle(const string16& title) { @@ -86,8 +87,8 @@ class NetworkMessageNotification : public ash::NetworkTrayDelegate { callback_ = callback; std::vector<string16> links; links.push_back(link_text); - ash::Shell::GetInstance()->system_tray()->network_observer()-> - SetNetworkMessage(this, error_type_, title_, message, links); + ash::Shell::GetInstance()->system_tray_notifier()->NotifySetNetworkMessage( + this, error_type_, title_, message, links); } void ShowAlways(const string16& message, diff --git a/chrome/browser/chromeos/sms_observer.cc b/chrome/browser/chromeos/sms_observer.cc index 866568f..431fc87 100644 --- a/chrome/browser/chromeos/sms_observer.cc +++ b/chrome/browser/chromeos/sms_observer.cc @@ -7,6 +7,7 @@ #include "ash/shell.h" #include "ash/system/chromeos/network/sms_observer.h" #include "ash/system/tray/system_tray.h" +#include "ash/system/tray/system_tray_notifier.h" #include "base/utf_string_conversions.h" #include "chrome/browser/chromeos/cros/cros_library.h" #include "grit/generated_resources.h" @@ -111,8 +112,7 @@ void SmsObserver::OnNewMessage(const std::string& modem_device_path, base::DictionaryValue dict; dict.SetString(ash::kSmsNumberKey, message.number); dict.SetString(ash::kSmsTextKey, message.text); - if (ash::Shell::GetInstance()->status_area_widget()) - ash::Shell::GetInstance()->system_tray()->sms_observer()->AddMessage(dict); + ash::Shell::GetInstance()->system_tray_notifier()->NotifyAddSmsMessage(dict); } } // namespace chromeos diff --git a/chrome/browser/chromeos/status/data_promo_notification.cc b/chrome/browser/chromeos/status/data_promo_notification.cc index 6d1cfcf..2acb823 100644 --- a/chrome/browser/chromeos/status/data_promo_notification.cc +++ b/chrome/browser/chromeos/status/data_promo_notification.cc @@ -8,6 +8,7 @@ #include "ash/shell_window_ids.h" #include "ash/system/chromeos/network/network_observer.h" #include "ash/system/tray/system_tray.h" +#include "ash/system/tray/system_tray_notifier.h" #include "base/utf_string_conversions.h" #include "chrome/browser/browser_process.h" #include "chrome/browser/chromeos/cros/cros_library.h" @@ -202,12 +203,9 @@ void DataPromoNotification::ShowOptionalMobileDataPromoNotification( links.push_back(l10n_util::GetStringUTF16(link_message_id)); if (!deal_info_url_.empty()) links.push_back(l10n_util::GetStringUTF16(IDS_LEARN_MORE)); - if (ash::Shell::GetInstance()->system_tray()->network_observer()) { - ash::Shell::GetInstance()->system_tray()->network_observer()-> - SetNetworkMessage(listener, ash::NetworkObserver::MESSAGE_DATA_PROMO, - string16(), message, links); - } - + ash::Shell::GetInstance()->system_tray_notifier()->NotifySetNetworkMessage( + listener, ash::NetworkObserver::MESSAGE_DATA_PROMO, + string16(), message, links); check_for_promo_ = false; SetShow3gPromoNotification(false); if (carrier_deal_promo_pref != kNotificationCountPrefDefault) @@ -216,11 +214,8 @@ void DataPromoNotification::ShowOptionalMobileDataPromoNotification( } void DataPromoNotification::CloseNotification() { - if (ash::Shell::GetInstance()->status_area_widget() && - ash::Shell::GetInstance()->system_tray()->network_observer()) { - ash::Shell::GetInstance()->system_tray()->network_observer()-> - ClearNetworkMessage(ash::NetworkObserver::MESSAGE_DATA_PROMO); - } + ash::Shell::GetInstance()->system_tray_notifier()->NotifyClearNetworkMessage( + ash::NetworkObserver::MESSAGE_DATA_PROMO); } } // namespace chromeos diff --git a/chrome/browser/chromeos/system/ash_system_tray_delegate.cc b/chrome/browser/chromeos/system/ash_system_tray_delegate.cc index ee421bd..e3f0389 100644 --- a/chrome/browser/chromeos/system/ash_system_tray_delegate.cc +++ b/chrome/browser/chromeos/system/ash_system_tray_delegate.cc @@ -17,6 +17,7 @@ #include "ash/system/power/power_status_observer.h" #include "ash/system/tray/system_tray.h" #include "ash/system/tray/system_tray_delegate.h" +#include "ash/system/tray/system_tray_notifier.h" #include "ash/system/tray_accessibility.h" #include "ash/system/tray_caps_lock.h" #include "ash/system/user/update_observer.h" @@ -176,8 +177,7 @@ class SystemTrayDelegate : public ash::SystemTrayDelegate, screen_locked_(false), connected_network_state_(STATE_UNKNOWN), data_promo_notification_(new DataPromoNotification()), - volume_control_delegate_(ALLOW_THIS_IN_INITIALIZER_LIST( - new VolumeController)) { + volume_control_delegate_(new VolumeController()) { // Register notifications on construction so that events such as // PROFILE_CREATED do not get missed if they happen before Initialize(). registrar_.Add(this, @@ -625,7 +625,7 @@ class SystemTrayDelegate : public ash::SystemTrayDelegate, } virtual void ToggleWifi() OVERRIDE { - GetSystemTray()->network_observer()->OnWillToggleWifi(); + GetSystemTrayNotifier()->NotifyWillToggleWifi(); network_menu_->ToggleWifi(); } @@ -739,6 +739,10 @@ class SystemTrayDelegate : public ash::SystemTrayDelegate, return ash::Shell::GetInstance()->system_tray(); } + ash::SystemTrayNotifier* GetSystemTrayNotifier() { + return ash::Shell::GetInstance()->system_tray_notifier(); + } + // Returns the last active browser. If there is no such browser, creates a new // browser window with an empty tab and returns it. Browser* GetAppropriateBrowser() { @@ -771,44 +775,22 @@ class SystemTrayDelegate : public ash::SystemTrayDelegate, void UpdateClockType(PrefServiceBase* service) { clock_type_ = service->GetBoolean(prefs::kUse24HourClock) ? base::k24HourClock : base::k12HourClock; - ash::ClockObserver* observer = GetSystemTray()->clock_observer(); - if (observer) - observer->OnDateFormatChanged(); + GetSystemTrayNotifier()->NotifyDateFormatChanged(); } void UpdateShowLogoutButtonInTray(PrefServiceBase* service) { - ash::LogoutButtonObserver* observer = - GetSystemTray()->logout_button_observer(); - if (observer) { - observer->OnShowLogoutButtonInTrayChanged( - service->GetBoolean(prefs::kShowLogoutButtonInTray)); - } - } - - void NotifyRefreshClock() { - ash::ClockObserver* observer = GetSystemTray()->clock_observer(); - if (observer) - observer->Refresh(); + GetSystemTrayNotifier()->NotifyShowLoginButtonChanged( + service->GetBoolean(prefs::kShowLogoutButtonInTray)); } void NotifyRefreshNetwork() { - ash::NetworkObserver* observer = GetSystemTray()->network_observer(); chromeos::NetworkLibrary* crosnet = chromeos::CrosLibrary::Get()->GetNetworkLibrary(); - if (observer) { - ash::NetworkIconInfo info; - info.image = network_icon_->GetIconAndText(&info.description); - info.tray_icon_visible = network_icon_->ShouldShowIconInTray(); - observer->OnNetworkRefresh(info); - } - - ash::NetworkObserver* vpn_observer = GetSystemTray()->vpn_observer(); - if (vpn_observer) { - ash::NetworkIconInfo info; - info.image = network_icon_->GetIconAndText(&info.description); - info.tray_icon_visible = network_icon_->ShouldShowIconInTray(); - vpn_observer->OnNetworkRefresh(info); - } + ash::NetworkIconInfo info; + info.image = network_icon_->GetIconAndText(&info.description); + info.tray_icon_visible = network_icon_->ShouldShowIconInTray(); + GetSystemTrayNotifier()->NotifyRefreshNetwork(info); + GetSystemTrayNotifier()->NotifyVpnRefreshNetwork(info); // Update Accessibility. @@ -838,30 +820,6 @@ class SystemTrayDelegate : public ash::SystemTrayDelegate, connected_network_state_ = connected_network_state; } - void NotifyRefreshBluetooth() { - ash::BluetoothObserver* observer = GetSystemTray()->bluetooth_observer(); - if (observer) - observer->OnBluetoothRefresh(); - } - - void NotifyBluetoothDiscoveringChanged() { - ash::BluetoothObserver* observer = GetSystemTray()->bluetooth_observer(); - if (observer) - observer->OnBluetoothDiscoveringChanged(); - } - - void NotifyRefreshIME(bool show_message) { - ash::IMEObserver* observer = GetSystemTray()->ime_observer(); - if (observer) - observer->OnIMERefresh(show_message); - } - - void NotifyRefreshDrive(ash::DriveOperationStatusList& list) { - ash::DriveObserver* observer = GetSystemTray()->drive_observer(); - if (observer) - observer->OnDriveRefresh(list); - } - void RefreshNetworkObserver(NetworkLibrary* crosnet) { const Network* network = crosnet->active_network(); std::string new_path = network ? network->service_path() : std::string(); @@ -983,29 +941,27 @@ class SystemTrayDelegate : public ash::SystemTrayDelegate, // Overridden from AudioHandler::VolumeObserver. virtual void OnVolumeChanged() OVERRIDE { float level = AudioHandler::GetInstance()->GetVolumePercent() / 100.f; - GetSystemTray()->audio_observer()->OnVolumeChanged(level); + GetSystemTrayNotifier()->NotifyVolumeChanged(level); } // Overridden from AudioHandler::VolumeObserver. virtual void OnMuteToggled() OVERRIDE { - GetSystemTray()->audio_observer()->OnMuteToggled(); + GetSystemTrayNotifier()->NotifyMuteToggled(); } // Overridden from PowerManagerClient::Observer. virtual void BrightnessChanged(int level, bool user_initiated) OVERRIDE { - GetSystemTray()->brightness_observer()-> - OnBrightnessChanged(static_cast<double>(level), user_initiated); + double leveld = static_cast<double>(level); + GetSystemTrayNotifier()->NotifyBrightnessChanged(leveld, user_initiated); } virtual void PowerChanged(const PowerSupplyStatus& power_status) OVERRIDE { power_supply_status_ = power_status; - FOR_EACH_OBSERVER(ash::PowerStatusObserver, - GetSystemTray()->power_status_observers(), - OnPowerStatusChanged(power_status)); + GetSystemTrayNotifier()->NotifyPowerStatusChanged(power_status); } virtual void SystemResumed() OVERRIDE { - NotifyRefreshClock(); + GetSystemTrayNotifier()->NotifyRefreshClock(); } // Overridden from SessionManagerClient::Observer. @@ -1094,18 +1050,14 @@ class SystemTrayDelegate : public ash::SystemTrayDelegate, severity = ash::UpdateObserver::UPDATE_NORMAL; break; } - ash::UpdateObserver* observer = GetSystemTray()->update_observer(); - if (observer) - observer->OnUpdateRecommended(severity); + GetSystemTrayNotifier()->NotifyUpdateRecommended(severity); break; } case chrome::NOTIFICATION_LOGIN_USER_IMAGE_CHANGED: { // This notification is also sent on login screen when user avatar // is loaded from file. if (GetUserLoginStatus() != ash::user::LOGGED_IN_NONE) { - ash::UserObserver* observer = GetSystemTray()->user_observer(); - if (observer) - observer->OnUserUpdate(); + GetSystemTrayNotifier()->NotifyUserUpdate(); } break; } @@ -1140,12 +1092,8 @@ class SystemTrayDelegate : public ash::SystemTrayDelegate, search_key_mapped_to_ = service->GetInteger(prefs::kLanguageRemapSearchKeyTo); } else if (pref == prefs::kSpokenFeedbackEnabled) { - ash::AccessibilityObserver* observer = - GetSystemTray()->accessibility_observer(); - if (observer) { - observer->OnAccessibilityModeChanged( - service->GetBoolean(prefs::kSpokenFeedbackEnabled)); - } + GetSystemTrayNotifier()->NotifyAccessibilityModeChanged( + service->GetBoolean(prefs::kSpokenFeedbackEnabled)); } else if (pref == prefs::kShowLogoutButtonInTray) { UpdateShowLogoutButtonInTray(service); } else { @@ -1156,19 +1104,19 @@ class SystemTrayDelegate : public ash::SystemTrayDelegate, // Overridden from InputMethodManager::Observer. virtual void InputMethodChanged( input_method::InputMethodManager* manager, bool show_message) OVERRIDE { - NotifyRefreshIME(show_message); + GetSystemTrayNotifier()->NotifyRefreshIME(show_message); } virtual void InputMethodPropertyChanged( input_method::InputMethodManager* manager) OVERRIDE { - NotifyRefreshIME(false); + GetSystemTrayNotifier()->NotifyRefreshIME(false); } // google_apis::DriveServiceObserver overrides. virtual void OnProgressUpdate( const google_apis::OperationProgressStatusList& list) OVERRIDE { std::vector<ash::DriveOperationStatus> ui_list = GetDriveStatusList(list); - NotifyRefreshDrive(ui_list); + GetSystemTrayNotifier()->NotifyRefreshDrive(ui_list); // If we have something to report right now (i.e. completion status only), // we need to delayed re-check the status in few seconds to ensure we @@ -1217,38 +1165,38 @@ class SystemTrayDelegate : public ash::SystemTrayDelegate, // Overridden from system::TimezoneSettings::Observer. virtual void TimezoneChanged(const icu::TimeZone& timezone) OVERRIDE { - NotifyRefreshClock(); + GetSystemTrayNotifier()->NotifyRefreshClock(); } // Overridden from BluetoothAdapter::Observer. virtual void AdapterPresentChanged(device::BluetoothAdapter* adapter, bool present) OVERRIDE { - NotifyRefreshBluetooth(); + GetSystemTrayNotifier()->NotifyRefreshBluetooth(); } virtual void AdapterPoweredChanged(device::BluetoothAdapter* adapter, bool powered) OVERRIDE { - NotifyRefreshBluetooth(); + GetSystemTrayNotifier()->NotifyRefreshBluetooth(); } virtual void AdapterDiscoveringChanged(device::BluetoothAdapter* adapter, bool discovering) OVERRIDE { - NotifyBluetoothDiscoveringChanged(); + GetSystemTrayNotifier()->NotifyBluetoothDiscoveringChanged(); } virtual void DeviceAdded(device::BluetoothAdapter* adapter, device::BluetoothDevice* device) OVERRIDE { - NotifyRefreshBluetooth(); + GetSystemTrayNotifier()->NotifyRefreshBluetooth(); } virtual void DeviceChanged(device::BluetoothAdapter* adapter, device::BluetoothDevice* device) OVERRIDE { - NotifyRefreshBluetooth(); + GetSystemTrayNotifier()->NotifyRefreshBluetooth(); } virtual void DeviceRemoved(device::BluetoothAdapter* adapter, device::BluetoothDevice* device) OVERRIDE { - NotifyRefreshBluetooth(); + GetSystemTrayNotifier()->NotifyRefreshBluetooth(); } // Overridden from SystemKeyEventListener::CapsLockObserver. @@ -1257,10 +1205,8 @@ class SystemTrayDelegate : public ash::SystemTrayDelegate, if (!base::chromeos::IsRunningOnChromeOS() || search_key_mapped_to_ == input_method::kCapsLockKey) search_mapped_to_caps_lock = true; - - ash::CapsLockObserver* observer = GetSystemTray()->caps_lock_observer(); - if (observer) - observer->OnCapsLockChanged(enabled, search_mapped_to_caps_lock); + GetSystemTrayNotifier()->NotifyCapsLockChanged( + enabled, search_mapped_to_caps_lock); } // Overridden from ash::NetworkTrayDelegate |