| 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 5ca641e2fbd68d1ef5ab386bc393f09a7ed135f7..d9a826510c65ae179654d548cf479c5a20a54af1 100644
|
| --- a/chrome/test/remoting/remote_desktop_browsertest.cc
|
| +++ b/chrome/test/remoting/remote_desktop_browsertest.cc
|
| @@ -707,12 +707,19 @@ void RemoteDesktopBrowserTest::RunJavaScriptTest(
|
| void RemoteDesktopBrowserTest::ClickOnControl(const std::string& name) {
|
| ASSERT_TRUE(HtmlElementVisible(name));
|
|
|
| - ConditionalTimeoutWaiter waiter(
|
| - base::TimeDelta::FromSeconds(5),
|
| - base::TimeDelta::FromMilliseconds(500),
|
| - base::Bind(&RemoteDesktopBrowserTest::IsEnabled,
|
| - active_web_contents(), name));
|
| - ASSERT_TRUE(waiter.Wait());
|
| + std::string has_disabled_attribute =
|
| + "document.getElementById('" + name + "').hasAttribute('disabled')";
|
| +
|
| + if (ExecuteScriptAndExtractBool(active_web_contents(),
|
| + has_disabled_attribute)) {
|
| + // This element has a disabled attribute. Wait for it become enabled.
|
| + ConditionalTimeoutWaiter waiter(
|
| + base::TimeDelta::FromSeconds(5),
|
| + base::TimeDelta::FromMilliseconds(500),
|
| + base::Bind(&RemoteDesktopBrowserTest::IsEnabled,
|
| + active_web_contents(), name));
|
| + ASSERT_TRUE(waiter.Wait());
|
| + }
|
|
|
| ExecuteScript("document.getElementById(\"" + name + "\").click();");
|
| }
|
|
|