Chromium Code Reviews| Index: chrome/test/remoting/remote_desktop_browsertest.cc |
| diff --git a/chrome/test/remoting/remote_desktop_browsertest.cc b/chrome/test/remoting/remote_desktop_browsertest.cc |
| index a18778a990d5598c1717992faba72e710ac70232..c369eea1e86e2398b5100aa4c831f9825876b338 100644 |
| --- a/chrome/test/remoting/remote_desktop_browsertest.cc |
| +++ b/chrome/test/remoting/remote_desktop_browsertest.cc |
| @@ -166,7 +166,9 @@ void RemoteDesktopBrowserTest::VerifyChromotingLoaded(bool expected) { |
| ASSERT_EQ(installed, expected); |
| } |
| -void RemoteDesktopBrowserTest::LaunchChromotingApp(bool defer_start) { |
| +void RemoteDesktopBrowserTest::LaunchChromotingApp( |
| + bool defer_start, |
| + WindowOpenDisposition opt_window_open_disposition) { |
| ASSERT_TRUE(extension_); |
| GURL chromoting_main = Chromoting_Main_URL(); |
| @@ -187,7 +189,7 @@ void RemoteDesktopBrowserTest::LaunchChromotingApp(bool defer_start) { |
| is_platform_app() |
| ? extensions::LAUNCH_CONTAINER_NONE |
| : extensions::LAUNCH_CONTAINER_TAB, |
| - is_platform_app() ? NEW_WINDOW : CURRENT_TAB, |
| + opt_window_open_disposition, |
| extensions::SOURCE_TEST)); |
| observer.Wait(); |
| @@ -218,6 +220,11 @@ void RemoteDesktopBrowserTest::LaunchChromotingApp(bool defer_start) { |
| EXPECT_EQ(Chromoting_Main_URL(), GetCurrentURL()); |
| } |
| +void RemoteDesktopBrowserTest::LaunchChromotingApp(bool defer_start) { |
| + LaunchChromotingApp(defer_start, |
| + is_platform_app() ? NEW_WINDOW : CURRENT_TAB); |
| +} |
| + |
| void RemoteDesktopBrowserTest::StartChromotingApp() { |
| ClickOnControl("browser-test-continue-init"); |
| }; |
| @@ -717,11 +724,11 @@ bool RemoteDesktopBrowserTest::LoadScript( |
| return content::ExecuteScript(web_contents, script); |
| } |
| -// static |
| void RemoteDesktopBrowserTest::RunJavaScriptTest( |
| content::WebContents* web_contents, |
| const std::string& testName, |
| - const std::string& testData) { |
| + const std::string& testData, |
| + base::Value** opt_return_value) { |
| std::string result; |
| std::string script = "browserTest.runTest(browserTest." + testName + ", " + |
| testData + ");"; |
| @@ -737,7 +744,7 @@ void RemoteDesktopBrowserTest::RunJavaScriptTest( |
| value.reset(reader.Read(result, base::JSON_ALLOW_TRAILING_COMMAS)); |
| // Convert to dictionary |
| - base::DictionaryValue* dict_value = NULL; |
| + base::DictionaryValue* dict_value = nullptr; |
| ASSERT_TRUE(value->GetAsDictionary(&dict_value)); |
| bool succeeded; |
| @@ -750,8 +757,26 @@ void RemoteDesktopBrowserTest::RunJavaScriptTest( |
| ASSERT_TRUE(dict_value->GetString("stack_trace", &stack_trace)); |
| EXPECT_TRUE(succeeded) << error_message << "\n" << stack_trace; |
| + |
| + base::Value* return_value = nullptr; |
| + if (dict_value->Get("value", &return_value) && return_value != nullptr) { |
| + ASSERT_EQ(*opt_return_value, nullptr); |
| + *opt_return_value = return_value->DeepCopy(); |
| + } |
| } |
| +void RemoteDesktopBrowserTest::RunJavaScriptTest( |
| + content::WebContents* web_contents, |
| + const std::string& testName, |
| + const std::string& testData) { |
| + base::Value* return_value = nullptr; |
| + RunJavaScriptTest(web_contents, testName, testData, &return_value); |
| + if (return_value != nullptr) { |
| + delete return_value; |
|
Jamie
2015/01/06 22:18:51
No need to test for null before deleting. Better s
kelvinp
2015/01/09 22:21:30
Done.
|
| + } |
| +}; |
| + |
| + |
| void RemoteDesktopBrowserTest::ClickOnControl(const std::string& name) { |
| ASSERT_TRUE(HtmlElementVisible(name)); |