Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(71)

Unified Diff: chrome/test/media_router/media_router_integration_browsertest.cc

Issue 2634213002: [Media Router] Add integration browser tests (Closed)
Patch Set: Address Mark's comments Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/test/media_router/media_router_integration_browsertest.cc
diff --git a/chrome/test/media_router/media_router_integration_browsertest.cc b/chrome/test/media_router/media_router_integration_browsertest.cc
index 32a5e7de342edaa59860ce9dde37854c184687d2..27023ff35401adfaf34bb37e832c36560a2682c6 100644
--- a/chrome/test/media_router/media_router_integration_browsertest.cc
+++ b/chrome/test/media_router/media_router_integration_browsertest.cc
@@ -28,6 +28,7 @@
#include "net/base/filename_util.h"
#include "testing/gtest/include/gtest/gtest.h"
+using content::WebContents;
namespace media_router {
@@ -45,6 +46,9 @@ const char kCheckStartFailedScript[] = "checkStartFailed('%s', '%s');";
const char kStartSessionScript[] = "startSession();";
const char kTerminateSessionScript[] =
"terminateSessionAndWaitForStateChange();";
+const char kCloseSessionScript[] = "closeSessionAndWaitForStateChange();";
+const char kReconnectSessionScript[] = "reconnectSession('%s');";
+const char kCheckSendMessageFailedScript[] = "checkSendMessageFailed('%s');";
const char kWaitDeviceScript[] = "waitUntilDeviceAvailable();";
const char kSendMessageAndExpectResponseScript[] =
"sendMessageAndExpectResponse('%s');";
@@ -102,7 +106,7 @@ const char kCheckDialogLoadedScript[] =
"}"
"domAutomationController.send(false);";
-std::string GetStartedConnectionId(content::WebContents* web_contents) {
+std::string GetStartedConnectionId(WebContents* web_contents) {
std::string session_id;
CHECK(content::ExecuteScriptAndExtractString(
web_contents, "window.domAutomationController.send(startedConnection.id)",
@@ -110,7 +114,7 @@ std::string GetStartedConnectionId(content::WebContents* web_contents) {
return session_id;
}
-std::string GetDefaultRequestSessionId(content::WebContents* web_contents) {
+std::string GetDefaultRequestSessionId(WebContents* web_contents) {
std::string session_id;
CHECK(content::ExecuteScriptAndExtractString(
web_contents,
@@ -133,7 +137,7 @@ void MediaRouterIntegrationBrowserTest::TearDownOnMainThread() {
}
void MediaRouterIntegrationBrowserTest::ExecuteJavaScriptAPI(
- content::WebContents* web_contents,
+ WebContents* web_contents,
const std::string& script) {
std::string result(ExecuteScriptAndExtractString(web_contents, script));
@@ -156,6 +160,28 @@ void MediaRouterIntegrationBrowserTest::ExecuteJavaScriptAPI(
ASSERT_TRUE(passed) << error_message;
}
+WebContents* MediaRouterIntegrationBrowserTest::StartSessionWithTestPage(
+ bool wait_for_sink) {
+ OpenTestPage(FILE_PATH_LITERAL("basic_test.html"));
+ WebContents* web_contents = GetActiveWebContents();
+ CHECK(web_contents);
+ if (wait_for_sink)
+ ExecuteJavaScriptAPI(web_contents, kWaitDeviceScript);
mark a. foltz 2017/02/09 23:29:59 I feel link this should be kWaitSinkScript to be c
takumif 2017/02/14 19:11:48 Done.
+ StartSession(web_contents);
+ return web_contents;
+}
+
+WebContents*
+MediaRouterIntegrationBrowserTest::StartSessionWithTestPageAndChooseSink(
+ bool should_succeed) {
+ WebContents* web_contents = StartSessionWithTestPage(true);
+ WaitUntilSinkDiscoveredOnUI();
+ ChooseSink(web_contents, kTestSinkName);
+ if (should_succeed)
+ CheckSessionValidity(web_contents);
+ return web_contents;
+}
+
void MediaRouterIntegrationBrowserTest::OpenTestPage(
base::FilePath::StringPieceType file_name) {
base::FilePath full_path = GetResourceFile(file_name);
@@ -172,7 +198,7 @@ void MediaRouterIntegrationBrowserTest::OpenTestPageInNewTab(
}
void MediaRouterIntegrationBrowserTest::StartSession(
- content::WebContents* web_contents) {
+ WebContents* web_contents) {
test_navigation_observer_.reset(
new content::TestNavigationObserver(web_contents, 1));
test_navigation_observer_->StartWatchingNewWebContents();
@@ -182,9 +208,9 @@ void MediaRouterIntegrationBrowserTest::StartSession(
}
void MediaRouterIntegrationBrowserTest::ChooseSink(
- content::WebContents* web_contents,
+ WebContents* web_contents,
const std::string& sink_name) {
- content::WebContents* dialog_contents = GetMRDialog(web_contents);
+ WebContents* dialog_contents = GetMRDialog(web_contents);
std::string script = base::StringPrintf(
kChooseSinkScript, sink_name.c_str());
// Execute javascript to choose sink, but don't wait until it finishes.
@@ -193,7 +219,7 @@ void MediaRouterIntegrationBrowserTest::ChooseSink(
}
void MediaRouterIntegrationBrowserTest::CheckStartFailed(
- content::WebContents* web_contents,
+ WebContents* web_contents,
const std::string& error_name,
const std::string& error_message_substring) {
std::string script(base::StringPrintf(kCheckStartFailedScript,
@@ -203,30 +229,29 @@ void MediaRouterIntegrationBrowserTest::CheckStartFailed(
}
void MediaRouterIntegrationBrowserTest::ClickDialog() {
- content::WebContents* web_contents =
- browser()->tab_strip_model()->GetActiveWebContents();
- content::WebContents* dialog_contents = GetMRDialog(web_contents);
+ WebContents* web_contents = GetActiveWebContents();
+ WebContents* dialog_contents = GetMRDialog(web_contents);
ASSERT_TRUE(content::ExecuteScript(dialog_contents, kClickDialog));
}
-content::WebContents* MediaRouterIntegrationBrowserTest::GetMRDialog(
- content::WebContents* web_contents) {
+WebContents* MediaRouterIntegrationBrowserTest::GetMRDialog(
+ WebContents* web_contents) {
MediaRouterDialogControllerImpl* controller =
MediaRouterDialogControllerImpl::GetOrCreateForWebContents(web_contents);
- content::WebContents* dialog_contents = controller->GetMediaRouterDialog();
+ WebContents* dialog_contents = controller->GetMediaRouterDialog();
CHECK(dialog_contents);
WaitUntilDialogFullyLoaded(dialog_contents);
return dialog_contents;
}
bool MediaRouterIntegrationBrowserTest::IsDialogClosed(
- content::WebContents* web_contents) {
+ WebContents* web_contents) {
MediaRouterDialogControllerImpl* controller =
MediaRouterDialogControllerImpl::GetOrCreateForWebContents(web_contents);
return !controller->GetMediaRouterDialog();
}
void MediaRouterIntegrationBrowserTest::WaitUntilDialogClosed(
- content::WebContents* web_contents) {
+ WebContents* web_contents) {
ASSERT_TRUE(ConditionalWait(
base::TimeDelta::FromSeconds(5), base::TimeDelta::FromSeconds(1),
base::Bind(&MediaRouterIntegrationBrowserTest::IsDialogClosed,
@@ -234,7 +259,7 @@ void MediaRouterIntegrationBrowserTest::WaitUntilDialogClosed(
}
void MediaRouterIntegrationBrowserTest::CheckDialogRemainsOpen(
- content::WebContents* web_contents) {
+ WebContents* web_contents) {
ASSERT_FALSE(ConditionalWait(
base::TimeDelta::FromSeconds(5), base::TimeDelta::FromSeconds(1),
base::Bind(&MediaRouterIntegrationBrowserTest::IsDialogClosed,
@@ -258,8 +283,8 @@ void MediaRouterIntegrationBrowserTest::SetTestData(
test_data_str.c_str()));
}
-content::WebContents* MediaRouterIntegrationBrowserTest::OpenMRDialog(
- content::WebContents* web_contents) {
+WebContents* MediaRouterIntegrationBrowserTest::OpenMRDialog(
+ WebContents* web_contents) {
MediaRouterDialogControllerImpl* controller =
MediaRouterDialogControllerImpl::GetOrCreateForWebContents(web_contents);
test_navigation_observer_.reset(
@@ -268,7 +293,7 @@ content::WebContents* MediaRouterIntegrationBrowserTest::OpenMRDialog(
CHECK(controller->ShowMediaRouterDialog());
test_navigation_observer_->Wait();
test_navigation_observer_->StopWatchingNewWebContents();
- content::WebContents* dialog_contents = controller->GetMediaRouterDialog();
+ WebContents* dialog_contents = controller->GetMediaRouterDialog();
CHECK(dialog_contents);
WaitUntilDialogFullyLoaded(dialog_contents);
return dialog_contents;
@@ -318,9 +343,8 @@ bool MediaRouterIntegrationBrowserTest::IsRouteCreatedOnUI() {
std::string MediaRouterIntegrationBrowserTest::GetRouteId(
const std::string& sink_name) {
- content::WebContents* web_contents =
- browser()->tab_strip_model()->GetActiveWebContents();
- content::WebContents* dialog_contents = GetMRDialog(web_contents);
+ WebContents* web_contents = GetActiveWebContents();
+ WebContents* dialog_contents = GetMRDialog(web_contents);
std::string script = base::StringPrintf(kGetSinkIdScript, sink_name.c_str());
std::string sink_id = ExecuteScriptAndExtractString(dialog_contents, script);
DVLOG(0) << "sink id: " << sink_id;
@@ -338,9 +362,8 @@ void MediaRouterIntegrationBrowserTest::WaitUntilRouteCreated() {
}
bool MediaRouterIntegrationBrowserTest::IsUIShowingIssue() {
- content::WebContents* web_contents =
- browser()->tab_strip_model()->GetActiveWebContents();
- content::WebContents* dialog_contents = GetMRDialog(web_contents);
+ WebContents* web_contents = GetActiveWebContents();
+ WebContents* dialog_contents = GetMRDialog(web_contents);
std::string script = base::StringPrintf(
"domAutomationController.send(window.document.getElementById("
"'media-router-container').issue != undefined)");
@@ -358,9 +381,8 @@ void MediaRouterIntegrationBrowserTest::WaitUntilIssue() {
}
std::string MediaRouterIntegrationBrowserTest::GetIssueTitle() {
- content::WebContents* web_contents =
- browser()->tab_strip_model()->GetActiveWebContents();
- content::WebContents* dialog_contents = GetMRDialog(web_contents);
+ WebContents* web_contents = GetActiveWebContents();
+ WebContents* dialog_contents = GetMRDialog(web_contents);
std::string script = base::StringPrintf(
"domAutomationController.send(window.document.getElementById("
"'media-router-container').issue.title)");
@@ -371,11 +393,10 @@ bool MediaRouterIntegrationBrowserTest::IsRouteClosedOnUI() {
// After execute js script to close route on UI, the dialog will dispear
// after 3s. But sometimes it takes more than 3s to close the route, so
// we need to re-open the dialog if it is closed.
- content::WebContents* web_contents =
- browser()->tab_strip_model()->GetActiveWebContents();
+ WebContents* web_contents = GetActiveWebContents();
MediaRouterDialogControllerImpl* controller =
MediaRouterDialogControllerImpl::GetOrCreateForWebContents(web_contents);
- content::WebContents* dialog_contents = controller->GetMediaRouterDialog();
+ WebContents* dialog_contents = controller->GetMediaRouterDialog();
if (!dialog_contents) {
VLOG(0) << "Media router dialog was closed, reopen it again.";
OpenMRDialog(web_contents);
@@ -384,9 +405,8 @@ bool MediaRouterIntegrationBrowserTest::IsRouteClosedOnUI() {
}
void MediaRouterIntegrationBrowserTest::CloseRouteOnUI() {
- content::WebContents* web_contents =
- browser()->tab_strip_model()->GetActiveWebContents();
- content::WebContents* dialog_contents = GetMRDialog(web_contents);
+ WebContents* web_contents = GetActiveWebContents();
+ WebContents* dialog_contents = GetMRDialog(web_contents);
ASSERT_TRUE(content::ExecuteScript(dialog_contents, kCloseRouteScript));
ASSERT_TRUE(ConditionalWait(
base::TimeDelta::FromSeconds(10), base::TimeDelta::FromSeconds(1),
@@ -395,9 +415,8 @@ void MediaRouterIntegrationBrowserTest::CloseRouteOnUI() {
}
bool MediaRouterIntegrationBrowserTest::IsSinkDiscoveredOnUI() {
- content::WebContents* web_contents =
- browser()->tab_strip_model()->GetActiveWebContents();
- content::WebContents* dialog_contents = GetMRDialog(web_contents);
+ WebContents* web_contents = GetActiveWebContents();
+ WebContents* dialog_contents = GetMRDialog(web_contents);
std::string script = base::StringPrintf(kFindSinkScript, receiver().c_str());
return ExecuteScriptAndExtractBool(dialog_contents, script);
}
@@ -412,12 +431,12 @@ void MediaRouterIntegrationBrowserTest::WaitUntilSinkDiscoveredOnUI() {
}
bool MediaRouterIntegrationBrowserTest::IsDialogLoaded(
- content::WebContents* dialog_contents) {
+ WebContents* dialog_contents) {
return ExecuteScriptAndExtractBool(dialog_contents, kCheckDialogLoadedScript);
}
void MediaRouterIntegrationBrowserTest::WaitUntilDialogFullyLoaded(
- content::WebContents* dialog_contents) {
+ WebContents* dialog_contents) {
ASSERT_TRUE(ConditionalWait(
base::TimeDelta::FromSeconds(30), base::TimeDelta::FromSeconds(1),
base::Bind(&MediaRouterIntegrationBrowserTest::IsDialogLoaded,
@@ -433,139 +452,125 @@ void MediaRouterIntegrationBrowserTest::ParseCommandLine() {
receiver_ = kTestSinkName;
}
-IN_PROC_BROWSER_TEST_F(MediaRouterIntegrationBrowserTest, MANUAL_Basic) {
- OpenTestPage(FILE_PATH_LITERAL("basic_test.html"));
- content::WebContents* web_contents =
- browser()->tab_strip_model()->GetActiveWebContents();
- ASSERT_TRUE(web_contents);
- ExecuteJavaScriptAPI(web_contents, kWaitDeviceScript);
- StartSession(web_contents);
- WaitUntilSinkDiscoveredOnUI();
- ChooseSink(web_contents, kTestSinkName);
+void MediaRouterIntegrationBrowserTest::CheckSessionValidity(
+ WebContents* web_contents) {
ExecuteJavaScriptAPI(web_contents, kCheckSessionScript);
std::string session_id(GetStartedConnectionId(web_contents));
EXPECT_FALSE(session_id.empty());
-
std::string default_request_session_id(
GetDefaultRequestSessionId(web_contents));
EXPECT_EQ(session_id, default_request_session_id);
+}
+void MediaRouterIntegrationBrowserTest::HideMediaRouterDialog(
+ WebContents* web_contents,
+ bool wait_for_sink) {
+ MediaRouterDialogControllerImpl* controller =
+ MediaRouterDialogControllerImpl::GetOrCreateForWebContents(web_contents);
+ EXPECT_TRUE(controller->IsShowingMediaRouterDialog());
+ if (wait_for_sink)
+ WaitUntilSinkDiscoveredOnUI();
+ controller->HideMediaRouterDialog();
+}
+
+WebContents* MediaRouterIntegrationBrowserTest::GetActiveWebContents() {
+ return browser()->tab_strip_model()->GetActiveWebContents();
+}
+
+void MediaRouterIntegrationBrowserTest::RunBasicTest() {
+ WebContents* web_contents = StartSessionWithTestPageAndChooseSink(true);
ExecuteJavaScriptAPI(web_contents, kTerminateSessionScript);
}
-IN_PROC_BROWSER_TEST_F(MediaRouterIntegrationBrowserTest,
- MANUAL_SendAndOnMessage) {
- OpenTestPage(FILE_PATH_LITERAL("basic_test.html"));
- content::WebContents* web_contents =
- browser()->tab_strip_model()->GetActiveWebContents();
- ASSERT_TRUE(web_contents);
- ExecuteJavaScriptAPI(web_contents, kWaitDeviceScript);
- StartSession(web_contents);
- WaitUntilSinkDiscoveredOnUI();
- ChooseSink(web_contents, kTestSinkName);
- ExecuteJavaScriptAPI(web_contents, kCheckSessionScript);
+void MediaRouterIntegrationBrowserTest::RunReconnectSessionTest() {
+ WebContents* web_contents = StartSessionWithTestPageAndChooseSink(true);
std::string session_id(GetStartedConnectionId(web_contents));
- EXPECT_FALSE(session_id.empty());
+ // Wait a few seconds for MediaRouter to receive updates containing the
+ // created route.
+ Wait(base::TimeDelta::FromSeconds(3));
+
+ OpenTestPageInNewTab(FILE_PATH_LITERAL("basic_test.html"));
+ WebContents* new_web_contents = GetActiveWebContents();
+ ASSERT_TRUE(new_web_contents);
+ ASSERT_NE(web_contents, new_web_contents);
+ ExecuteJavaScriptAPI(
+ new_web_contents,
+ base::StringPrintf(kReconnectSessionScript, session_id.c_str()));
+ std::string reconnected_session_id;
+ ASSERT_TRUE(content::ExecuteScriptAndExtractString(
+ new_web_contents,
+ "window.domAutomationController.send(reconnectedSession.id)",
+ &reconnected_session_id));
+ ASSERT_EQ(session_id, reconnected_session_id);
+}
+
+IN_PROC_BROWSER_TEST_F(MediaRouterIntegrationBrowserTest, MANUAL_Basic) {
+ RunBasicTest();
+}
+
+IN_PROC_BROWSER_TEST_F(MediaRouterIntegrationBrowserTest,
+ MANUAL_SendAndOnMessage) {
+ WebContents* web_contents = StartSessionWithTestPageAndChooseSink(true);
ExecuteJavaScriptAPI(
web_contents,
base::StringPrintf(kSendMessageAndExpectResponseScript, "foo"));
}
-IN_PROC_BROWSER_TEST_F(MediaRouterIntegrationBrowserTest, MANUAL_OnClose) {
- SetTestData(FILE_PATH_LITERAL("close_route_with_error_on_send.json"));
- OpenTestPage(FILE_PATH_LITERAL("basic_test.html"));
- content::WebContents* web_contents =
- browser()->tab_strip_model()->GetActiveWebContents();
- ASSERT_TRUE(web_contents);
- ExecuteJavaScriptAPI(web_contents, kWaitDeviceScript);
- StartSession(web_contents);
- WaitUntilSinkDiscoveredOnUI();
- ChooseSink(web_contents, kTestSinkName);
- ExecuteJavaScriptAPI(web_contents, kCheckSessionScript);
+IN_PROC_BROWSER_TEST_F(MediaRouterIntegrationBrowserTest,
+ MANUAL_CloseAndReconnect) {
+ WebContents* web_contents = StartSessionWithTestPageAndChooseSink(true);
+ ExecuteJavaScriptAPI(web_contents, kCloseSessionScript);
+
+ // Wait a few seconds for MediaRouter to receive status updates.
+ Wait(base::TimeDelta::FromSeconds(3));
std::string session_id(GetStartedConnectionId(web_contents));
- EXPECT_FALSE(session_id.empty());
+ ExecuteJavaScriptAPI(web_contents, base::StringPrintf(kReconnectSessionScript,
+ session_id.c_str()));
+}
+
+IN_PROC_BROWSER_TEST_F(MediaRouterIntegrationBrowserTest, MANUAL_CloseOnError) {
+ SetTestData(FILE_PATH_LITERAL("close_route_with_error_on_send.json"));
+ WebContents* web_contents = StartSessionWithTestPageAndChooseSink(true);
+ ExecuteJavaScriptAPI(web_contents,
+ kSendMessageAndExpectConnectionCloseOnErrorScript);
+}
+
+IN_PROC_BROWSER_TEST_F(MediaRouterIntegrationBrowserTest,
+ MANUAL_Fail_SendMessage) {
+ WebContents* web_contents = StartSessionWithTestPageAndChooseSink(true);
+ ExecuteJavaScriptAPI(web_contents, kCloseSessionScript);
+ // Wait a few seconds for MediaRouter to receive status updates.
+ Wait(base::TimeDelta::FromSeconds(3));
ExecuteJavaScriptAPI(
web_contents,
- base::StringPrintf("%s",
- kSendMessageAndExpectConnectionCloseOnErrorScript));
+ base::StringPrintf(kCheckSendMessageFailedScript, "closed"));
}
IN_PROC_BROWSER_TEST_F(MediaRouterIntegrationBrowserTest,
MANUAL_Fail_NoProvider) {
SetTestData(FILE_PATH_LITERAL("no_provider.json"));
- OpenTestPage(FILE_PATH_LITERAL("basic_test.html"));
- content::WebContents* web_contents =
- browser()->tab_strip_model()->GetActiveWebContents();
- ASSERT_TRUE(web_contents);
- ExecuteJavaScriptAPI(web_contents, kWaitDeviceScript);
- StartSession(web_contents);
- WaitUntilSinkDiscoveredOnUI();
- ChooseSink(web_contents, kTestSinkName);
+ WebContents* web_contents = StartSessionWithTestPageAndChooseSink(false);
CheckStartFailed(web_contents, "UnknownError",
- "No provider supports createRoute with source");
+ "No provider supports createRoute with source");
}
IN_PROC_BROWSER_TEST_F(MediaRouterIntegrationBrowserTest,
MANUAL_Fail_CreateRoute) {
SetTestData(FILE_PATH_LITERAL("fail_create_route.json"));
- OpenTestPage(FILE_PATH_LITERAL("basic_test.html"));
- content::WebContents* web_contents =
- browser()->tab_strip_model()->GetActiveWebContents();
- ASSERT_TRUE(web_contents);
- ExecuteJavaScriptAPI(web_contents, kWaitDeviceScript);
- StartSession(web_contents);
- WaitUntilSinkDiscoveredOnUI();
- ChooseSink(web_contents, kTestSinkName);
+ WebContents* web_contents = StartSessionWithTestPageAndChooseSink(false);
CheckStartFailed(web_contents, "UnknownError", "Unknown sink");
}
IN_PROC_BROWSER_TEST_F(MediaRouterIntegrationBrowserTest,
MANUAL_ReconnectSession) {
- OpenTestPage(FILE_PATH_LITERAL("basic_test.html"));
- content::WebContents* web_contents =
- browser()->tab_strip_model()->GetActiveWebContents();
- ASSERT_TRUE(web_contents);
- ExecuteJavaScriptAPI(web_contents, kWaitDeviceScript);
- StartSession(web_contents);
- WaitUntilSinkDiscoveredOnUI();
- ChooseSink(web_contents, kTestSinkName);
- ExecuteJavaScriptAPI(web_contents, kCheckSessionScript);
- std::string session_id(GetStartedConnectionId(web_contents));
-
- // Wait a few seconds for MediaRouter to receive updates containing the
- // created route.
- Wait(base::TimeDelta::FromSeconds(3));
-
- OpenTestPageInNewTab(FILE_PATH_LITERAL("basic_test.html"));
- content::WebContents* new_web_contents =
- browser()->tab_strip_model()->GetActiveWebContents();
- ASSERT_TRUE(new_web_contents);
- ASSERT_NE(web_contents, new_web_contents);
- ExecuteJavaScriptAPI(
- new_web_contents,
- base::StringPrintf("reconnectSession('%s');", session_id.c_str()));
- std::string reconnected_session_id;
- ASSERT_TRUE(content::ExecuteScriptAndExtractString(
- new_web_contents,
- "window.domAutomationController.send(reconnectedSession.id)",
- &reconnected_session_id));
- ASSERT_EQ(session_id, reconnected_session_id);
+ RunReconnectSessionTest();
}
IN_PROC_BROWSER_TEST_F(MediaRouterIntegrationBrowserTest,
MANUAL_Fail_ReconnectSession) {
- OpenTestPage(FILE_PATH_LITERAL("basic_test.html"));
- content::WebContents* web_contents =
- browser()->tab_strip_model()->GetActiveWebContents();
- ASSERT_TRUE(web_contents);
- ExecuteJavaScriptAPI(web_contents, kWaitDeviceScript);
- content::TestNavigationObserver test_navigation_observer(web_contents, 1);
- StartSession(web_contents);
- WaitUntilSinkDiscoveredOnUI();
- ChooseSink(web_contents, kTestSinkName);
- ExecuteJavaScriptAPI(web_contents, kCheckSessionScript);
+ WebContents* web_contents = StartSessionWithTestPageAndChooseSink(true);
std::string session_id(GetStartedConnectionId(web_contents));
// Wait a few seconds for MediaRouter to receive updates containing the
@@ -573,9 +578,8 @@ IN_PROC_BROWSER_TEST_F(MediaRouterIntegrationBrowserTest,
Wait(base::TimeDelta::FromSeconds(3));
SetTestData(FILE_PATH_LITERAL("fail_reconnect_session.json"));
- OpenTestPage(FILE_PATH_LITERAL("fail_reconnect_session.html"));
- content::WebContents* new_web_contents =
- browser()->tab_strip_model()->GetActiveWebContents();
+ OpenTestPageInNewTab(FILE_PATH_LITERAL("fail_reconnect_session.html"));
+ WebContents* new_web_contents = GetActiveWebContents();
ASSERT_TRUE(new_web_contents);
ExecuteJavaScriptAPI(
new_web_contents,
@@ -585,54 +589,53 @@ IN_PROC_BROWSER_TEST_F(MediaRouterIntegrationBrowserTest,
IN_PROC_BROWSER_TEST_F(MediaRouterIntegrationBrowserTest,
MANUAL_Fail_StartCancelled) {
- OpenTestPage(FILE_PATH_LITERAL("basic_test.html"));
- content::WebContents* web_contents =
- browser()->tab_strip_model()->GetActiveWebContents();
- ASSERT_TRUE(web_contents);
- ExecuteJavaScriptAPI(web_contents, kWaitDeviceScript);
- content::TestNavigationObserver test_navigation_observer(web_contents, 1);
- StartSession(web_contents);
-
- MediaRouterDialogControllerImpl* controller =
- MediaRouterDialogControllerImpl::GetOrCreateForWebContents(web_contents);
- EXPECT_TRUE(controller->IsShowingMediaRouterDialog());
- controller->HideMediaRouterDialog();
+ WebContents* web_contents = StartSessionWithTestPage(true);
+ HideMediaRouterDialog(web_contents, false);
CheckStartFailed(web_contents, "NotAllowedError", "Dialog closed.");
}
IN_PROC_BROWSER_TEST_F(MediaRouterIntegrationBrowserTest,
MANUAL_Fail_StartCancelledNoSinks) {
SetTestData(FILE_PATH_LITERAL("no_sinks.json"));
- OpenTestPage(FILE_PATH_LITERAL("basic_test.html"));
- content::WebContents* web_contents =
- browser()->tab_strip_model()->GetActiveWebContents();
- ASSERT_TRUE(web_contents);
- content::TestNavigationObserver test_navigation_observer(web_contents, 1);
- StartSession(web_contents);
-
- MediaRouterDialogControllerImpl* controller =
- MediaRouterDialogControllerImpl::GetOrCreateForWebContents(web_contents);
- EXPECT_TRUE(controller->IsShowingMediaRouterDialog());
- controller->HideMediaRouterDialog();
+ WebContents* web_contents = StartSessionWithTestPage(false);
+ HideMediaRouterDialog(web_contents, false);
CheckStartFailed(web_contents, "NotFoundError", "No screens found.");
}
IN_PROC_BROWSER_TEST_F(MediaRouterIntegrationBrowserTest,
MANUAL_Fail_StartCancelledNoSupportedSinks) {
SetTestData(FILE_PATH_LITERAL("no_supported_sinks.json"));
- OpenTestPage(FILE_PATH_LITERAL("basic_test.html"));
- content::WebContents* web_contents =
- browser()->tab_strip_model()->GetActiveWebContents();
- ASSERT_TRUE(web_contents);
- content::TestNavigationObserver test_navigation_observer(web_contents, 1);
- StartSession(web_contents);
-
- MediaRouterDialogControllerImpl* controller =
- MediaRouterDialogControllerImpl::GetOrCreateForWebContents(web_contents);
- EXPECT_TRUE(controller->IsShowingMediaRouterDialog());
- WaitUntilSinkDiscoveredOnUI();
- controller->HideMediaRouterDialog();
+ WebContents* web_contents = StartSessionWithTestPage(false);
+ HideMediaRouterDialog(web_contents, true);
CheckStartFailed(web_contents, "NotFoundError", "No screens found.");
}
+void MediaRouterIntegrationIncognitoBrowserTest::InstallAndEnableMRExtension() {
+ const extensions::Extension* extension =
+ LoadExtensionIncognito(extension_unpacked_);
+ extension_id_ = extension->id();
+}
+
+void MediaRouterIntegrationIncognitoBrowserTest::UninstallMRExtension() {
+ if (!extension_id_.empty()) {
+ UninstallExtension(extension_id_);
+ }
+}
+
+Browser* MediaRouterIntegrationIncognitoBrowserTest::browser() {
+ if (!browser_)
+ browser_ = CreateIncognitoBrowser();
+ return browser_;
+}
+
+IN_PROC_BROWSER_TEST_F(MediaRouterIntegrationIncognitoBrowserTest,
+ MANUAL_Basic) {
+ RunBasicTest();
+}
+
+IN_PROC_BROWSER_TEST_F(MediaRouterIntegrationIncognitoBrowserTest,
+ MANUAL_ReconnectSession) {
+ RunReconnectSessionTest();
+}
+
} // namespace media_router

Powered by Google App Engine
This is Rietveld 408576698