Commit 737a81a1 authored by Tatiana Buldina's avatar Tatiana Buldina Committed by Commit Bot

[ChromeDriver] Add support for strictFileInteractability to SendKeysToElement command

Bug: chromedriver:2654
Change-Id: I530297d787c09c3be941c7b69dcd3267d1f71aca
Reviewed-on: https://chromium-review.googlesource.com/c/1356594Reviewed-by: default avatarJohn Chen <johnchen@chromium.org>
Commit-Queue: Tatiana Buldina <buldina@chromium.org>
Cr-Commit-Position: refs/heads/master@{#613153}
parent e27a07a0
......@@ -33,11 +33,10 @@ const int kFlickTouchEventsPerSecond = 30;
namespace {
Status SendKeysToElement(
Status FocusToElement(
Session* session,
WebView* web_view,
const std::string& element_id,
const base::ListValue* key_list) {
const std::string& element_id) {
bool is_displayed = false;
bool is_focused = false;
base::TimeTicks start_time = base::TimeTicks::Now();
......@@ -75,7 +74,17 @@ Status SendKeysToElement(
if (status.IsError())
return status;
}
return Status(kOk);
}
Status SendKeysToElement(
Session* session,
WebView* web_view,
const std::string& element_id,
const base::ListValue* key_list) {
Status status = FocusToElement(session, web_view, element_id);
if (status.IsError())
return status;
return SendKeysOnWindow(web_view, key_list, true, &session->sticky_modifiers);
}
......@@ -342,6 +351,11 @@ Status ExecuteSendKeysToElement(Session* session,
if (status.IsError())
return status;
if (is_input && is_file) {
if (session->strict_file_interactability) {
status = FocusToElement(session, web_view,element_id);
if (status.IsError())
return status;
}
// Compress array into a single string.
base::FilePath::StringType paths_string;
for (size_t i = 0; i < key_list->GetSize(); ++i) {
......
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