Mark two tests in ImeTest.java as flaky
[chromium-blink-merge.git] / extensions / shell / browser / shell_audio_controller_chromeos.h
blob4edeff89c05d6817d041688b1e4c404c92083c11
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef EXTENSIONS_SHELL_BROWSER_SHELL_AUDIO_CONTROLLER_CHROMEOS_H_
6 #define EXTENSIONS_SHELL_BROWSER_SHELL_AUDIO_CONTROLLER_CHROMEOS_H_
8 #include "base/macros.h"
9 #include "chromeos/audio/cras_audio_handler.h"
11 namespace extensions {
13 // Ensures that the "best" input and output audio devices are always active.
14 class ShellAudioController : public chromeos::CrasAudioHandler::AudioObserver {
15 public:
16 ShellAudioController();
17 virtual ~ShellAudioController();
19 // chromeos::CrasAudioHandler::Observer implementation:
20 void OnOutputVolumeChanged() override;
21 void OnOutputMuteChanged() override;
22 void OnInputGainChanged() override;
23 void OnInputMuteChanged() override;
24 void OnAudioNodesChanged() override;
25 void OnActiveOutputNodeChanged() override;
26 void OnActiveInputNodeChanged() override;
28 private:
29 // Gets the current device list from CRAS, chooses the best input and output
30 // device, and activates them if they aren't already active.
31 void ActivateDevices();
33 DISALLOW_COPY_AND_ASSIGN(ShellAudioController);
36 } // namespace extensions
38 #endif // EXTENSIONS_SHELL_BROWSER_SHELL_AUDIO_CONTROLLER_CHROMEOS_H_