Commit ab2f6f83 authored by Tatiana Buldina's avatar Tatiana Buldina Committed by Commit Bot

[ChromeDriver] Add implicit_wait to ExecuteClearElement() method

Bug: chromedriver:1998
Change-Id: I6ae25aaff9bb6a5811fed81c858250f2fbc34472
Reviewed-on: https://chromium-review.googlesource.com/1244615Reviewed-by: default avatarJohn Chen <johnchen@chromium.org>
Commit-Queue: Tatiana Buldina <buldina@chromium.org>
Cr-Commit-Position: refs/heads/master@{#595139}
parent 9ed48269
......@@ -289,6 +289,21 @@ Status ExecuteClearElement(Session* session,
const std::string& element_id,
const base::DictionaryValue& params,
std::unique_ptr<base::Value>* value) {
// Scrolling to element is done by webdriver::atoms::CLEAR
bool is_displayed = false;
base::TimeTicks start_time = base::TimeTicks::Now();
while (true) {
Status status = IsElementDisplayed(
session, web_view, element_id, true, &is_displayed);
if (status.IsError())
return status;
if (is_displayed)
break;
if (base::TimeTicks::Now() - start_time >= session->implicit_wait) {
return Status(kElementNotVisible);
}
base::PlatformThread::Sleep(base::TimeDelta::FromMilliseconds(50));
}
base::ListValue args;
args.Append(CreateElement(element_id));
std::unique_ptr<base::Value> result;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment