summaryrefslogtreecommitdiffstats
path: root/ash/system/status_area_widget.cc
diff options
context:
space:
mode:
authorjennyz@chromium.org <jennyz@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-08-14 23:34:24 +0000
committerjennyz@chromium.org <jennyz@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-08-14 23:34:24 +0000
commit49a8253a362257647c9b8e86d30ae9aee1b2e400 (patch)
tree8d48eba2246f410b5319a65e9d985c729e6a77ee /ash/system/status_area_widget.cc
parent66056fb4231a5f762dc5bf2a7b040e377852a88a (diff)
downloadchromium_src-49a8253a362257647c9b8e86d30ae9aee1b2e400.zip
chromium_src-49a8253a362257647c9b8e86d30ae9aee1b2e400.tar.gz
chromium_src-49a8253a362257647c9b8e86d30ae9aee1b2e400.tar.bz2
Consolidate volume_control_delegate and sysmte_tray_delegate
BUG=115936 Review URL: https://chromiumcodereview.appspot.com/10825264 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@151607 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ash/system/status_area_widget.cc')
-rw-r--r--ash/system/status_area_widget.cc69
1 files changed, 47 insertions, 22 deletions
diff --git a/ash/system/status_area_widget.cc b/ash/system/status_area_widget.cc
index 4209f38..32f4871 100644
--- a/ash/system/status_area_widget.cc
+++ b/ash/system/status_area_widget.cc
@@ -14,6 +14,7 @@
#include "ash/system/tray/system_tray.h"
#include "ash/system/tray/system_tray_delegate.h"
#include "ash/system/web_notification/web_notification_tray.h"
+#include "ash/volume_control_delegate.h"
#include "base/i18n/time_formatting.h"
#include "base/utf_string_conversions.h"
#include "ui/aura/window.h"
@@ -22,15 +23,46 @@ namespace ash {
namespace {
+class DummyVolumeControlDelegate : public VolumeControlDelegate {
+ public:
+ DummyVolumeControlDelegate() {}
+ virtual ~DummyVolumeControlDelegate() {}
+
+ virtual bool HandleVolumeMute(const ui::Accelerator& accelerator) OVERRIDE {
+ return true;
+ }
+ virtual bool HandleVolumeDown(const ui::Accelerator& accelerator) OVERRIDE {
+ return true;
+ }
+ virtual bool HandleVolumeUp(const ui::Accelerator& accelerator) OVERRIDE {
+ return true;
+ }
+ virtual void SetVolumePercent(double percent) OVERRIDE {
+ }
+ virtual bool IsAudioMuted() const OVERRIDE {
+ return true;
+ }
+ virtual void SetAudioMuted(bool muted) OVERRIDE {
+ }
+ virtual float GetVolumeLevel() const OVERRIDE {
+ return 0.0;
+ }
+ virtual void SetVolumeLevel(float level) OVERRIDE {
+ }
+
+ private:
+ DISALLOW_COPY_AND_ASSIGN(DummyVolumeControlDelegate);
+};
+
class DummySystemTrayDelegate : public SystemTrayDelegate {
public:
DummySystemTrayDelegate()
- : muted_(false),
- wifi_enabled_(true),
+ : wifi_enabled_(true),
cellular_enabled_(true),
bluetooth_enabled_(true),
- volume_(0.5),
- caps_lock_enabled_(false) {
+ caps_lock_enabled_(false),
+ volume_control_delegate_(
+ ALLOW_THIS_IN_INITIALIZER_LIST(new DummyVolumeControlDelegate)) {
}
virtual ~DummySystemTrayDelegate() {}
@@ -91,22 +123,6 @@ class DummySystemTrayDelegate : public SystemTrayDelegate {
virtual void ShowHelp() OVERRIDE {
}
- virtual bool IsAudioMuted() const OVERRIDE {
- return muted_;
- }
-
- virtual void SetAudioMuted(bool muted) OVERRIDE {
- muted_ = muted;
- }
-
- virtual float GetVolumeLevel() const OVERRIDE {
- return volume_;
- }
-
- virtual void SetVolumeLevel(float volume) OVERRIDE {
- volume_ = volume;
- }
-
virtual bool IsCapsLockOn() const OVERRIDE {
return caps_lock_enabled_;
}
@@ -260,13 +276,22 @@ class DummySystemTrayDelegate : public SystemTrayDelegate {
virtual void ChangeProxySettings() OVERRIDE {
}
- bool muted_;
+ virtual VolumeControlDelegate* GetVolumeControlDelegate() const OVERRIDE {
+ return volume_control_delegate_.get();
+ }
+
+ virtual void SetVolumeControlDelegate(
+ scoped_ptr<VolumeControlDelegate> delegate) OVERRIDE {
+ volume_control_delegate_.swap(delegate);
+ }
+
+
bool wifi_enabled_;
bool cellular_enabled_;
bool bluetooth_enabled_;
- float volume_;
bool caps_lock_enabled_;
gfx::ImageSkia null_image_;
+ scoped_ptr<VolumeControlDelegate> volume_control_delegate_;
DISALLOW_COPY_AND_ASSIGN(DummySystemTrayDelegate);
};