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

Side by Side Diff: chrome/browser/chromeos/system/ash_system_tray_delegate.cc

Issue 11312139: Add SystemTrayObservers (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Add comment. Created 8 years, 1 month 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 | Annotate | Revision Log
« no previous file with comments | « chrome/browser/chromeos/status/data_promo_notification.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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/chromeos/system/ash_system_tray_delegate.h" 5 #include "chrome/browser/chromeos/system/ash_system_tray_delegate.h"
6 6
7 #include "ash/shell.h" 7 #include "ash/shell.h"
8 #include "ash/shell_window_ids.h" 8 #include "ash/shell_window_ids.h"
9 #include "ash/system/audio/audio_observer.h" 9 #include "ash/system/audio/audio_observer.h"
10 #include "ash/system/bluetooth/bluetooth_observer.h" 10 #include "ash/system/bluetooth/bluetooth_observer.h"
11 #include "ash/system/brightness/brightness_observer.h" 11 #include "ash/system/brightness/brightness_observer.h"
12 #include "ash/system/chromeos/network/network_observer.h" 12 #include "ash/system/chromeos/network/network_observer.h"
13 #include "ash/system/date/clock_observer.h" 13 #include "ash/system/date/clock_observer.h"
14 #include "ash/system/drive/drive_observer.h" 14 #include "ash/system/drive/drive_observer.h"
15 #include "ash/system/ime/ime_observer.h" 15 #include "ash/system/ime/ime_observer.h"
16 #include "ash/system/logout_button/logout_button_observer.h" 16 #include "ash/system/logout_button/logout_button_observer.h"
17 #include "ash/system/power/power_status_observer.h" 17 #include "ash/system/power/power_status_observer.h"
18 #include "ash/system/tray/system_tray.h" 18 #include "ash/system/tray/system_tray.h"
19 #include "ash/system/tray/system_tray_delegate.h" 19 #include "ash/system/tray/system_tray_delegate.h"
20 #include "ash/system/tray/system_tray_notifier.h"
20 #include "ash/system/tray_accessibility.h" 21 #include "ash/system/tray_accessibility.h"
21 #include "ash/system/tray_caps_lock.h" 22 #include "ash/system/tray_caps_lock.h"
22 #include "ash/system/user/update_observer.h" 23 #include "ash/system/user/update_observer.h"
23 #include "ash/system/user/user_observer.h" 24 #include "ash/system/user/user_observer.h"
24 #include "ash/volume_control_delegate.h" 25 #include "ash/volume_control_delegate.h"
25 #include "ash/wm/session_state_controller.h" 26 #include "ash/wm/session_state_controller.h"
26 #include "base/bind_helpers.h" 27 #include "base/bind_helpers.h"
27 #include "base/callback.h" 28 #include "base/callback.h"
28 #include "base/chromeos/chromeos_version.h" 29 #include "base/chromeos/chromeos_version.h"
29 #include "base/logging.h" 30 #include "base/logging.h"
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after
169 network_icon_(ALLOW_THIS_IN_INITIALIZER_LIST( 170 network_icon_(ALLOW_THIS_IN_INITIALIZER_LIST(
170 new NetworkMenuIcon(this, NetworkMenuIcon::MENU_MODE))), 171 new NetworkMenuIcon(this, NetworkMenuIcon::MENU_MODE))),
171 network_icon_dark_(ALLOW_THIS_IN_INITIALIZER_LIST( 172 network_icon_dark_(ALLOW_THIS_IN_INITIALIZER_LIST(
172 new NetworkMenuIcon(this, NetworkMenuIcon::MENU_MODE))), 173 new NetworkMenuIcon(this, NetworkMenuIcon::MENU_MODE))),
173 network_menu_(ALLOW_THIS_IN_INITIALIZER_LIST(new NetworkMenu(this))), 174 network_menu_(ALLOW_THIS_IN_INITIALIZER_LIST(new NetworkMenu(this))),
174 clock_type_(base::k24HourClock), 175 clock_type_(base::k24HourClock),
175 search_key_mapped_to_(input_method::kSearchKey), 176 search_key_mapped_to_(input_method::kSearchKey),
176 screen_locked_(false), 177 screen_locked_(false),
177 connected_network_state_(STATE_UNKNOWN), 178 connected_network_state_(STATE_UNKNOWN),
178 data_promo_notification_(new DataPromoNotification()), 179 data_promo_notification_(new DataPromoNotification()),
179 volume_control_delegate_(ALLOW_THIS_IN_INITIALIZER_LIST( 180 volume_control_delegate_(new VolumeController()) {
180 new VolumeController)) {
181 // Register notifications on construction so that events such as 181 // Register notifications on construction so that events such as
182 // PROFILE_CREATED do not get missed if they happen before Initialize(). 182 // PROFILE_CREATED do not get missed if they happen before Initialize().
183 registrar_.Add(this, 183 registrar_.Add(this,
184 chrome::NOTIFICATION_UPGRADE_RECOMMENDED, 184 chrome::NOTIFICATION_UPGRADE_RECOMMENDED,
185 content::NotificationService::AllSources()); 185 content::NotificationService::AllSources());
186 registrar_.Add(this, 186 registrar_.Add(this,
187 chrome::NOTIFICATION_LOGIN_USER_IMAGE_CHANGED, 187 chrome::NOTIFICATION_LOGIN_USER_IMAGE_CHANGED,
188 content::NotificationService::AllSources()); 188 content::NotificationService::AllSources());
189 if (GetUserLoginStatus() == ash::user::LOGGED_IN_NONE) { 189 if (GetUserLoginStatus() == ash::user::LOGGED_IN_NONE) {
190 registrar_.Add(this, 190 registrar_.Add(this,
(...skipping 427 matching lines...) Expand 10 before | Expand all | Expand 10 after
618 chrome::ShowSettingsSubPage(GetAppropriateBrowser(), 618 chrome::ShowSettingsSubPage(GetAppropriateBrowser(),
619 chrome::kBluetoothAddDeviceSubPage); 619 chrome::kBluetoothAddDeviceSubPage);
620 } 620 }
621 621
622 virtual void ToggleAirplaneMode() OVERRIDE { 622 virtual void ToggleAirplaneMode() OVERRIDE {
623 NetworkLibrary* crosnet = CrosLibrary::Get()->GetNetworkLibrary(); 623 NetworkLibrary* crosnet = CrosLibrary::Get()->GetNetworkLibrary();
624 crosnet->EnableOfflineMode(!crosnet->offline_mode()); 624 crosnet->EnableOfflineMode(!crosnet->offline_mode());
625 } 625 }
626 626
627 virtual void ToggleWifi() OVERRIDE { 627 virtual void ToggleWifi() OVERRIDE {
628 GetSystemTray()->network_observer()->OnWillToggleWifi(); 628 GetSystemTrayNotifier()->NotifyWillToggleWifi();
629 network_menu_->ToggleWifi(); 629 network_menu_->ToggleWifi();
630 } 630 }
631 631
632 virtual void ToggleMobile() OVERRIDE { 632 virtual void ToggleMobile() OVERRIDE {
633 network_menu_->ToggleMobile(); 633 network_menu_->ToggleMobile();
634 } 634 }
635 635
636 virtual void ToggleBluetooth() OVERRIDE { 636 virtual void ToggleBluetooth() OVERRIDE {
637 bluetooth_adapter_->SetPowered(!bluetooth_adapter_->IsPowered(), 637 bluetooth_adapter_->SetPowered(!bluetooth_adapter_->IsPowered(),
638 base::Bind(&base::DoNothing), 638 base::Bind(&base::DoNothing),
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
732 virtual void SetVolumeControlDelegate( 732 virtual void SetVolumeControlDelegate(
733 scoped_ptr<ash::VolumeControlDelegate> delegate) OVERRIDE { 733 scoped_ptr<ash::VolumeControlDelegate> delegate) OVERRIDE {
734 volume_control_delegate_.swap(delegate); 734 volume_control_delegate_.swap(delegate);
735 } 735 }
736 736
737 private: 737 private:
738 ash::SystemTray* GetSystemTray() { 738 ash::SystemTray* GetSystemTray() {
739 return ash::Shell::GetInstance()->system_tray(); 739 return ash::Shell::GetInstance()->system_tray();
740 } 740 }
741 741
742 ash::SystemTrayNotifier* GetSystemTrayNotifier() {
743 return ash::Shell::GetInstance()->system_tray_notifier();
744 }
745
742 // Returns the last active browser. If there is no such browser, creates a new 746 // Returns the last active browser. If there is no such browser, creates a new
743 // browser window with an empty tab and returns it. 747 // browser window with an empty tab and returns it.
744 Browser* GetAppropriateBrowser() { 748 Browser* GetAppropriateBrowser() {
745 return browser::FindOrCreateTabbedBrowser( 749 return browser::FindOrCreateTabbedBrowser(
746 ProfileManager::GetDefaultProfileOrOffTheRecord(), 750 ProfileManager::GetDefaultProfileOrOffTheRecord(),
747 chrome::HOST_DESKTOP_TYPE_ASH); 751 chrome::HOST_DESKTOP_TYPE_ASH);
748 } 752 }
749 753
750 void SetProfile(Profile* profile) { 754 void SetProfile(Profile* profile) {
751 PrefService* prefs = profile->GetPrefs(); 755 PrefService* prefs = profile->GetPrefs();
(...skipping 12 matching lines...) Expand all
764 DriveSystemService* system_service = FindDriveSystemService(); 768 DriveSystemService* system_service = FindDriveSystemService();
765 if (!system_service) 769 if (!system_service)
766 return; 770 return;
767 771
768 system_service->drive_service()->AddObserver(this); 772 system_service->drive_service()->AddObserver(this);
769 } 773 }
770 774
771 void UpdateClockType(PrefServiceBase* service) { 775 void UpdateClockType(PrefServiceBase* service) {
772 clock_type_ = service->GetBoolean(prefs::kUse24HourClock) ? 776 clock_type_ = service->GetBoolean(prefs::kUse24HourClock) ?
773 base::k24HourClock : base::k12HourClock; 777 base::k24HourClock : base::k12HourClock;
774 ash::ClockObserver* observer = GetSystemTray()->clock_observer(); 778 GetSystemTrayNotifier()->NotifyDateFormatChanged();
775 if (observer)
776 observer->OnDateFormatChanged();
777 } 779 }
778 780
779 void UpdateShowLogoutButtonInTray(PrefServiceBase* service) { 781 void UpdateShowLogoutButtonInTray(PrefServiceBase* service) {
780 ash::LogoutButtonObserver* observer = 782 GetSystemTrayNotifier()->NotifyShowLoginButtonChanged(
781 GetSystemTray()->logout_button_observer(); 783 service->GetBoolean(prefs::kShowLogoutButtonInTray));
782 if (observer) {
783 observer->OnShowLogoutButtonInTrayChanged(
784 service->GetBoolean(prefs::kShowLogoutButtonInTray));
785 }
786 }
787
788 void NotifyRefreshClock() {
789 ash::ClockObserver* observer = GetSystemTray()->clock_observer();
790 if (observer)
791 observer->Refresh();
792 } 784 }
793 785
794 void NotifyRefreshNetwork() { 786 void NotifyRefreshNetwork() {
795 ash::NetworkObserver* observer = GetSystemTray()->network_observer();
796 chromeos::NetworkLibrary* crosnet = 787 chromeos::NetworkLibrary* crosnet =
797 chromeos::CrosLibrary::Get()->GetNetworkLibrary(); 788 chromeos::CrosLibrary::Get()->GetNetworkLibrary();
798 if (observer) { 789 ash::NetworkIconInfo info;
799 ash::NetworkIconInfo info; 790 info.image = network_icon_->GetIconAndText(&info.description);
800 info.image = network_icon_->GetIconAndText(&info.description); 791 info.tray_icon_visible = network_icon_->ShouldShowIconInTray();
801 info.tray_icon_visible = network_icon_->ShouldShowIconInTray(); 792 GetSystemTrayNotifier()->NotifyRefreshNetwork(info);
802 observer->OnNetworkRefresh(info); 793 GetSystemTrayNotifier()->NotifyVpnRefreshNetwork(info);
803 }
804
805 ash::NetworkObserver* vpn_observer = GetSystemTray()->vpn_observer();
806 if (vpn_observer) {
807 ash::NetworkIconInfo info;
808 info.image = network_icon_->GetIconAndText(&info.description);
809 info.tray_icon_visible = network_icon_->ShouldShowIconInTray();
810 vpn_observer->OnNetworkRefresh(info);
811 }
812 794
813 // Update Accessibility. 795 // Update Accessibility.
814 796
815 std::string connected_network_path; 797 std::string connected_network_path;
816 ConnectionState connected_network_state(STATE_UNKNOWN); 798 ConnectionState connected_network_state(STATE_UNKNOWN);
817 if (crosnet->connected_network()) { 799 if (crosnet->connected_network()) {
818 connected_network_path = crosnet->connected_network()->service_path(); 800 connected_network_path = crosnet->connected_network()->service_path();
819 connected_network_state = crosnet->connected_network()->state(); 801 connected_network_state = crosnet->connected_network()->state();
820 } 802 }
821 if (accessibility::IsSpokenFeedbackEnabled()) { 803 if (accessibility::IsSpokenFeedbackEnabled()) {
822 bool speak = false; 804 bool speak = false;
823 if ((connected_network_path_ != connected_network_path) || 805 if ((connected_network_path_ != connected_network_path) ||
824 (Network::IsConnectedState(connected_network_state_) && 806 (Network::IsConnectedState(connected_network_state_) &&
825 !Network::IsConnectedState(connected_network_state)) || 807 !Network::IsConnectedState(connected_network_state)) ||
826 (Network::IsConnectingState(connected_network_state_) && 808 (Network::IsConnectingState(connected_network_state_) &&
827 !Network::IsConnectingState(connected_network_state)) || 809 !Network::IsConnectingState(connected_network_state)) ||
828 (Network::IsDisconnectedState(connected_network_state_) && 810 (Network::IsDisconnectedState(connected_network_state_) &&
829 !Network::IsDisconnectedState(connected_network_state))) { 811 !Network::IsDisconnectedState(connected_network_state))) {
830 speak = true; 812 speak = true;
831 } 813 }
832 814
833 if (speak) 815 if (speak)
834 AccessibilitySpeak(crosnet->connected_network()); 816 AccessibilitySpeak(crosnet->connected_network());
835 } 817 }
836 818
837 connected_network_path_ = connected_network_path_; 819 connected_network_path_ = connected_network_path_;
838 connected_network_state_ = connected_network_state; 820 connected_network_state_ = connected_network_state;
839 } 821 }
840 822
841 void NotifyRefreshBluetooth() {
842 ash::BluetoothObserver* observer = GetSystemTray()->bluetooth_observer();
843 if (observer)
844 observer->OnBluetoothRefresh();
845 }
846
847 void NotifyBluetoothDiscoveringChanged() {
848 ash::BluetoothObserver* observer = GetSystemTray()->bluetooth_observer();
849 if (observer)
850 observer->OnBluetoothDiscoveringChanged();
851 }
852
853 void NotifyRefreshIME(bool show_message) {
854 ash::IMEObserver* observer = GetSystemTray()->ime_observer();
855 if (observer)
856 observer->OnIMERefresh(show_message);
857 }
858
859 void NotifyRefreshDrive(ash::DriveOperationStatusList& list) {
860 ash::DriveObserver* observer = GetSystemTray()->drive_observer();
861 if (observer)
862 observer->OnDriveRefresh(list);
863 }
864
865 void RefreshNetworkObserver(NetworkLibrary* crosnet) { 823 void RefreshNetworkObserver(NetworkLibrary* crosnet) {
866 const Network* network = crosnet->active_network(); 824 const Network* network = crosnet->active_network();
867 std::string new_path = network ? network->service_path() : std::string(); 825 std::string new_path = network ? network->service_path() : std::string();
868 if (active_network_path_ != new_path) { 826 if (active_network_path_ != new_path) {
869 if (!active_network_path_.empty()) 827 if (!active_network_path_.empty())
870 crosnet->RemoveNetworkObserver(active_network_path_, this); 828 crosnet->RemoveNetworkObserver(active_network_path_, this);
871 if (!new_path.empty()) 829 if (!new_path.empty())
872 crosnet->AddNetworkObserver(new_path, this); 830 crosnet->AddNetworkObserver(new_path, this);
873 active_network_path_ = new_path; 831 active_network_path_ = new_path;
874 } 832 }
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after
976 l10n_util::GetStringUTF16( 934 l10n_util::GetStringUTF16(
977 IDS_STATUSBAR_NETWORK_DEVICE_CONNECTING)); 935 IDS_STATUSBAR_NETWORK_DEVICE_CONNECTING));
978 } 936 }
979 added->insert(network); 937 added->insert(network);
980 list->push_back(info); 938 list->push_back(info);
981 } 939 }
982 940
983 // Overridden from AudioHandler::VolumeObserver. 941 // Overridden from AudioHandler::VolumeObserver.
984 virtual void OnVolumeChanged() OVERRIDE { 942 virtual void OnVolumeChanged() OVERRIDE {
985 float level = AudioHandler::GetInstance()->GetVolumePercent() / 100.f; 943 float level = AudioHandler::GetInstance()->GetVolumePercent() / 100.f;
986 GetSystemTray()->audio_observer()->OnVolumeChanged(level); 944 GetSystemTrayNotifier()->NotifyVolumeChanged(level);
987 } 945 }
988 946
989 // Overridden from AudioHandler::VolumeObserver. 947 // Overridden from AudioHandler::VolumeObserver.
990 virtual void OnMuteToggled() OVERRIDE { 948 virtual void OnMuteToggled() OVERRIDE {
991 GetSystemTray()->audio_observer()->OnMuteToggled(); 949 GetSystemTrayNotifier()->NotifyMuteToggled();
992 } 950 }
993 951
994 // Overridden from PowerManagerClient::Observer. 952 // Overridden from PowerManagerClient::Observer.
995 virtual void BrightnessChanged(int level, bool user_initiated) OVERRIDE { 953 virtual void BrightnessChanged(int level, bool user_initiated) OVERRIDE {
996 GetSystemTray()->brightness_observer()-> 954 double leveld = static_cast<double>(level);
997 OnBrightnessChanged(static_cast<double>(level), user_initiated); 955 GetSystemTrayNotifier()->NotifyBrightnessChanged(leveld, user_initiated);
998 } 956 }
999 957
1000 virtual void PowerChanged(const PowerSupplyStatus& power_status) OVERRIDE { 958 virtual void PowerChanged(const PowerSupplyStatus& power_status) OVERRIDE {
1001 power_supply_status_ = power_status; 959 power_supply_status_ = power_status;
1002 FOR_EACH_OBSERVER(ash::PowerStatusObserver, 960 GetSystemTrayNotifier()->NotifyPowerStatusChanged(power_status);
1003 GetSystemTray()->power_status_observers(),
1004 OnPowerStatusChanged(power_status));
1005 } 961 }
1006 962
1007 virtual void SystemResumed() OVERRIDE { 963 virtual void SystemResumed() OVERRIDE {
1008 NotifyRefreshClock(); 964 GetSystemTrayNotifier()->NotifyRefreshClock();
1009 } 965 }
1010 966
1011 // Overridden from SessionManagerClient::Observer. 967 // Overridden from SessionManagerClient::Observer.
1012 virtual void LockScreen() OVERRIDE { 968 virtual void LockScreen() OVERRIDE {
1013 screen_locked_ = true; 969 screen_locked_ = true;
1014 ash::Shell::GetInstance()->UpdateAfterLoginStatusChange( 970 ash::Shell::GetInstance()->UpdateAfterLoginStatusChange(
1015 GetUserLoginStatus()); 971 GetUserLoginStatus());
1016 } 972 }
1017 973
1018 virtual void UnlockScreen() OVERRIDE { 974 virtual void UnlockScreen() OVERRIDE {
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
1087 1043
1088 case UpgradeDetector::UPGRADE_ANNOYANCE_ELEVATED: 1044 case UpgradeDetector::UPGRADE_ANNOYANCE_ELEVATED:
1089 severity = ash::UpdateObserver::UPDATE_LOW_GREEN; 1045 severity = ash::UpdateObserver::UPDATE_LOW_GREEN;
1090 break; 1046 break;
1091 1047
1092 case UpgradeDetector::UPGRADE_ANNOYANCE_LOW: 1048 case UpgradeDetector::UPGRADE_ANNOYANCE_LOW:
1093 default: 1049 default:
1094 severity = ash::UpdateObserver::UPDATE_NORMAL; 1050 severity = ash::UpdateObserver::UPDATE_NORMAL;
1095 break; 1051 break;
1096 } 1052 }
1097 ash::UpdateObserver* observer = GetSystemTray()->update_observer(); 1053 GetSystemTrayNotifier()->NotifyUpdateRecommended(severity);
1098 if (observer)
1099 observer->OnUpdateRecommended(severity);
1100 break; 1054 break;
1101 } 1055 }
1102 case chrome::NOTIFICATION_LOGIN_USER_IMAGE_CHANGED: { 1056 case chrome::NOTIFICATION_LOGIN_USER_IMAGE_CHANGED: {
1103 // This notification is also sent on login screen when user avatar 1057 // This notification is also sent on login screen when user avatar
1104 // is loaded from file. 1058 // is loaded from file.
1105 if (GetUserLoginStatus() != ash::user::LOGGED_IN_NONE) { 1059 if (GetUserLoginStatus() != ash::user::LOGGED_IN_NONE) {
1106 ash::UserObserver* observer = GetSystemTray()->user_observer(); 1060 GetSystemTrayNotifier()->NotifyUserUpdate();
1107 if (observer)
1108 observer->OnUserUpdate();
1109 } 1061 }
1110 break; 1062 break;
1111 } 1063 }
1112 case chrome::NOTIFICATION_LOGIN_USER_PROFILE_PREPARED: { 1064 case chrome::NOTIFICATION_LOGIN_USER_PROFILE_PREPARED: {
1113 // GData system service exists by the time if enabled. 1065 // GData system service exists by the time if enabled.
1114 ObserveGDataUpdates(); 1066 ObserveGDataUpdates();
1115 break; 1067 break;
1116 } 1068 }
1117 case chrome::NOTIFICATION_PROFILE_CREATED: { 1069 case chrome::NOTIFICATION_PROFILE_CREATED: {
1118 SetProfile(content::Source<Profile>(source).ptr()); 1070 SetProfile(content::Source<Profile>(source).ptr());
(...skipping 14 matching lines...) Expand all
1133 } 1085 }
1134 1086
1135 virtual void OnPreferenceChanged(PrefServiceBase* service, 1087 virtual void OnPreferenceChanged(PrefServiceBase* service,
1136 const std::string& pref) OVERRIDE { 1088 const std::string& pref) OVERRIDE {
1137 if (pref == prefs::kUse24HourClock) { 1089 if (pref == prefs::kUse24HourClock) {
1138 UpdateClockType(service); 1090 UpdateClockType(service);
1139 } else if (pref == prefs::kLanguageRemapSearchKeyTo) { 1091 } else if (pref == prefs::kLanguageRemapSearchKeyTo) {
1140 search_key_mapped_to_ = 1092 search_key_mapped_to_ =
1141 service->GetInteger(prefs::kLanguageRemapSearchKeyTo); 1093 service->GetInteger(prefs::kLanguageRemapSearchKeyTo);
1142 } else if (pref == prefs::kSpokenFeedbackEnabled) { 1094 } else if (pref == prefs::kSpokenFeedbackEnabled) {
1143 ash::AccessibilityObserver* observer = 1095 GetSystemTrayNotifier()->NotifyAccessibilityModeChanged(
1144 GetSystemTray()->accessibility_observer(); 1096 service->GetBoolean(prefs::kSpokenFeedbackEnabled));
1145 if (observer) {
1146 observer->OnAccessibilityModeChanged(
1147 service->GetBoolean(prefs::kSpokenFeedbackEnabled));
1148 }
1149 } else if (pref == prefs::kShowLogoutButtonInTray) { 1097 } else if (pref == prefs::kShowLogoutButtonInTray) {
1150 UpdateShowLogoutButtonInTray(service); 1098 UpdateShowLogoutButtonInTray(service);
1151 } else { 1099 } else {
1152 NOTREACHED(); 1100 NOTREACHED();
1153 } 1101 }
1154 } 1102 }
1155 1103
1156 // Overridden from InputMethodManager::Observer. 1104 // Overridden from InputMethodManager::Observer.
1157 virtual void InputMethodChanged( 1105 virtual void InputMethodChanged(
1158 input_method::InputMethodManager* manager, bool show_message) OVERRIDE { 1106 input_method::InputMethodManager* manager, bool show_message) OVERRIDE {
1159 NotifyRefreshIME(show_message); 1107 GetSystemTrayNotifier()->NotifyRefreshIME(show_message);
1160 } 1108 }
1161 1109
1162 virtual void InputMethodPropertyChanged( 1110 virtual void InputMethodPropertyChanged(
1163 input_method::InputMethodManager* manager) OVERRIDE { 1111 input_method::InputMethodManager* manager) OVERRIDE {
1164 NotifyRefreshIME(false); 1112 GetSystemTrayNotifier()->NotifyRefreshIME(false);
1165 } 1113 }
1166 1114
1167 // google_apis::DriveServiceObserver overrides. 1115 // google_apis::DriveServiceObserver overrides.
1168 virtual void OnProgressUpdate( 1116 virtual void OnProgressUpdate(
1169 const google_apis::OperationProgressStatusList& list) OVERRIDE { 1117 const google_apis::OperationProgressStatusList& list) OVERRIDE {
1170 std::vector<ash::DriveOperationStatus> ui_list = GetDriveStatusList(list); 1118 std::vector<ash::DriveOperationStatus> ui_list = GetDriveStatusList(list);
1171 NotifyRefreshDrive(ui_list); 1119 GetSystemTrayNotifier()->NotifyRefreshDrive(ui_list);
1172 1120
1173 // If we have something to report right now (i.e. completion status only), 1121 // If we have something to report right now (i.e. completion status only),
1174 // we need to delayed re-check the status in few seconds to ensure we 1122 // we need to delayed re-check the status in few seconds to ensure we
1175 // raise events that will let us properly clear the uber tray state. 1123 // raise events that will let us properly clear the uber tray state.
1176 if (list.size() > 0) { 1124 if (list.size() > 0) {
1177 bool has_in_progress_items = false; 1125 bool has_in_progress_items = false;
1178 for (google_apis::OperationProgressStatusList::const_iterator it = 1126 for (google_apis::OperationProgressStatusList::const_iterator it =
1179 list.begin(); 1127 list.begin();
1180 it != list.end(); ++it) { 1128 it != list.end(); ++it) {
1181 if (it->transfer_state == google_apis::OPERATION_STARTED || 1129 if (it->transfer_state == google_apis::OPERATION_STARTED ||
(...skipping 28 matching lines...) Expand all
1210 OnProgressUpdate(system_service->drive_service()->GetProgressStatusList()); 1158 OnProgressUpdate(system_service->drive_service()->GetProgressStatusList());
1211 } 1159 }
1212 1160
1213 DriveSystemService* FindDriveSystemService() { 1161 DriveSystemService* FindDriveSystemService() {
1214 Profile* profile = ProfileManager::GetDefaultProfile(); 1162 Profile* profile = ProfileManager::GetDefaultProfile();
1215 return DriveSystemServiceFactory::FindForProfile(profile); 1163 return DriveSystemServiceFactory::FindForProfile(profile);
1216 } 1164 }
1217 1165
1218 // Overridden from system::TimezoneSettings::Observer. 1166 // Overridden from system::TimezoneSettings::Observer.
1219 virtual void TimezoneChanged(const icu::TimeZone& timezone) OVERRIDE { 1167 virtual void TimezoneChanged(const icu::TimeZone& timezone) OVERRIDE {
1220 NotifyRefreshClock(); 1168 GetSystemTrayNotifier()->NotifyRefreshClock();
1221 } 1169 }
1222 1170
1223 // Overridden from BluetoothAdapter::Observer. 1171 // Overridden from BluetoothAdapter::Observer.
1224 virtual void AdapterPresentChanged(device::BluetoothAdapter* adapter, 1172 virtual void AdapterPresentChanged(device::BluetoothAdapter* adapter,
1225 bool present) OVERRIDE { 1173 bool present) OVERRIDE {
1226 NotifyRefreshBluetooth(); 1174 GetSystemTrayNotifier()->NotifyRefreshBluetooth();
1227 } 1175 }
1228 1176
1229 virtual void AdapterPoweredChanged(device::BluetoothAdapter* adapter, 1177 virtual void AdapterPoweredChanged(device::BluetoothAdapter* adapter,
1230 bool powered) OVERRIDE { 1178 bool powered) OVERRIDE {
1231 NotifyRefreshBluetooth(); 1179 GetSystemTrayNotifier()->NotifyRefreshBluetooth();
1232 } 1180 }
1233 1181
1234 virtual void AdapterDiscoveringChanged(device::BluetoothAdapter* adapter, 1182 virtual void AdapterDiscoveringChanged(device::BluetoothAdapter* adapter,
1235 bool discovering) OVERRIDE { 1183 bool discovering) OVERRIDE {
1236 NotifyBluetoothDiscoveringChanged(); 1184 GetSystemTrayNotifier()->NotifyBluetoothDiscoveringChanged();
1237 } 1185 }
1238 1186
1239 virtual void DeviceAdded(device::BluetoothAdapter* adapter, 1187 virtual void DeviceAdded(device::BluetoothAdapter* adapter,
1240 device::BluetoothDevice* device) OVERRIDE { 1188 device::BluetoothDevice* device) OVERRIDE {
1241 NotifyRefreshBluetooth(); 1189 GetSystemTrayNotifier()->NotifyRefreshBluetooth();
1242 } 1190 }
1243 1191
1244 virtual void DeviceChanged(device::BluetoothAdapter* adapter, 1192 virtual void DeviceChanged(device::BluetoothAdapter* adapter,
1245 device::BluetoothDevice* device) OVERRIDE { 1193 device::BluetoothDevice* device) OVERRIDE {
1246 NotifyRefreshBluetooth(); 1194 GetSystemTrayNotifier()->NotifyRefreshBluetooth();
1247 } 1195 }
1248 1196
1249 virtual void DeviceRemoved(device::BluetoothAdapter* adapter, 1197 virtual void DeviceRemoved(device::BluetoothAdapter* adapter,
1250 device::BluetoothDevice* device) OVERRIDE { 1198 device::BluetoothDevice* device) OVERRIDE {
1251 NotifyRefreshBluetooth(); 1199 GetSystemTrayNotifier()->NotifyRefreshBluetooth();
1252 } 1200 }
1253 1201
1254 // Overridden from SystemKeyEventListener::CapsLockObserver. 1202 // Overridden from SystemKeyEventListener::CapsLockObserver.
1255 virtual void OnCapsLockChange(bool enabled) OVERRIDE { 1203 virtual void OnCapsLockChange(bool enabled) OVERRIDE {
1256 bool search_mapped_to_caps_lock = false; 1204 bool search_mapped_to_caps_lock = false;
1257 if (!base::chromeos::IsRunningOnChromeOS() || 1205 if (!base::chromeos::IsRunningOnChromeOS() ||
1258 search_key_mapped_to_ == input_method::kCapsLockKey) 1206 search_key_mapped_to_ == input_method::kCapsLockKey)
1259 search_mapped_to_caps_lock = true; 1207 search_mapped_to_caps_lock = true;
1260 1208 GetSystemTrayNotifier()->NotifyCapsLockChanged(
1261 ash::CapsLockObserver* observer = GetSystemTray()->caps_lock_observer(); 1209 enabled, search_mapped_to_caps_lock);
1262 if (observer)
1263 observer->OnCapsLockChanged(enabled, search_mapped_to_caps_lock);
1264 } 1210 }
1265 1211
1266 // Overridden from ash::NetworkTrayDelegate 1212 // Overridden from ash::NetworkTrayDelegate
1267 virtual void NotificationLinkClicked(size_t index) OVERRIDE { 1213 virtual void NotificationLinkClicked(size_t index) OVERRIDE {
1268 // If we have deal info URL defined that means that there're 1214 // If we have deal info URL defined that means that there're
1269 // 2 links in bubble. Let the user close it manually then thus giving 1215 // 2 links in bubble. Let the user close it manually then thus giving
1270 // ability to navigate to second link. 1216 // ability to navigate to second link.
1271 // mobile_data_bubble_ will be set to NULL in BubbleClosing callback. 1217 // mobile_data_bubble_ will be set to NULL in BubbleClosing callback.
1272 std::string deal_info_url = data_promo_notification_->deal_info_url(); 1218 std::string deal_info_url = data_promo_notification_->deal_info_url();
1273 std::string deal_topup_url = data_promo_notification_->deal_topup_url(); 1219 std::string deal_topup_url = data_promo_notification_->deal_topup_url();
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
1326 DISALLOW_COPY_AND_ASSIGN(SystemTrayDelegate); 1272 DISALLOW_COPY_AND_ASSIGN(SystemTrayDelegate);
1327 }; 1273 };
1328 1274
1329 } // namespace 1275 } // namespace
1330 1276
1331 ash::SystemTrayDelegate* CreateSystemTrayDelegate() { 1277 ash::SystemTrayDelegate* CreateSystemTrayDelegate() {
1332 return new chromeos::SystemTrayDelegate(); 1278 return new chromeos::SystemTrayDelegate();
1333 } 1279 }
1334 1280
1335 } // namespace chromeos 1281 } // namespace chromeos
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/status/data_promo_notification.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698