// Copyright 2018 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
module media_session.mojom;
import "services/media_session/public/mojom/audio_focus.mojom";
import "services/media_session/public/mojom/media_controller.mojom";
// The main interface to the Media Session service. Privileged and bound only by
// the browser process. In Lacros the service does not exist in lacros-chrome
// which will forward requests to ash-chrome which hosts the service in its
// own browser process.
// Next method id: 4
[Stable, Uuid="efd33ccb-8b58-4ddc-84a2-ba58d052979b"]
interface MediaSessionService {
// Binds an AudioFocusManager endpoint in the service.
BindAudioFocusManager@0(pending_receiver<AudioFocusManager> receiver);
// Binds an endpoint for debugging the AudioFocusManager.
BindAudioFocusManagerDebug@1(pending_receiver<AudioFocusManagerDebug> receiver);
// Binds a MediaControllerManager endpoint in the service.
BindMediaControllerManager@2(pending_receiver<MediaControllerManager> receiver);
// Binds a receiver to this service. This is used by Lacros to allow one
// browser process (lacros-chrome) to bind the entire MediaSessionService
// interface in another process (ash-chrome).
Bind@3(pending_receiver<MediaSessionService> receiver);
};