// 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_MEDIA_DELEGATE_H_ #define ASH_MEDIA_DELEGATE_H_ namespace content { class BrowserContext; } namespace ash { enum MediaCaptureState { MEDIA_CAPTURE_NONE = 0, MEDIA_CAPTURE_AUDIO = 1 << 0, MEDIA_CAPTURE_VIDEO = 1 << 1, MEDIA_CAPTURE_AUDIO_VIDEO = MEDIA_CAPTURE_AUDIO | MEDIA_CAPTURE_VIDEO, }; // A delegate class to control media playback. class MediaDelegate { public: virtual ~MediaDelegate() {} // Handles the Next Track Media shortcut key. virtual void HandleMediaNextTrack() = 0; // Handles the Play/Pause Toggle Media shortcut key. virtual void HandleMediaPlayPause() = 0; // Handles the Previous Track Media shortcut key. virtual void HandleMediaPrevTrack() = 0; // Returns the current media recording state of web contents // that belongs to the |context|. virtual MediaCaptureState GetMediaCaptureState( content::BrowserContext* context) = 0; }; } // namespace ash #endif // ASH_MEDIA_DELEGATE_H_