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

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

Issue 2634213002: [Media Router] Add integration browser tests (Closed)
Patch Set: Undo renaming waitUntilDeviceAvailable 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 35fb3ec1e64f2d1aa26b170712d9c8c288f24159..301e66882a25ae5e84b83439b523499d865748cc 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,7 +46,10 @@ const char kCheckStartFailedScript[] = "checkStartFailed('%s', '%s');";
const char kStartSessionScript[] = "startSession();";
const char kTerminateSessionScript[] =
"terminateSessionAndWaitForStateChange();";
-const char kWaitDeviceScript[] = "waitUntilDeviceAvailable();";
+const char kCloseSessionScript[] = "closeConnectionAndWaitForStateChange();";
+const char kReconnectSessionScript[] = "reconnectSession('%s');";
+const char kCheckSendMessageFailedScript[] = "checkSendMessageFailed('%s');";
+const char kWaitSinkScript[] = "waitUntilDeviceAvailable();";
const char kSendMessageAndExpectResponseScript[] =
"sendMessageAndExpectResponse('%s');";
const char kSendMessageAndExpectConnectionCloseOnErrorScript[] =
@@ -104,7 +108,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)",
@@ -112,7 +116,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,
@@ -135,7 +139,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));
@@ -158,6 +162,32 @@ void MediaRouterIntegrationBrowserTest::ExecuteJavaScriptAPI(
ASSERT_TRUE(passed) << error_message;
}
+WebContents* MediaRouterIntegrationBrowserTest::StartSessionWithTestPageNow() {
+ OpenTestPage(FILE_PATH_LITERAL("basic_test.html"));
+ WebContents* web_contents = GetActiveWebContents();
+ CHECK(web_contents);
+ StartSession(web_contents);
+ return web_contents;
+}
+
+WebContents*
+MediaRouterIntegrationBrowserTest::StartSessionWithTestPageAndSink() {
+ OpenTestPage(FILE_PATH_LITERAL("basic_test.html"));
+ WebContents* web_contents = GetActiveWebContents();
+ CHECK(web_contents);
+ ExecuteJavaScriptAPI(web_contents, kWaitSinkScript);
+ StartSession(web_contents);
+ return web_contents;
+}
+
+WebContents*
+MediaRouterIntegrationBrowserTest::StartSessionWithTestPageAndChooseSink() {
+ WebContents* web_contents = StartSessionWithTestPageAndSink();
+ WaitUntilSinkDiscoveredOnUI();
+ ChooseSink(web_contents, kTestSinkName);
+ return web_contents;
+}
+
void MediaRouterIntegrationBrowserTest::OpenTestPage(
base::FilePath::StringPieceType file_name) {
base::FilePath full_path = GetResourceFile(file_name);
@@ -174,7 +204,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();
@@ -184,9 +214,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.
@@ -195,7 +225,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,
@@ -205,30 +235,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,
@@ -236,7 +265,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,
@@ -260,8 +289,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(
@@ -270,7 +299,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;
@@ -320,9 +349,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;
@@ -340,9 +368,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)");
@@ -360,9 +387,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)");
@@ -373,11 +399,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);
@@ -386,9 +411,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),
@@ -397,9 +421,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);
}
@@ -414,12 +437,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,
@@ -435,139 +458,117 @@ 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);
+}
+
+MediaRouterDialogControllerImpl*
+MediaRouterIntegrationBrowserTest::GetControllerForShownDialog(
+ WebContents* web_contents) {
+ MediaRouterDialogControllerImpl* controller =
+ MediaRouterDialogControllerImpl::GetOrCreateForWebContents(web_contents);
+ EXPECT_TRUE(controller->IsShowingMediaRouterDialog());
+ return controller;
+}
+
+WebContents* MediaRouterIntegrationBrowserTest::GetActiveWebContents() {
+ return browser()->tab_strip_model()->GetActiveWebContents();
+}
+void MediaRouterIntegrationBrowserTest::RunBasicTest() {
+ WebContents* web_contents = StartSessionWithTestPageAndChooseSink();
+ CheckSessionValidity(web_contents);
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();
+ CheckSessionValidity(web_contents);
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();
+ CheckSessionValidity(web_contents);
ExecuteJavaScriptAPI(
web_contents,
base::StringPrintf(kSendMessageAndExpectResponseScript, "foo"));
}
-IN_PROC_BROWSER_TEST_F(MediaRouterIntegrationBrowserTest, MANUAL_OnClose) {
+IN_PROC_BROWSER_TEST_F(MediaRouterIntegrationBrowserTest, MANUAL_CloseOnError) {
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);
- std::string session_id(GetStartedConnectionId(web_contents));
- EXPECT_FALSE(session_id.empty());
+ WebContents* web_contents = StartSessionWithTestPageAndChooseSink();
+ CheckSessionValidity(web_contents);
+ ExecuteJavaScriptAPI(web_contents,
+ kSendMessageAndExpectConnectionCloseOnErrorScript);
+}
+
+IN_PROC_BROWSER_TEST_F(MediaRouterIntegrationBrowserTest,
+ MANUAL_Fail_SendMessage) {
+ WebContents* web_contents = StartSessionWithTestPageAndChooseSink();
+ CheckSessionValidity(web_contents);
+ 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();
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();
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();
+ CheckSessionValidity(web_contents);
std::string session_id(GetStartedConnectionId(web_contents));
// Wait a few seconds for MediaRouter to receive updates containing the
@@ -575,9 +576,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,
@@ -587,54 +587,54 @@ 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 = StartSessionWithTestPageAndSink();
+ GetControllerForShownDialog(web_contents)->HideMediaRouterDialog();
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 = StartSessionWithTestPageNow();
+ GetControllerForShownDialog(web_contents)->HideMediaRouterDialog();
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());
+ WebContents* web_contents = StartSessionWithTestPageNow();
WaitUntilSinkDiscoveredOnUI();
- controller->HideMediaRouterDialog();
+ GetControllerForShownDialog(web_contents)->HideMediaRouterDialog();
CheckStartFailed(web_contents, "NotFoundError", "No screens found.");
}
+void MediaRouterIntegrationIncognitoBrowserTest::InstallAndEnableMRExtension() {
+ const extensions::Extension* extension =
+ LoadExtensionIncognito(extension_unpacked_);
+ incognito_extension_id_ = extension->id();
+}
+
+void MediaRouterIntegrationIncognitoBrowserTest::UninstallMRExtension() {
+ if (!incognito_extension_id_.empty()) {
+ UninstallExtension(incognito_extension_id_);
+ }
+}
+
+Browser* MediaRouterIntegrationIncognitoBrowserTest::browser() {
+ if (!incognito_browser_)
+ incognito_browser_ = CreateIncognitoBrowser();
+ return incognito_browser_;
+}
+
+IN_PROC_BROWSER_TEST_F(MediaRouterIntegrationIncognitoBrowserTest,
+ MANUAL_Basic) {
+ RunBasicTest();
+}
+
+IN_PROC_BROWSER_TEST_F(MediaRouterIntegrationIncognitoBrowserTest,
+ MANUAL_ReconnectSession) {
+ RunReconnectSessionTest();
+}
+
} // namespace media_router
« no previous file with comments | « chrome/test/media_router/media_router_integration_browsertest.h ('k') | chrome/test/media_router/resources/common.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698