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

Unified Diff: ash/system/audio/tray_audio.h

Issue 163953007: Refactor the TrayAudio code so that it can be used by other platforms. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix memory leak by using scoped_ptr in TrayAudio Created 6 years, 10 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ash/system/audio/audio_observer.h ('k') | ash/system/audio/tray_audio.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ash/system/audio/tray_audio.h
diff --git a/ash/system/chromeos/audio/tray_audio.h b/ash/system/audio/tray_audio.h
similarity index 68%
rename from ash/system/chromeos/audio/tray_audio.h
rename to ash/system/audio/tray_audio.h
index eb6e117a2c4b8805e31e818a812cd2b38cbe65f6..923245af92a7ab17706306b0e2382139d389a634 100644
--- a/ash/system/chromeos/audio/tray_audio.h
+++ b/ash/system/audio/tray_audio.h
@@ -1,27 +1,43 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Copyright 2014 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_AUDIO_TRAY_AUDIO_H_
-#define ASH_SYSTEM_CHROMEOS_AUDIO_TRAY_AUDIO_H_
+#ifndef ASH_SYSTEM_AUDIO_TRAY_AUDIO_H_
+#define ASH_SYSTEM_AUDIO_TRAY_AUDIO_H_
+#include "ash/system/audio/audio_observer.h"
#include "ash/system/tray/tray_image_item.h"
-#include "chromeos/audio/cras_audio_handler.h"
+#include "base/memory/scoped_ptr.h"
namespace ash {
+
+namespace system {
+class TrayAudioDelegate;
+}
+
namespace internal {
namespace tray {
class VolumeView;
-class AudioDetailedView;
}
class TrayAudio : public TrayImageItem,
- public chromeos::CrasAudioHandler::AudioObserver {
+ public AudioObserver {
public:
- explicit TrayAudio(SystemTray* system_tray);
+ TrayAudio(SystemTray* system_tray,
+ scoped_ptr<system::TrayAudioDelegate> audio_delegate);
virtual ~TrayAudio();
+ protected:
+ virtual void Update();
+
+ scoped_ptr<system::TrayAudioDelegate> audio_delegate_;
+ tray::VolumeView* volume_view_;
+
+ // True if VolumeView should be created for accelerator pop up;
+ // Otherwise, it should be created for detailed view in ash tray bubble.
+ bool pop_up_volume_view_;
+
private:
// Overridden from TrayImageItem.
virtual bool GetInitialVisibility() OVERRIDE;
@@ -34,28 +50,17 @@ class TrayAudio : public TrayImageItem,
virtual bool ShouldHideArrow() const OVERRIDE;
virtual bool ShouldShowShelf() const OVERRIDE;
- // Overridden from chromeos::CrasAudioHandler::AudioObserver.
+ // Overridden from AudioObserver.
virtual void OnOutputVolumeChanged() OVERRIDE;
virtual void OnOutputMuteChanged() OVERRIDE;
- virtual void OnInputGainChanged() OVERRIDE;
- virtual void OnInputMuteChanged() OVERRIDE;
virtual void OnAudioNodesChanged() OVERRIDE;
virtual void OnActiveOutputNodeChanged() OVERRIDE;
virtual void OnActiveInputNodeChanged() OVERRIDE;
- void Update();
-
- tray::VolumeView* volume_view_;
- tray::AudioDetailedView* audio_detail_;
-
- // True if VolumeView should be created for accelerator pop up;
- // Otherwise, it should be created for detailed view in ash tray bubble.
- bool pop_up_volume_view_;
-
DISALLOW_COPY_AND_ASSIGN(TrayAudio);
};
} // namespace internal
} // namespace ash
-#endif // ASH_SYSTEM_CHROMEOS_AUDIO_TRAY_AUDIO_H_
+#endif // ASH_SYSTEM_AUDIO_TRAY_AUDIO_H_
« no previous file with comments | « ash/system/audio/audio_observer.h ('k') | ash/system/audio/tray_audio.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698