chromium/chrome/test/media_router/media_router_integration_browsertest.h

// Copyright 2015 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef CHROME_TEST_MEDIA_ROUTER_MEDIA_ROUTER_INTEGRATION_BROWSERTEST_H_
#define CHROME_TEST_MEDIA_ROUTER_MEDIA_ROUTER_INTEGRATION_BROWSERTEST_H_

#include <memory>
#include <string>

#include "base/files/file_path.h"
#include "base/functional/callback.h"
#include "base/memory/raw_ptr.h"
#include "base/synchronization/waitable_event.h"
#include "base/test/scoped_feature_list.h"
#include "chrome/browser/media/router/providers/test/test_media_route_provider.h"
#include "chrome/browser/ui/browser.h"
#include "chrome/browser/ui/media_router/media_cast_mode.h"
#include "chrome/test/base/in_process_browser_test.h"
#include "chrome/test/media_router/media_router_ui_for_test_base.h"
#include "components/policy/core/common/mock_configuration_policy_provider.h"
#include "content/public/test/browser_test_utils.h"
#include "content/public/test/test_navigation_observer.h"

namespace media_router {

enum class UiForBrowserTest {};

inline std::string PrintToString(UiForBrowserTest val) {}

#if BUILDFLAG(IS_CHROMEOS)
// Global media controls aren't supported in lacros.
#define INSTANTIATE_MEDIA_ROUTER_INTEGRATION_BROWER_TEST_SUITE
#else
#define INSTANTIATE_MEDIA_ROUTER_INTEGRATION_BROWER_TEST_SUITE(name)
#endif  // BUILDFLAG(IS_CHROMEOS)

// Macro used to skip tests that are only supported with the Cast dialog.
//
// TODO(crbug.com/1229305): Eliminate as many uses of this macro as possible.
#define MEDIA_ROUTER_INTEGRATION_BROWER_TEST_CAST_ONLY()

class MediaRouterIntegrationBrowserTest
    : public InProcessBrowserTest,
      public testing::WithParamInterface<UiForBrowserTest> {};

}  // namespace media_router

#endif  // CHROME_TEST_MEDIA_ROUTER_MEDIA_ROUTER_INTEGRATION_BROWSERTEST_H_