#include "content/browser/media/session/media_session_controllers_manager.h"
#include <set>
#include "base/command_line.h"
#include "base/test/scoped_feature_list.h"
#include "build/build_config.h"
#include "content/browser/media/session/media_session_controller.h"
#include "content/browser/media/session/media_session_impl.h"
#include "content/test/test_render_view_host.h"
#include "content/test/test_web_contents.h"
#include "media/base/media_content_type.h"
#include "media/base/media_switches.h"
#include "services/media_session/public/cpp/features.h"
#include "services/media_session/public/cpp/test/mock_media_session.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/blink/public/mojom/mediasession/media_session.mojom.h"
namespace content {
namespace {
std::set<media_session::mojom::MediaSessionAction> GetDefaultActions() { … }
std::set<media_session::mojom::MediaSessionAction>
AppendPictureInPictureActionsTo(
std::set<media_session::mojom::MediaSessionAction> actions) { … }
}
class MediaSessionControllersManagerTest
: public RenderViewHostImplTestHarness,
public ::testing::WithParamInterface<std::tuple<bool, bool>> { … };
TEST_P(MediaSessionControllersManagerTest, ActivateDeactivateSession) { … }
TEST_P(MediaSessionControllersManagerTest, RenderFrameDeletedRemovesHost) { … }
TEST_P(MediaSessionControllersManagerTest, OnPauseSuspends) { … }
TEST_P(MediaSessionControllersManagerTest, OnPauseIdNotFound) { … }
TEST_P(MediaSessionControllersManagerTest, PositionState) { … }
TEST_P(MediaSessionControllersManagerTest, MultiplePlayersWithPositionState) { … }
TEST_P(MediaSessionControllersManagerTest, PictureInPictureAvailability) { … }
TEST_P(MediaSessionControllersManagerTest,
PictureInPictureAvailabilityMultiplePlayers) { … }
TEST_P(MediaSessionControllersManagerTest, SufficientlyVisibleVideo) { … }
TEST_P(MediaSessionControllersManagerTest,
SufficientlyVisibleVideoMultiplePlayers) { … }
INSTANTIATE_TEST_SUITE_P(…);
}