#include "chrome/test/media_router/media_router_integration_browsertest.h"
#include <memory>
#include "base/command_line.h"
#include "base/files/file_util.h"
#include "base/functional/bind.h"
#include "base/json/json_file_value_serializer.h"
#include "base/json/json_reader.h"
#include "base/json/json_writer.h"
#include "base/path_service.h"
#include "base/strings/stringprintf.h"
#include "base/task/single_thread_task_runner.h"
#include "base/threading/thread_restrictions.h"
#include "build/build_config.h"
#include "build/chromeos_buildflags.h"
#include "chrome/browser/media/router/media_router_feature.h"
#include "chrome/browser/media/router/mojo/media_router_desktop.h"
#include "chrome/browser/ui/browser_finder.h"
#include "chrome/browser/ui/media_router/media_cast_mode.h"
#include "chrome/browser/ui/tabs/tab_strip_model.h"
#include "chrome/browser/ui/views/frame/browser_view.h"
#include "chrome/common/url_constants.h"
#include "chrome/test/base/ui_test_utils.h"
#include "chrome/test/media_router/media_router_cast_ui_for_test.h"
#include "chrome/test/media_router/media_router_gmc_ui_for_test.h"
#include "components/media_router/browser/media_router_factory.h"
#include "components/media_router/common/issue.h"
#include "components/policy/core/browser/browser_policy_connector.h"
#include "components/policy/policy_constants.h"
#include "content/public/browser/render_frame_host.h"
#include "content/public/test/browser_test.h"
#include "content/public/test/browser_test_utils.h"
#include "content/public/test/test_utils.h"
#include "media/base/media_switches.h"
#include "media/base/test_data_util.h"
#include "net/base/filename_util.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest-param-test.h"
#include "testing/gtest/include/gtest/gtest.h"
#if BUILDFLAG(IS_CHROMEOS_ASH)
#include "ash/constants/ash_features.h"
#endif
WebContents;
Optional;
namespace media_router {
namespace {
std::string GetStartedConnectionId(WebContents* web_contents) { … }
std::string GetDefaultRequestSessionId(WebContents* web_contents) { … }
class NoRoutesObserver : public MediaRoutesObserver { … };
}
MediaRouterIntegrationBrowserTest::MediaRouterIntegrationBrowserTest() { … }
MediaRouterIntegrationBrowserTest::~MediaRouterIntegrationBrowserTest() =
default;
Browser* MediaRouterIntegrationBrowserTest::browser() { … }
void MediaRouterIntegrationBrowserTest::SetUpCommandLine(
base::CommandLine* command_line) { … }
void MediaRouterIntegrationBrowserTest::SetUp() { … }
void MediaRouterIntegrationBrowserTest::InitTestUi() { … }
void MediaRouterIntegrationBrowserTest::TearDownOnMainThread() { … }
void MediaRouterIntegrationBrowserTest::SetUpInProcessBrowserTestFixture() { … }
void MediaRouterIntegrationBrowserTest::SetUpOnMainThread() { … }
bool MediaRouterIntegrationBrowserTest::ConditionalWait(
base::TimeDelta timeout,
base::TimeDelta interval,
const base::RepeatingCallback<bool(void)>& callback) { … }
void MediaRouterIntegrationBrowserTest::Wait(base::TimeDelta timeout) { … }
void MediaRouterIntegrationBrowserTest::WaitUntilNoRoutes(
WebContents* web_contents) { … }
void MediaRouterIntegrationBrowserTest::ExecuteJavaScriptAPI(
WebContents* web_contents,
const std::string& script) { … }
void MediaRouterIntegrationBrowserTest::StartSessionAndAssertNotFoundError() { … }
WebContents*
MediaRouterIntegrationBrowserTest::StartSessionWithTestPageAndSink() { … }
WebContents*
MediaRouterIntegrationBrowserTest::StartSessionWithTestPageAndChooseSink() { … }
void MediaRouterIntegrationBrowserTest::OpenTestPage(
base::FilePath::StringPieceType file_name) { … }
void MediaRouterIntegrationBrowserTest::OpenTestPageInNewTab(
base::FilePath::StringPieceType file_name) { … }
GURL MediaRouterIntegrationBrowserTest::GetTestPageUrl(
const base::FilePath& full_path) { … }
void MediaRouterIntegrationBrowserTest::CheckStartFailed(
WebContents* web_contents,
const std::string& error_name,
const std::string& error_message_substring) { … }
base::FilePath MediaRouterIntegrationBrowserTest::GetResourceFile(
base::FilePath::StringPieceType relative_path) const { … }
void MediaRouterIntegrationBrowserTest::ExecuteScript(
const content::ToRenderFrameHost& adapter,
const std::string& script) { … }
bool MediaRouterIntegrationBrowserTest::IsRouteCreatedOnUI() { … }
void MediaRouterIntegrationBrowserTest::ParseCommandLine() { … }
void MediaRouterIntegrationBrowserTest::CheckSessionValidity(
WebContents* web_contents) { … }
WebContents* MediaRouterIntegrationBrowserTest::GetActiveWebContents() { … }
void MediaRouterIntegrationBrowserTest::RunBasicTest() { … }
void MediaRouterIntegrationBrowserTest::RunSendMessageTest(
const std::string& message) { … }
void MediaRouterIntegrationBrowserTest::RunFailToSendMessageTest() { … }
void MediaRouterIntegrationBrowserTest::RunReconnectSessionTest() { … }
void MediaRouterIntegrationBrowserTest::RunFailedReconnectSessionTest() { … }
void MediaRouterIntegrationBrowserTest::SetEnableMediaRouter(bool enable) { … }
void MediaRouterIntegrationBrowserTest::RunReconnectSessionSameTabTest() { … }
bool MediaRouterIntegrationBrowserTest::RequiresMediaRouteProviders() const { … }
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN)
#define MAYBE_Basic …
#else
#define MAYBE_Basic …
#endif
IN_PROC_BROWSER_TEST_P(MediaRouterIntegrationBrowserTest, MAYBE_Basic) { … }
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN)
#define MAYBE_SendAndOnMessage …
#else
#define MAYBE_SendAndOnMessage …
#endif
IN_PROC_BROWSER_TEST_P(MediaRouterIntegrationBrowserTest,
MAYBE_SendAndOnMessage) { … }
IN_PROC_BROWSER_TEST_P(MediaRouterIntegrationBrowserTest, CloseOnError) { … }
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS)
#define MAYBE_Fail_SendMessage …
#else
#define MAYBE_Fail_SendMessage …
#endif
IN_PROC_BROWSER_TEST_P(MediaRouterIntegrationBrowserTest,
MAYBE_Fail_SendMessage) { … }
IN_PROC_BROWSER_TEST_P(MediaRouterIntegrationBrowserTest, Fail_CreateRoute) { … }
IN_PROC_BROWSER_TEST_P(MediaRouterIntegrationBrowserTest, ReconnectSession) { … }
IN_PROC_BROWSER_TEST_P(MediaRouterIntegrationBrowserTest,
Fail_ReconnectSession) { … }
IN_PROC_BROWSER_TEST_P(MediaRouterIntegrationBrowserTest, Fail_StartCancelled) { … }
IN_PROC_BROWSER_TEST_P(MediaRouterIntegrationBrowserTest,
Fail_StartCancelledNoSinks) { … }
IN_PROC_BROWSER_TEST_P(MediaRouterIntegrationBrowserTest,
Fail_StartCancelledNoSupportedSinks) { … }
INSTANTIATE_MEDIA_ROUTER_INTEGRATION_BROWER_TEST_SUITE(…);
}