Blink roll 174125:174137
[chromium-blink-merge.git] / ash / media_delegate.h
blob4ea9a17a04807993c9bf5b566772e45242d42155
1 // Copyright 2013 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 ASH_MEDIA_DELEGATE_H_
6 #define ASH_MEDIA_DELEGATE_H_
8 namespace content {
9 class BrowserContext;
12 namespace ash {
14 enum MediaCaptureState {
15 MEDIA_CAPTURE_NONE = 0,
16 MEDIA_CAPTURE_AUDIO = 1 << 0,
17 MEDIA_CAPTURE_VIDEO = 1 << 1,
18 MEDIA_CAPTURE_AUDIO_VIDEO = MEDIA_CAPTURE_AUDIO | MEDIA_CAPTURE_VIDEO,
21 // A delegate class to control media playback.
22 class MediaDelegate {
23 public:
24 virtual ~MediaDelegate() {}
26 // Handles the Next Track Media shortcut key.
27 virtual void HandleMediaNextTrack() = 0;
29 // Handles the Play/Pause Toggle Media shortcut key.
30 virtual void HandleMediaPlayPause() = 0;
32 // Handles the Previous Track Media shortcut key.
33 virtual void HandleMediaPrevTrack() = 0;
35 // Returns the current media recording state of web contents
36 // that belongs to the |context|.
37 virtual MediaCaptureState GetMediaCaptureState(
38 content::BrowserContext* context) = 0;
41 } // namespace ash
43 #endif // ASH_MEDIA_DELEGATE_H_