summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorstevenjb@chromium.org <stevenjb@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-09-26 10:15:03 +0000
committerstevenjb@chromium.org <stevenjb@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-09-26 10:15:03 +0000
commit25cae45b57e37ec91318ec019b49d75c5f646097 (patch)
treeaf304cb4a811213d8df47ca5c43b43d93fdd922f
parent52cb0d6dab92288b0cf79afd7a1bcc86d12c9976 (diff)
downloadchromium_src-25cae45b57e37ec91318ec019b49d75c5f646097.zip
chromium_src-25cae45b57e37ec91318ec019b49d75c5f646097.tar.gz
chromium_src-25cae45b57e37ec91318ec019b49d75c5f646097.tar.bz2
Move Power and Clock observers to Ash
BUG=154856 Review URL: https://codereview.chromium.org/24497002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@225437 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--ash/accelerators/accelerator_controller.cc2
-rw-r--r--ash/accelerators/accelerator_controller_unittest.cc2
-rw-r--r--ash/ash.gyp11
-rw-r--r--ash/shell.cc8
-rw-r--r--ash/system/brightness/brightness_observer.h22
-rw-r--r--ash/system/brightness_control_delegate.h (renamed from ash/system/brightness/brightness_control_delegate.h)8
-rw-r--r--ash/system/chromeos/brightness/brightness_controller_chromeos.cc (renamed from chrome/browser/ui/ash/brightness_controller_chromeos.cc)19
-rw-r--r--ash/system/chromeos/brightness/brightness_controller_chromeos.h (renamed from chrome/browser/ui/ash/brightness_controller_chromeos.h)26
-rw-r--r--ash/system/chromeos/brightness/tray_brightness.cc (renamed from ash/system/brightness/tray_brightness.cc)24
-rw-r--r--ash/system/chromeos/brightness/tray_brightness.h (renamed from ash/system/brightness/tray_brightness.h)19
-rw-r--r--ash/system/chromeos/system_clock_observer.cc29
-rw-r--r--ash/system/chromeos/system_clock_observer.h28
-rw-r--r--ash/system/date/date_view.h1
-rw-r--r--ash/system/date/tray_date.cc7
-rw-r--r--ash/system/date/tray_date.h9
-rw-r--r--ash/system/tray/system_tray.cc6
-rw-r--r--ash/system/tray/system_tray.h18
-rw-r--r--ash/system/tray/system_tray_notifier.cc17
-rw-r--r--ash/system/tray/system_tray_notifier.h6
-rw-r--r--ash/wm/system_gesture_event_filter_unittest.cc2
-rw-r--r--chrome/browser/chromeos/power/resume_observer.cc2
-rw-r--r--chrome/browser/chromeos/system/ash_system_tray_delegate.cc28
-rw-r--r--chrome/browser/ui/ash/ash_init.cc4
-rw-r--r--chrome/chrome_browser_ui.gypi2
24 files changed, 158 insertions, 142 deletions
diff --git a/ash/accelerators/accelerator_controller.cc b/ash/accelerators/accelerator_controller.cc
index 6633a7f..e0e6338 100644
--- a/ash/accelerators/accelerator_controller.cc
+++ b/ash/accelerators/accelerator_controller.cc
@@ -32,7 +32,7 @@
#include "ash/shell.h"
#include "ash/shell_delegate.h"
#include "ash/shell_window_ids.h"
-#include "ash/system/brightness/brightness_control_delegate.h"
+#include "ash/system/brightness_control_delegate.h"
#include "ash/system/keyboard_brightness/keyboard_brightness_control_delegate.h"
#include "ash/system/status_area_widget.h"
#include "ash/system/tray/system_tray.h"
diff --git a/ash/accelerators/accelerator_controller_unittest.cc b/ash/accelerators/accelerator_controller_unittest.cc
index 478a9e7..341ab1f 100644
--- a/ash/accelerators/accelerator_controller_unittest.cc
+++ b/ash/accelerators/accelerator_controller_unittest.cc
@@ -10,7 +10,7 @@
#include "ash/screenshot_delegate.h"
#include "ash/shell.h"
#include "ash/shell_window_ids.h"
-#include "ash/system/brightness/brightness_control_delegate.h"
+#include "ash/system/brightness_control_delegate.h"
#include "ash/system/keyboard_brightness/keyboard_brightness_control_delegate.h"
#include "ash/system/tray/system_tray_delegate.h"
#include "ash/test/ash_test_base.h"
diff --git a/ash/ash.gyp b/ash/ash.gyp
index 613eae6..fd0a5a5 100644
--- a/ash/ash.gyp
+++ b/ash/ash.gyp
@@ -217,13 +217,14 @@
'system/bluetooth/bluetooth_observer.h',
'system/bluetooth/tray_bluetooth.cc',
'system/bluetooth/tray_bluetooth.h',
- 'system/brightness/brightness_observer.h',
- 'system/brightness/brightness_control_delegate.h',
- 'system/brightness/tray_brightness.cc',
- 'system/brightness/tray_brightness.h',
+ 'system/brightness_control_delegate.h',
'system/chromeos/audio/tray_audio.cc',
'system/chromeos/audio/tray_audio.h',
'system/chromeos/enterprise/enterprise_domain_observer.h',
+ 'system/chromeos/brightness/brightness_controller_chromeos.cc',
+ 'system/chromeos/brightness/brightness_controller_chromeos.h',
+ 'system/chromeos/brightness/tray_brightness.cc',
+ 'system/chromeos/brightness/tray_brightness.h',
'system/chromeos/enterprise/tray_enterprise.h',
'system/chromeos/enterprise/tray_enterprise.cc',
'system/chromeos/keyboard_brightness_controller.cc',
@@ -269,6 +270,8 @@
'system/chromeos/screen_security/screen_tray_item.h',
'system/chromeos/settings/tray_settings.cc',
'system/chromeos/settings/tray_settings.h',
+ 'system/chromeos/system_clock_observer.cc',
+ 'system/chromeos/system_clock_observer.h',
'system/chromeos/tray_display.cc',
'system/chromeos/tray_display.h',
'system/chromeos/tray_tracing.cc',
diff --git a/ash/shell.cc b/ash/shell.cc
index b66e904..8e91497 100644
--- a/ash/shell.cc
+++ b/ash/shell.cc
@@ -119,6 +119,7 @@
#include "content/public/browser/gpu_data_manager.h"
#include "gpu/config/gpu_feature_type.h"
#endif // defined(USE_X11)
+#include "ash/system/chromeos/brightness/brightness_controller_chromeos.h"
#include "ash/system/chromeos/power/power_status.h"
#endif // defined(OS_CHROMEOS)
@@ -585,6 +586,13 @@ void Shell::Init() {
env_filter_->set_cursor_hidden_by_filter(true);
}
+ // Set accelerator controller delegates.
+#if defined(OS_CHROMEOS)
+ accelerator_controller_->SetBrightnessControlDelegate(
+ scoped_ptr<ash::BrightnessControlDelegate>(
+ new ash::system::BrightnessControllerChromeos).Pass());
+#endif
+
// The compositor thread and main message loop have to be running in
// order to create mirror window. Run it after the main message loop
// is started.
diff --git a/ash/system/brightness/brightness_observer.h b/ash/system/brightness/brightness_observer.h
deleted file mode 100644
index b9b5d06..0000000
--- a/ash/system/brightness/brightness_observer.h
+++ /dev/null
@@ -1,22 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef ASH_SYSTEM_BRIGHTNESS_BRIGHTNESS_OBSERVER_H_
-#define ASH_SYSTEM_BRIGHTNESS_BRIGHTNESS_OBSERVER_H_
-
-#include "ash/ash_export.h"
-
-namespace ash {
-
-class ASH_EXPORT BrightnessObserver {
- public:
- virtual ~BrightnessObserver() {}
-
- // |percent| is in the range [0.0, 100.0].
- virtual void OnBrightnessChanged(double percent, bool user_initiated) = 0;
-};
-
-} // namespace ash
-
-#endif // ASH_SYSTEM_BRIGHTNESS_BRIGHTNESS_OBSERVER_H_
diff --git a/ash/system/brightness/brightness_control_delegate.h b/ash/system/brightness_control_delegate.h
index 0d9e721..55791ac 100644
--- a/ash/system/brightness/brightness_control_delegate.h
+++ b/ash/system/brightness_control_delegate.h
@@ -1,9 +1,9 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Copyright 2013 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#ifndef ASH_SYSTEM_BRIGHTNESS_BRIGHTNESS_CONTROL_DELEGATE_H_
-#define ASH_SYSTEM_BRIGHTNESS_BRIGHTNESS_CONTROL_DELEGATE_H_
+#ifndef ASH_SYSTEM_BRIGHTNESS_CONTROL_DELEGATE_H_
+#define ASH_SYSTEM_BRIGHTNESS_CONTROL_DELEGATE_H_
#include "base/callback.h"
@@ -36,4 +36,4 @@ class BrightnessControlDelegate {
} // namespace ash
-#endif // ASH_SYSTEM_BRIGHTNESS_BRIGHTNESS_CONTROL_DELEGATE_H_
+#endif // ASH_SYSTEM_BRIGHTNESS_CONTROL_DELEGATE_H_
diff --git a/chrome/browser/ui/ash/brightness_controller_chromeos.cc b/ash/system/chromeos/brightness/brightness_controller_chromeos.cc
index 4c984d7..78d35df 100644
--- a/chrome/browser/ui/ash/brightness_controller_chromeos.cc
+++ b/ash/system/chromeos/brightness/brightness_controller_chromeos.cc
@@ -1,15 +1,18 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Copyright 2013 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "chrome/browser/ui/ash/brightness_controller_chromeos.h"
+#include "ash/system/chromeos/brightness/brightness_controller_chromeos.h"
#include "chromeos/dbus/dbus_thread_manager.h"
#include "chromeos/dbus/power_manager_client.h"
#include "content/public/browser/user_metrics.h"
#include "ui/base/accelerators/accelerator.h"
-bool BrightnessController::HandleBrightnessDown(
+namespace ash {
+namespace system {
+
+bool BrightnessControllerChromeos::HandleBrightnessDown(
const ui::Accelerator& accelerator) {
if (accelerator.key_code() == ui::VKEY_BRIGHTNESS_DOWN)
content::RecordAction(
@@ -20,7 +23,7 @@ bool BrightnessController::HandleBrightnessDown(
return true;
}
-bool BrightnessController::HandleBrightnessUp(
+bool BrightnessControllerChromeos::HandleBrightnessUp(
const ui::Accelerator& accelerator) {
if (accelerator.key_code() == ui::VKEY_BRIGHTNESS_UP)
content::RecordAction(content::UserMetricsAction("Accel_BrightnessUp_F7"));
@@ -30,13 +33,17 @@ bool BrightnessController::HandleBrightnessUp(
return true;
}
-void BrightnessController::SetBrightnessPercent(double percent, bool gradual) {
+void BrightnessControllerChromeos::SetBrightnessPercent(double percent,
+ bool gradual) {
chromeos::DBusThreadManager::Get()->GetPowerManagerClient()->
SetScreenBrightnessPercent(percent, gradual);
}
-void BrightnessController::GetBrightnessPercent(
+void BrightnessControllerChromeos::GetBrightnessPercent(
const base::Callback<void(double)>& callback) {
chromeos::DBusThreadManager::Get()->GetPowerManagerClient()->
GetScreenBrightnessPercent(callback);
}
+
+} // namespace system
+} // namespace ash
diff --git a/chrome/browser/ui/ash/brightness_controller_chromeos.h b/ash/system/chromeos/brightness/brightness_controller_chromeos.h
index 978b638..111daf3 100644
--- a/chrome/browser/ui/ash/brightness_controller_chromeos.h
+++ b/ash/system/chromeos/brightness/brightness_controller_chromeos.h
@@ -1,20 +1,25 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Copyright 2013 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#ifndef CHROME_BROWSER_UI_ASH_BRIGHTNESS_CONTROLLER_CHROMEOS_H_
-#define CHROME_BROWSER_UI_ASH_BRIGHTNESS_CONTROLLER_CHROMEOS_H_
+#ifndef ASH_SYSTEM_CHROMEOS_BRIGHTNESS_BRIGHTNESS_CONTROLLER_CHROMEOS_H_
+#define ASH_SYSTEM_CHROMEOS_BRIGHTNESS_BRIGHTNESS_CONTROLLER_CHROMEOS_H_
-#include "ash/system/brightness/brightness_control_delegate.h"
+#include "ash/ash_export.h"
+#include "ash/system/brightness_control_delegate.h"
#include "base/basictypes.h"
#include "base/compiler_specific.h"
+namespace ash {
+namespace system {
+
// A class which controls brightness when F6, F7 or a multimedia key for
// brightness is pressed.
-class BrightnessController : public ash::BrightnessControlDelegate {
+class ASH_EXPORT BrightnessControllerChromeos
+ : public ash::BrightnessControlDelegate {
public:
- BrightnessController() {}
- virtual ~BrightnessController() {}
+ BrightnessControllerChromeos() {}
+ virtual ~BrightnessControllerChromeos() {}
// Overridden from ash::BrightnessControlDelegate:
virtual bool HandleBrightnessDown(
@@ -25,7 +30,10 @@ class BrightnessController : public ash::BrightnessControlDelegate {
const base::Callback<void(double)>& callback) OVERRIDE;
private:
- DISALLOW_COPY_AND_ASSIGN(BrightnessController);
+ DISALLOW_COPY_AND_ASSIGN(BrightnessControllerChromeos);
};
-#endif // CHROME_BROWSER_UI_ASH_BRIGHTNESS_CONTROLLER_CHROMEOS_H_
+} // namespace system
+} // namespace ash
+
+#endif // ASH_SYSTEM_CHROMEOS_BRIGHTNESS_BRIGHTNESS_CONTROLLER_CHROMEOS_H_
diff --git a/ash/system/brightness/tray_brightness.cc b/ash/system/chromeos/brightness/tray_brightness.cc
index 87d1f1a..cfe3ca9 100644
--- a/ash/system/brightness/tray_brightness.cc
+++ b/ash/system/chromeos/brightness/tray_brightness.cc
@@ -1,13 +1,13 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Copyright 2013 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "ash/system/brightness/tray_brightness.h"
+#include "ash/system/chromeos/brightness/tray_brightness.h"
#include "ash/accelerators/accelerator_controller.h"
#include "ash/ash_constants.h"
#include "ash/shell.h"
-#include "ash/system/brightness/brightness_control_delegate.h"
+#include "ash/system/brightness_control_delegate.h"
#include "ash/system/tray/fixed_sized_image_view.h"
#include "ash/system/tray/system_tray_delegate.h"
#include "ash/system/tray/system_tray_notifier.h"
@@ -15,6 +15,8 @@
#include "base/bind.h"
#include "base/message_loop/message_loop.h"
#include "base/strings/utf_string_conversions.h"
+#include "chromeos/dbus/dbus_thread_manager.h"
+#include "chromeos/dbus/power_manager_client.h"
#include "grit/ash_resources.h"
#include "grit/ash_strings.h"
#include "ui/base/resource/resource_bundle.h"
@@ -135,11 +137,13 @@ TrayBrightness::TrayBrightness(SystemTray* system_tray)
FROM_HERE,
base::Bind(&TrayBrightness::GetInitialBrightness,
weak_ptr_factory_.GetWeakPtr()));
- Shell::GetInstance()->system_tray_notifier()->AddBrightnessObserver(this);
+ chromeos::DBusThreadManager::Get()->GetPowerManagerClient()->
+ AddObserver(this);
}
TrayBrightness::~TrayBrightness() {
- Shell::GetInstance()->system_tray_notifier()->RemoveBrightnessObserver(this);
+ chromeos::DBusThreadManager::Get()->GetPowerManagerClient()->
+ RemoveObserver(this);
}
void TrayBrightness::GetInitialBrightness() {
@@ -156,7 +160,7 @@ void TrayBrightness::GetInitialBrightness() {
void TrayBrightness::HandleInitialBrightness(double percent) {
if (!got_current_percent_)
- OnBrightnessChanged(percent, false);
+ HandleBrightnessChanged(percent, false);
}
views::View* TrayBrightness::CreateTrayView(user::LoginStatus status) {
@@ -198,7 +202,13 @@ bool TrayBrightness::ShouldShowLauncher() const {
return false;
}
-void TrayBrightness::OnBrightnessChanged(double percent, bool user_initiated) {
+void TrayBrightness::BrightnessChanged(int level, bool user_initiated) {
+ double percent = static_cast<double>(level);
+ HandleBrightnessChanged(percent, user_initiated);
+}
+
+void TrayBrightness::HandleBrightnessChanged(double percent,
+ bool user_initiated) {
current_percent_ = percent;
got_current_percent_ = true;
diff --git a/ash/system/brightness/tray_brightness.h b/ash/system/chromeos/brightness/tray_brightness.h
index ce62154..adabbc5 100644
--- a/ash/system/brightness/tray_brightness.h
+++ b/ash/system/chromeos/brightness/tray_brightness.h
@@ -1,14 +1,14 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Copyright 2013 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#ifndef ASH_SYSTEM_BRIGHTNESS_TRAY_BRIGHTNESS_H_
-#define ASH_SYSTEM_BRIGHTNESS_TRAY_BRIGHTNESS_H_
+#ifndef ASH_SYSTEM_CHROMEOS_BRIGHTNESS_TRAY_BRIGHTNESS_H_
+#define ASH_SYSTEM_CHROMEOS_BRIGHTNESS_TRAY_BRIGHTNESS_H_
-#include "ash/system/brightness/brightness_observer.h"
#include "ash/system/tray/system_tray_item.h"
#include "base/compiler_specific.h"
#include "base/memory/weak_ptr.h"
+#include "chromeos/dbus/power_manager_client.h"
namespace ash {
namespace internal {
@@ -18,7 +18,7 @@ class BrightnessView;
}
class TrayBrightness : public SystemTrayItem,
- public BrightnessObserver {
+ public chromeos::PowerManagerClient::Observer {
public:
explicit TrayBrightness(SystemTray* system_tray);
virtual ~TrayBrightness();
@@ -44,9 +44,10 @@ class TrayBrightness : public SystemTrayItem,
virtual bool ShouldHideArrow() const OVERRIDE;
virtual bool ShouldShowLauncher() const OVERRIDE;
- // Overridden from BrightnessObserver.
- virtual void OnBrightnessChanged(double percent,
- bool user_initiated) OVERRIDE;
+ // Overriden from PowerManagerClient::Observer.
+ virtual void BrightnessChanged(int level, bool user_initiated) OVERRIDE;
+
+ void HandleBrightnessChanged(double percent, bool user_initiated);
base::WeakPtrFactory<TrayBrightness> weak_ptr_factory_;
@@ -70,4 +71,4 @@ class TrayBrightness : public SystemTrayItem,
} // namespace internal
} // namespace ash
-#endif // ASH_SYSTEM_BRIGHTNESS_TRAY_BRIGHTNESS_H_
+#endif // ASH_SYSTEM_CHROMEOS_BRIGHTNESS_TRAY_BRIGHTNESS_H_
diff --git a/ash/system/chromeos/system_clock_observer.cc b/ash/system/chromeos/system_clock_observer.cc
new file mode 100644
index 0000000..5061793
--- /dev/null
+++ b/ash/system/chromeos/system_clock_observer.cc
@@ -0,0 +1,29 @@
+// Copyright 2013 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "ash/system/chromeos/system_clock_observer.h"
+
+#include "ash/system/tray/system_tray_notifier.h"
+#include "chromeos/dbus/dbus_thread_manager.h"
+
+namespace ash {
+namespace internal {
+
+SystemClockObserver::SystemClockObserver() {
+ chromeos::DBusThreadManager::Get()->GetSystemClockClient()
+ ->AddObserver(this);
+}
+
+SystemClockObserver::~SystemClockObserver() {
+ chromeos::DBusThreadManager::Get()->GetSystemClockClient()
+ ->RemoveObserver(this);
+}
+
+void SystemClockObserver::SystemClockUpdated() {
+ Shell::GetInstance()->system_tray_notifier()
+ ->NotifySystemClockTimeUpdated();
+}
+
+} // namespace internal
+} // namespace ash
diff --git a/ash/system/chromeos/system_clock_observer.h b/ash/system/chromeos/system_clock_observer.h
new file mode 100644
index 0000000..9dcc854
--- /dev/null
+++ b/ash/system/chromeos/system_clock_observer.h
@@ -0,0 +1,28 @@
+// Copyright 2013 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef ASH_SYSTEM_CHROMEOS_SYSTEM_CLOCK_OBSERVER_H_
+#define ASH_SYSTEM_CHROMEOS_SYSTEM_CLOCK_OBSERVER_H_
+
+#include "chromeos/dbus/system_clock_client.h"
+
+namespace ash {
+namespace internal {
+
+class SystemClockObserver : public chromeos::SystemClockClient::Observer {
+ public:
+ SystemClockObserver();
+ virtual ~SystemClockObserver();
+
+ // chromeos::SystemClockClient::Observer
+ virtual void SystemClockUpdated() OVERRIDE;
+
+ private:
+ DISALLOW_COPY_AND_ASSIGN(SystemClockObserver);
+};
+
+} // namespace internal
+} // namespace ash
+
+#endif // ASH_SYSTEM_CHROMEOS_SYSTEM_CLOCK_OBSERVER_H_
diff --git a/ash/system/date/date_view.h b/ash/system/date/date_view.h
index 2c83da8..9817f6b 100644
--- a/ash/system/date/date_view.h
+++ b/ash/system/date/date_view.h
@@ -9,6 +9,7 @@
#include "ash/system/date/tray_date.h"
#include "ash/system/tray/actionable_view.h"
#include "base/i18n/time_formatting.h"
+#include "base/memory/scoped_ptr.h"
#include "base/timer/timer.h"
#include "ui/views/view.h"
diff --git a/ash/system/date/tray_date.cc b/ash/system/date/tray_date.cc
index 8cd22e5..af23ebf 100644
--- a/ash/system/date/tray_date.cc
+++ b/ash/system/date/tray_date.cc
@@ -39,6 +39,10 @@
#include "ui/views/view.h"
#include "ui/views/widget/widget.h"
+#if defined(OS_CHROMEOS)
+#include "ash/system/chromeos/system_clock_observer.h"
+#endif
+
namespace {
const int kPaddingVertical = 19;
@@ -141,6 +145,9 @@ namespace internal {
TrayDate::TrayDate(SystemTray* system_tray)
: SystemTrayItem(system_tray),
time_tray_(NULL) {
+#if defined(OS_CHROMEOS)
+ system_clock_observer_.reset(new SystemClockObserver());
+#endif
Shell::GetInstance()->system_tray_notifier()->AddClockObserver(this);
}
diff --git a/ash/system/date/tray_date.h b/ash/system/date/tray_date.h
index dc8988c..ddda3d3 100644
--- a/ash/system/date/tray_date.h
+++ b/ash/system/date/tray_date.h
@@ -7,6 +7,7 @@
#include "ash/system/date/clock_observer.h"
#include "ash/system/tray/system_tray_item.h"
+#include "base/memory/scoped_ptr.h"
namespace views {
class Label;
@@ -15,6 +16,10 @@ class Label;
namespace ash {
namespace internal {
+#if defined(OS_CHROMEOS)
+class SystemClockObserver;
+#endif
+
namespace tray {
class TimeView;
}
@@ -50,6 +55,10 @@ class TrayDate : public SystemTrayItem,
tray::TimeView* time_tray_;
+#if defined(OS_CHROMEOS)
+ scoped_ptr<SystemClockObserver> system_clock_observer_;
+#endif
+
DISALLOW_COPY_AND_ASSIGN(TrayDate);
};
diff --git a/ash/system/tray/system_tray.cc b/ash/system/tray/system_tray.cc
index 6cb4d72..8f5b622 100644
--- a/ash/system/tray/system_tray.cc
+++ b/ash/system/tray/system_tray.cc
@@ -10,8 +10,6 @@
#include "ash/shell/panel_window.h"
#include "ash/shell_window_ids.h"
#include "ash/system/bluetooth/tray_bluetooth.h"
-#include "ash/system/brightness/tray_brightness.h"
-#include "ash/system/chromeos/tray_tracing.h"
#include "ash/system/date/tray_date.h"
#include "ash/system/drive/tray_drive.h"
#include "ash/system/ime/tray_ime.h"
@@ -48,6 +46,7 @@
#if defined(OS_CHROMEOS)
#include "ash/system/chromeos/audio/tray_audio.h"
+#include "ash/system/chromeos/brightness/tray_brightness.h"
#include "ash/system/chromeos/enterprise/tray_enterprise.h"
#include "ash/system/chromeos/managed/tray_locally_managed_user.h"
#include "ash/system/chromeos/network/tray_network.h"
@@ -58,6 +57,7 @@
#include "ash/system/chromeos/screen_security/screen_share_tray_item.h"
#include "ash/system/chromeos/settings/tray_settings.h"
#include "ash/system/chromeos/tray_display.h"
+#include "ash/system/chromeos/tray_tracing.h"
#include "ui/message_center/message_center.h"
#endif
@@ -184,9 +184,9 @@ void SystemTray::CreateItems(SystemTrayDelegate* delegate) {
AddTrayItem(new internal::ScreenCaptureTrayItem(this));
AddTrayItem(new internal::ScreenShareTrayItem(this));
AddTrayItem(new internal::TrayAudio(this));
+ AddTrayItem(new internal::TrayBrightness(this));
#endif
#if !defined(OS_WIN)
- AddTrayItem(new internal::TrayBrightness(this));
AddTrayItem(new internal::TrayCapsLock(this));
#endif
#if defined(OS_CHROMEOS)
diff --git a/ash/system/tray/system_tray.h b/ash/system/tray/system_tray.h
index 8656f8b..164e209 100644
--- a/ash/system/tray/system_tray.h
+++ b/ash/system/tray/system_tray.h
@@ -21,30 +21,12 @@
namespace ash {
-class AccessibilityObserver;
-class AudioObserver;
-class BluetoothObserver;
-class BrightnessObserver;
-class CapsLockObserver;
-class ClockObserver;
-class DriveObserver;
-class IMEObserver;
-class LocaleObserver;
-class LogoutButtonObserver;
class SystemTrayDelegate;
-class UpdateObserver;
-class UserObserver;
-#if defined(OS_CHROMEOS)
-class NetworkObserver;
-#endif
-
class SystemTrayItem;
namespace internal {
class SystemBubbleWrapper;
-class SystemTrayContainer;
class TrayAccessibility;
-class TrayGestureHandler;
}
// There are different methods for creating bubble views.
diff --git a/ash/system/tray/system_tray_notifier.cc b/ash/system/tray/system_tray_notifier.cc
index fde1e7d..f09098d 100644
--- a/ash/system/tray/system_tray_notifier.cc
+++ b/ash/system/tray/system_tray_notifier.cc
@@ -37,15 +37,6 @@ void SystemTrayNotifier::RemoveBluetoothObserver(BluetoothObserver* observer) {
bluetooth_observers_.RemoveObserver(observer);
}
-void SystemTrayNotifier::AddBrightnessObserver(BrightnessObserver* observer) {
- brightness_observers_.AddObserver(observer);
-}
-
-void SystemTrayNotifier::RemoveBrightnessObserver(
- BrightnessObserver* observer) {
- brightness_observers_.RemoveObserver(observer);
-}
-
void SystemTrayNotifier::AddCapsLockObserver(CapsLockObserver* observer) {
caps_lock_observers_.AddObserver(observer);
}
@@ -198,14 +189,6 @@ void SystemTrayNotifier::NotifyBluetoothDiscoveringChanged() {
OnBluetoothDiscoveringChanged());
}
-void SystemTrayNotifier::NotifyBrightnessChanged(double level,
- bool user_initiated) {
- FOR_EACH_OBSERVER(
- BrightnessObserver,
- brightness_observers_,
- OnBrightnessChanged(level, user_initiated));
-}
-
void SystemTrayNotifier::NotifyCapsLockChanged(
bool enabled,
bool search_mapped_to_caps_lock) {
diff --git a/ash/system/tray/system_tray_notifier.h b/ash/system/tray/system_tray_notifier.h
index 3ca2189..d92558d 100644
--- a/ash/system/tray/system_tray_notifier.h
+++ b/ash/system/tray/system_tray_notifier.h
@@ -10,7 +10,6 @@
#include "ash/ash_export.h"
#include "ash/system/bluetooth/bluetooth_observer.h"
-#include "ash/system/brightness/brightness_observer.h"
#include "ash/system/chromeos/tray_tracing.h"
#include "ash/system/date/clock_observer.h"
#include "ash/system/drive/drive_observer.h"
@@ -48,9 +47,6 @@ public:
void AddBluetoothObserver(BluetoothObserver* observer);
void RemoveBluetoothObserver(BluetoothObserver* observer);
- void AddBrightnessObserver(BrightnessObserver* observer);
- void RemoveBrightnessObserver(BrightnessObserver* observer);
-
void AddCapsLockObserver(CapsLockObserver* observer);
void RemoveCapsLockObserver(CapsLockObserver* observer);
@@ -100,7 +96,6 @@ public:
void NotifyTracingModeChanged(bool value);
void NotifyRefreshBluetooth();
void NotifyBluetoothDiscoveringChanged();
- void NotifyBrightnessChanged(double level, bool user_initialted);
void NotifyCapsLockChanged(bool enabled, bool search_mapped_to_caps_lock);
void NotifyRefreshClock();
void NotifyDateFormatChanged();
@@ -134,7 +129,6 @@ public:
private:
ObserverList<AccessibilityObserver> accessibility_observers_;
ObserverList<BluetoothObserver> bluetooth_observers_;
- ObserverList<BrightnessObserver> brightness_observers_;
ObserverList<CapsLockObserver> caps_lock_observers_;
ObserverList<ClockObserver> clock_observers_;
ObserverList<DriveObserver> drive_observers_;
diff --git a/ash/wm/system_gesture_event_filter_unittest.cc b/ash/wm/system_gesture_event_filter_unittest.cc
index dfa3b6f1..65e3151 100644
--- a/ash/wm/system_gesture_event_filter_unittest.cc
+++ b/ash/wm/system_gesture_event_filter_unittest.cc
@@ -10,7 +10,7 @@
#include "ash/launcher/launcher.h"
#include "ash/launcher/launcher_model.h"
#include "ash/shell.h"
-#include "ash/system/brightness/brightness_control_delegate.h"
+#include "ash/system/brightness_control_delegate.h"
#include "ash/system/tray/system_tray_delegate.h"
#include "ash/test/ash_test_base.h"
#include "ash/test/display_manager_test_api.h"
diff --git a/chrome/browser/chromeos/power/resume_observer.cc b/chrome/browser/chromeos/power/resume_observer.cc
index 16d4a42..251a36a 100644
--- a/chrome/browser/chromeos/power/resume_observer.cc
+++ b/chrome/browser/chromeos/power/resume_observer.cc
@@ -5,6 +5,7 @@
#include "chrome/browser/chromeos/power/resume_observer.h"
#include "ash/shell.h"
+#include "ash/system/tray/system_tray_notifier.h"
#include "chrome/browser/extensions/api/system_private/system_private_api.h"
#include "chromeos/dbus/dbus_thread_manager.h"
#include "chromeos/display/output_configurator.h"
@@ -22,6 +23,7 @@ ResumeObserver::~ResumeObserver() {
void ResumeObserver::SystemResumed(const base::TimeDelta& sleep_duration) {
extensions::DispatchWokeUpEvent();
ash::Shell::GetInstance()->output_configurator()->ResumeDisplays();
+ ash::Shell::GetInstance()->system_tray_notifier()->NotifyRefreshClock();
}
} // 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 a1ede89..90f9e87 100644
--- a/chrome/browser/chromeos/system/ash_system_tray_delegate.cc
+++ b/chrome/browser/chromeos/system/ash_system_tray_delegate.cc
@@ -17,7 +17,6 @@
#include "ash/shell_delegate.h"
#include "ash/shell_window_ids.h"
#include "ash/system/bluetooth/bluetooth_observer.h"
-#include "ash/system/brightness/brightness_observer.h"
#include "ash/system/chromeos/network/network_connect.h"
#include "ash/system/date/clock_observer.h"
#include "ash/system/drive/drive_observer.h"
@@ -87,11 +86,8 @@
#include "chrome/browser/upgrade_detector.h"
#include "chrome/common/pref_names.h"
#include "chrome/common/url_constants.h"
-#include "chromeos/chromeos_switches.h"
#include "chromeos/dbus/dbus_thread_manager.h"
-#include "chromeos/dbus/power_manager_client.h"
#include "chromeos/dbus/session_manager_client.h"
-#include "chromeos/dbus/system_clock_client.h"
#include "chromeos/ime/extension_ime_util.h"
#include "chromeos/ime/input_method_manager.h"
#include "chromeos/ime/xkeyboard.h"
@@ -318,14 +314,12 @@ bool EnrollNetwork(const std::string& service_path,
}
class SystemTrayDelegate : public ash::SystemTrayDelegate,
- public PowerManagerClient::Observer,
public SessionManagerClient::Observer,
public drive::JobListObserver,
public content::NotificationObserver,
public input_method::InputMethodManager::Observer,
public system::TimezoneSettings::Observer,
public chromeos::LoginState::Observer,
- public chromeos::SystemClockClient::Observer,
public device::BluetoothAdapter::Observer,
public SystemKeyEventListener::CapsLockObserver,
public policy::CloudPolicyStore::Observer,
@@ -377,14 +371,12 @@ class SystemTrayDelegate : public ash::SystemTrayDelegate,
}
virtual void Initialize() OVERRIDE {
- DBusThreadManager::Get()->GetPowerManagerClient()->AddObserver(this);
DBusThreadManager::Get()->GetSessionManagerClient()->AddObserver(this);
input_method::InputMethodManager::Get()->AddObserver(this);
UpdateClockType();
system::TimezoneSettings::GetInstance()->AddObserver(this);
- DBusThreadManager::Get()->GetSystemClockClient()->AddObserver(this);
if (SystemKeyEventListener::GetInstance())
SystemKeyEventListener::GetInstance()->AddCapsLockObserver(this);
@@ -443,8 +435,6 @@ class SystemTrayDelegate : public ash::SystemTrayDelegate,
registrar_.reset();
DBusThreadManager::Get()->GetSessionManagerClient()->RemoveObserver(this);
- DBusThreadManager::Get()->GetPowerManagerClient()->RemoveObserver(this);
- DBusThreadManager::Get()->GetSystemClockClient()->RemoveObserver(this);
input_method::InputMethodManager::Get()->RemoveObserver(this);
system::TimezoneSettings::GetInstance()->RemoveObserver(this);
if (SystemKeyEventListener::GetInstance())
@@ -1089,17 +1079,6 @@ class SystemTrayDelegate : public ash::SystemTrayDelegate,
UpdateClockType();
}
- // Overridden from PowerManagerClient::Observer.
- virtual void BrightnessChanged(int level, bool user_initiated) OVERRIDE {
- double leveld = static_cast<double>(level);
- GetSystemTrayNotifier()->NotifyBrightnessChanged(leveld, user_initiated);
- }
-
- // Overridden from PowerManagerClient::Observer:
- virtual void SystemResumed(const base::TimeDelta& sleep_duration) OVERRIDE {
- GetSystemTrayNotifier()->NotifyRefreshClock();
- }
-
// Overridden from SessionManagerClient::Observer.
virtual void LockScreen() OVERRIDE {
screen_locked_ = true;
@@ -1113,8 +1092,6 @@ class SystemTrayDelegate : public ash::SystemTrayDelegate,
GetUserLoginStatus());
}
- // TODO(sad): Override more from PowerManagerClient::Observer here.
-
gfx::NativeWindow GetNativeWindow() const {
bool session_started = ash::Shell::GetInstance()->session_state_delegate()
->IsActiveUserSessionStarted();
@@ -1252,11 +1229,6 @@ class SystemTrayDelegate : public ash::SystemTrayDelegate,
GetSystemTrayNotifier()->NotifyRefreshClock();
}
- // Overridden from SystemClockClient::Observer.
- virtual void SystemClockUpdated() OVERRIDE {
- GetSystemTrayNotifier()->NotifySystemClockTimeUpdated();
- }
-
// Overridden from BluetoothAdapter::Observer.
virtual void AdapterPresentChanged(device::BluetoothAdapter* adapter,
bool present) OVERRIDE {
diff --git a/chrome/browser/ui/ash/ash_init.cc b/chrome/browser/ui/ash/ash_init.cc
index f8dda09..71e1980 100644
--- a/chrome/browser/ui/ash/ash_init.cc
+++ b/chrome/browser/ui/ash/ash_init.cc
@@ -25,7 +25,6 @@
#if defined(OS_CHROMEOS)
#include "base/chromeos/chromeos_version.h"
-#include "chrome/browser/ui/ash/brightness_controller_chromeos.h"
#include "chrome/browser/ui/ash/ime_controller_chromeos.h"
#include "chrome/browser/ui/ash/volume_controller_chromeos.h"
#include "chromeos/chromeos_switches.h"
@@ -64,9 +63,6 @@ void OpenAsh() {
shell->accelerator_controller()->SetScreenshotDelegate(
scoped_ptr<ash::ScreenshotDelegate>(new ScreenshotTaker).Pass());
#if defined(OS_CHROMEOS)
- shell->accelerator_controller()->SetBrightnessControlDelegate(
- scoped_ptr<ash::BrightnessControlDelegate>(
- new BrightnessController).Pass());
shell->accelerator_controller()->SetImeControlDelegate(
scoped_ptr<ash::ImeControlDelegate>(new ImeController).Pass());
ash::Shell::GetInstance()->high_contrast_controller()->SetEnabled(
diff --git a/chrome/chrome_browser_ui.gypi b/chrome/chrome_browser_ui.gypi
index a30fa5e..e91189b 100644
--- a/chrome/chrome_browser_ui.gypi
+++ b/chrome/chrome_browser_ui.gypi
@@ -227,8 +227,6 @@
'browser/ui/ash/caps_lock_delegate_chromeos.h',
'browser/ui/ash/caps_lock_delegate_views.cc',
'browser/ui/ash/caps_lock_delegate_views.h',
- 'browser/ui/ash/brightness_controller_chromeos.cc',
- 'browser/ui/ash/brightness_controller_chromeos.h',
'browser/ui/ash/chrome_launcher_prefs.cc',
'browser/ui/ash/chrome_launcher_prefs.h',
'browser/ui/ash/chrome_shell_delegate.cc',