OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "components/autofill/content/renderer/form_autofill_util.h" | 5 #include "components/autofill/content/renderer/form_autofill_util.h" |
6 | 6 |
7 #include <map> | 7 #include <map> |
8 #include <memory> | 8 #include <memory> |
9 #include <set> | 9 #include <set> |
10 #include <vector> | 10 #include <vector> |
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
102 return node.IsElementNode() && node.ToConst<WebElement>().HasHTMLTagName(tag); | 102 return node.IsElementNode() && node.ToConst<WebElement>().HasHTMLTagName(tag); |
103 } | 103 } |
104 | 104 |
105 bool IsElementInControlElementSet( | 105 bool IsElementInControlElementSet( |
106 const WebElement& element, | 106 const WebElement& element, |
107 const std::vector<WebFormControlElement>& control_elements) { | 107 const std::vector<WebFormControlElement>& control_elements) { |
108 if (!element.IsFormControlElement()) | 108 if (!element.IsFormControlElement()) |
109 return false; | 109 return false; |
110 const WebFormControlElement form_control_element = | 110 const WebFormControlElement form_control_element = |
111 element.ToConst<WebFormControlElement>(); | 111 element.ToConst<WebFormControlElement>(); |
112 return std::find(control_elements.begin(), | 112 return base::ContainsValue(control_elements, form_control_element); |
113 control_elements.end(), | |
114 form_control_element) != control_elements.end(); | |
115 } | 113 } |
116 | 114 |
117 bool IsElementInsideFormOrFieldSet(const WebElement& element) { | 115 bool IsElementInsideFormOrFieldSet(const WebElement& element) { |
118 for (WebNode parent_node = element.ParentNode(); !parent_node.IsNull(); | 116 for (WebNode parent_node = element.ParentNode(); !parent_node.IsNull(); |
119 parent_node = parent_node.ParentNode()) { | 117 parent_node = parent_node.ParentNode()) { |
120 if (!parent_node.IsElementNode()) | 118 if (!parent_node.IsElementNode()) |
121 continue; | 119 continue; |
122 | 120 |
123 WebElement cur_element = parent_node.To<WebElement>(); | 121 WebElement cur_element = parent_node.To<WebElement>(); |
124 if (cur_element.HasHTMLTagName("form") || | 122 if (cur_element.HasHTMLTagName("form") || |
(...skipping 1678 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1803 // Zero selection start is for password manager, which can show usernames | 1801 // Zero selection start is for password manager, which can show usernames |
1804 // that do not begin with the user input value. | 1802 // that do not begin with the user input value. |
1805 selection_start = (offset == base::string16::npos) ? 0 : offset; | 1803 selection_start = (offset == base::string16::npos) ? 0 : offset; |
1806 } | 1804 } |
1807 | 1805 |
1808 input_element->SetSelectionRange(selection_start, suggestion.length()); | 1806 input_element->SetSelectionRange(selection_start, suggestion.length()); |
1809 } | 1807 } |
1810 | 1808 |
1811 } // namespace form_util | 1809 } // namespace form_util |
1812 } // namespace autofill | 1810 } // namespace autofill |
OLD | NEW |