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

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

Issue 10693087: chromeos: Request screen lock directly from session manager. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: remove locking-related metrics code Created 8 years, 5 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 unified diff | Download patch | Annotate | Revision Log
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"
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
59 #include "chrome/browser/ui/browser_finder.h" 59 #include "chrome/browser/ui/browser_finder.h"
60 #include "chrome/browser/ui/browser.h" 60 #include "chrome/browser/ui/browser.h"
61 #include "chrome/browser/ui/chrome_pages.h" 61 #include "chrome/browser/ui/chrome_pages.h"
62 #include "chrome/browser/ui/singleton_tabs.h" 62 #include "chrome/browser/ui/singleton_tabs.h"
63 #include "chrome/browser/upgrade_detector.h" 63 #include "chrome/browser/upgrade_detector.h"
64 #include "chrome/common/chrome_notification_types.h" 64 #include "chrome/common/chrome_notification_types.h"
65 #include "chrome/common/pref_names.h" 65 #include "chrome/common/pref_names.h"
66 #include "chrome/common/url_constants.h" 66 #include "chrome/common/url_constants.h"
67 #include "chromeos/dbus/dbus_thread_manager.h" 67 #include "chromeos/dbus/dbus_thread_manager.h"
68 #include "chromeos/dbus/power_manager_client.h" 68 #include "chromeos/dbus/power_manager_client.h"
69 #include "chromeos/dbus/session_manager_client.h"
69 #include "content/public/browser/browser_thread.h" 70 #include "content/public/browser/browser_thread.h"
70 #include "content/public/browser/notification_observer.h" 71 #include "content/public/browser/notification_observer.h"
71 #include "content/public/browser/notification_service.h" 72 #include "content/public/browser/notification_service.h"
72 #include "content/public/browser/user_metrics.h" 73 #include "content/public/browser/user_metrics.h"
73 #include "grit/generated_resources.h" 74 #include "grit/generated_resources.h"
74 #include "ui/base/l10n/l10n_util.h" 75 #include "ui/base/l10n/l10n_util.h"
75 76
76 using gdata::GDataFileSystem; 77 using gdata::GDataFileSystem;
77 using gdata::GDataOperationRegistry; 78 using gdata::GDataOperationRegistry;
78 using gdata::GDataSystemService; 79 using gdata::GDataSystemService;
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
145 // TODO(sad): Do something? 146 // TODO(sad): Do something?
146 } 147 }
147 148
148 void BluetoothDeviceConnectError() { 149 void BluetoothDeviceConnectError() {
149 // TODO(sad): Do something? 150 // TODO(sad): Do something?
150 } 151 }
151 152
152 class SystemTrayDelegate : public ash::SystemTrayDelegate, 153 class SystemTrayDelegate : public ash::SystemTrayDelegate,
153 public AudioHandler::VolumeObserver, 154 public AudioHandler::VolumeObserver,
154 public PowerManagerClient::Observer, 155 public PowerManagerClient::Observer,
156 public SessionManagerClient::Observer,
155 public NetworkMenuIcon::Delegate, 157 public NetworkMenuIcon::Delegate,
156 public NetworkMenu::Delegate, 158 public NetworkMenu::Delegate,
157 public NetworkLibrary::NetworkManagerObserver, 159 public NetworkLibrary::NetworkManagerObserver,
158 public NetworkLibrary::NetworkObserver, 160 public NetworkLibrary::NetworkObserver,
159 public NetworkLibrary::CellularDataPlanObserver, 161 public NetworkLibrary::CellularDataPlanObserver,
160 public gdata::GDataOperationRegistry::Observer, 162 public gdata::GDataOperationRegistry::Observer,
161 public content::NotificationObserver, 163 public content::NotificationObserver,
162 public input_method::InputMethodManager::Observer, 164 public input_method::InputMethodManager::Observer,
163 public system::TimezoneSettings::Observer, 165 public system::TimezoneSettings::Observer,
164 public BluetoothAdapter::Observer, 166 public BluetoothAdapter::Observer,
(...skipping 12 matching lines...) Expand all
177 clock_type_(base::k24HourClock), 179 clock_type_(base::k24HourClock),
178 search_key_mapped_to_(input_method::kSearchKey), 180 search_key_mapped_to_(input_method::kSearchKey),
179 screen_locked_(false), 181 screen_locked_(false),
180 state_(STATE_UNKNOWN), 182 state_(STATE_UNKNOWN),
181 connected_network_(NULL), 183 connected_network_(NULL),
182 data_promo_notification_(new DataPromoNotification()) { 184 data_promo_notification_(new DataPromoNotification()) {
183 AudioHandler::GetInstance()->AddVolumeObserver(this); 185 AudioHandler::GetInstance()->AddVolumeObserver(this);
184 DBusThreadManager::Get()->GetPowerManagerClient()->AddObserver(this); 186 DBusThreadManager::Get()->GetPowerManagerClient()->AddObserver(this);
185 DBusThreadManager::Get()->GetPowerManagerClient()->RequestStatusUpdate( 187 DBusThreadManager::Get()->GetPowerManagerClient()->RequestStatusUpdate(
186 PowerManagerClient::UPDATE_INITIAL); 188 PowerManagerClient::UPDATE_INITIAL);
189 DBusThreadManager::Get()->GetSessionManagerClient()->AddObserver(this);
187 190
188 NetworkLibrary* crosnet = CrosLibrary::Get()->GetNetworkLibrary(); 191 NetworkLibrary* crosnet = CrosLibrary::Get()->GetNetworkLibrary();
189 crosnet->AddNetworkManagerObserver(this); 192 crosnet->AddNetworkManagerObserver(this);
190 OnNetworkManagerChanged(crosnet); 193 OnNetworkManagerChanged(crosnet);
191 crosnet->AddCellularDataPlanObserver(this); 194 crosnet->AddCellularDataPlanObserver(this);
192 195
193 input_method::InputMethodManager::GetInstance()->AddObserver(this); 196 input_method::InputMethodManager::GetInstance()->AddObserver(this);
194 197
195 system::TimezoneSettings::GetInstance()->AddObserver(this); 198 system::TimezoneSettings::GetInstance()->AddObserver(this);
196 199
(...skipping 22 matching lines...) Expand all
219 network_icon_dark_->SetResourceColorTheme(NetworkMenuIcon::COLOR_DARK); 222 network_icon_dark_->SetResourceColorTheme(NetworkMenuIcon::COLOR_DARK);
220 223
221 bluetooth_adapter_ = BluetoothAdapter::DefaultAdapter(); 224 bluetooth_adapter_ = BluetoothAdapter::DefaultAdapter();
222 bluetooth_adapter_->AddObserver(this); 225 bluetooth_adapter_->AddObserver(this);
223 } 226 }
224 227
225 virtual ~SystemTrayDelegate() { 228 virtual ~SystemTrayDelegate() {
226 AudioHandler* audiohandler = AudioHandler::GetInstance(); 229 AudioHandler* audiohandler = AudioHandler::GetInstance();
227 if (audiohandler) 230 if (audiohandler)
228 audiohandler->RemoveVolumeObserver(this); 231 audiohandler->RemoveVolumeObserver(this);
232 DBusThreadManager::Get()->GetSessionManagerClient()->RemoveObserver(this);
229 DBusThreadManager::Get()->GetPowerManagerClient()->RemoveObserver(this); 233 DBusThreadManager::Get()->GetPowerManagerClient()->RemoveObserver(this);
230 NetworkLibrary* crosnet = CrosLibrary::Get()->GetNetworkLibrary(); 234 NetworkLibrary* crosnet = CrosLibrary::Get()->GetNetworkLibrary();
231 if (crosnet) { 235 if (crosnet) {
232 crosnet->RemoveNetworkManagerObserver(this); 236 crosnet->RemoveNetworkManagerObserver(this);
233 crosnet->RemoveCellularDataPlanObserver(this); 237 crosnet->RemoveCellularDataPlanObserver(this);
234 } 238 }
235 input_method::InputMethodManager::GetInstance()->RemoveObserver(this); 239 input_method::InputMethodManager::GetInstance()->RemoveObserver(this);
236 system::TimezoneSettings::GetInstance()->RemoveObserver(this); 240 system::TimezoneSettings::GetInstance()->RemoveObserver(this);
237 if (SystemKeyEventListener::GetInstance()) 241 if (SystemKeyEventListener::GetInstance())
238 SystemKeyEventListener::GetInstance()->RemoveCapsLockObserver(this); 242 SystemKeyEventListener::GetInstance()->RemoveCapsLockObserver(this);
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after
373 377
374 virtual void ShutDown() OVERRIDE { 378 virtual void ShutDown() OVERRIDE {
375 DBusThreadManager::Get()->GetPowerManagerClient()->RequestShutdown(); 379 DBusThreadManager::Get()->GetPowerManagerClient()->RequestShutdown();
376 } 380 }
377 381
378 virtual void SignOut() OVERRIDE { 382 virtual void SignOut() OVERRIDE {
379 browser::AttemptUserExit(); 383 browser::AttemptUserExit();
380 } 384 }
381 385
382 virtual void RequestLockScreen() OVERRIDE { 386 virtual void RequestLockScreen() OVERRIDE {
383 DBusThreadManager::Get()->GetPowerManagerClient()-> 387 DBusThreadManager::Get()->GetSessionManagerClient()->RequestLockScreen();
384 NotifyScreenLockRequested();
385 } 388 }
386 389
387 virtual void RequestRestart() OVERRIDE { 390 virtual void RequestRestart() OVERRIDE {
388 DBusThreadManager::Get()->GetPowerManagerClient()->RequestRestart(); 391 DBusThreadManager::Get()->GetPowerManagerClient()->RequestRestart();
389 } 392 }
390 393
391 virtual void GetAvailableBluetoothDevices( 394 virtual void GetAvailableBluetoothDevices(
392 ash::BluetoothDeviceList* list) OVERRIDE { 395 ash::BluetoothDeviceList* list) OVERRIDE {
393 BluetoothAdapter::DeviceList devices = bluetooth_adapter_->GetDevices(); 396 BluetoothAdapter::DeviceList devices = bluetooth_adapter_->GetDevices();
394 for (size_t i = 0; i < devices.size(); ++i) { 397 for (size_t i = 0; i < devices.size(); ++i) {
(...skipping 549 matching lines...) Expand 10 before | Expand all | Expand 10 after
944 virtual void PowerChanged(const PowerSupplyStatus& power_status) OVERRIDE { 947 virtual void PowerChanged(const PowerSupplyStatus& power_status) OVERRIDE {
945 power_supply_status_ = power_status; 948 power_supply_status_ = power_status;
946 FOR_EACH_OBSERVER(ash::PowerStatusObserver, tray_->power_status_observers(), 949 FOR_EACH_OBSERVER(ash::PowerStatusObserver, tray_->power_status_observers(),
947 OnPowerStatusChanged(power_status)); 950 OnPowerStatusChanged(power_status));
948 } 951 }
949 952
950 virtual void SystemResumed() OVERRIDE { 953 virtual void SystemResumed() OVERRIDE {
951 NotifyRefreshClock(); 954 NotifyRefreshClock();
952 } 955 }
953 956
957 // Overridden from SessionManagerClient::Observer.
954 virtual void LockScreen() OVERRIDE { 958 virtual void LockScreen() OVERRIDE {
955 screen_locked_ = true; 959 screen_locked_ = true;
956 ash::Shell::GetInstance()->status_area_widget()-> 960 ash::Shell::GetInstance()->status_area_widget()->
957 UpdateAfterLoginStatusChange(GetUserLoginStatus()); 961 UpdateAfterLoginStatusChange(GetUserLoginStatus());
958 } 962 }
959 963
960 virtual void UnlockScreen() OVERRIDE { 964 virtual void UnlockScreen() OVERRIDE {
961 screen_locked_ = false; 965 screen_locked_ = false;
962 ash::Shell::GetInstance()->status_area_widget()-> 966 ash::Shell::GetInstance()->status_area_widget()->
963 UpdateAfterLoginStatusChange(GetUserLoginStatus()); 967 UpdateAfterLoginStatusChange(GetUserLoginStatus());
(...skipping 279 matching lines...) Expand 10 before | Expand all | Expand 10 after
1243 DISALLOW_COPY_AND_ASSIGN(SystemTrayDelegate); 1247 DISALLOW_COPY_AND_ASSIGN(SystemTrayDelegate);
1244 }; 1248 };
1245 1249
1246 } // namespace 1250 } // namespace
1247 1251
1248 ash::SystemTrayDelegate* CreateSystemTrayDelegate(ash::SystemTray* tray) { 1252 ash::SystemTrayDelegate* CreateSystemTrayDelegate(ash::SystemTray* tray) {
1249 return new chromeos::SystemTrayDelegate(tray); 1253 return new chromeos::SystemTrayDelegate(tray);
1250 } 1254 }
1251 1255
1252 } // namespace chromeos 1256 } // namespace chromeos
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/power/screen_lock_observer.cc ('k') | chrome/browser/ui/views/ash/chrome_shell_delegate.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698