blob: 1b7907892920735a40e3479668b86d33b1c57625 [file] [log] [blame]
// 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_
#include "ash/session/session_types.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 the user @ |index|. See session_types.h for a description of UserIndex.
virtual MediaCaptureState GetMediaCaptureState(UserIndex index) = 0;
};
} // namespace ash
#endif // ASH_MEDIA_DELEGATE_H_