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 <set> | 8 #include <set> |
9 | 9 |
10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
11 #include "base/logging.h" | 11 #include "base/logging.h" |
12 #include "base/memory/scoped_vector.h" | 12 #include "base/memory/scoped_vector.h" |
13 #include "base/strings/string_number_conversions.h" | 13 #include "base/strings/string_number_conversions.h" |
14 #include "base/strings/string_util.h" | 14 #include "base/strings/string_util.h" |
15 #include "base/strings/utf_string_conversions.h" | 15 #include "base/strings/utf_string_conversions.h" |
16 #include "build/build_config.h" | 16 #include "build/build_config.h" |
17 #include "components/autofill/core/common/autofill_data_validation.h" | 17 #include "components/autofill/core/common/autofill_data_validation.h" |
18 #include "components/autofill/core/common/autofill_regexes.h" | 18 #include "components/autofill/core/common/autofill_regexes.h" |
19 #include "components/autofill/core/common/autofill_switches.h" | 19 #include "components/autofill/core/common/autofill_switches.h" |
20 #include "components/autofill/core/common/autofill_util.h" | 20 #include "components/autofill/core/common/autofill_util.h" |
21 #include "components/autofill/core/common/form_data.h" | 21 #include "components/autofill/core/common/form_data.h" |
22 #include "components/autofill/core/common/form_field_data.h" | 22 #include "components/autofill/core/common/form_field_data.h" |
| 23 #include "third_party/WebKit/public/platform/URLConversion.h" |
23 #include "third_party/WebKit/public/platform/WebString.h" | 24 #include "third_party/WebKit/public/platform/WebString.h" |
24 #include "third_party/WebKit/public/platform/WebVector.h" | 25 #include "third_party/WebKit/public/platform/WebVector.h" |
25 #include "third_party/WebKit/public/web/WebDocument.h" | 26 #include "third_party/WebKit/public/web/WebDocument.h" |
26 #include "third_party/WebKit/public/web/WebElement.h" | 27 #include "third_party/WebKit/public/web/WebElement.h" |
27 #include "third_party/WebKit/public/web/WebElementCollection.h" | 28 #include "third_party/WebKit/public/web/WebElementCollection.h" |
28 #include "third_party/WebKit/public/web/WebFormControlElement.h" | 29 #include "third_party/WebKit/public/web/WebFormControlElement.h" |
29 #include "third_party/WebKit/public/web/WebFormElement.h" | 30 #include "third_party/WebKit/public/web/WebFormElement.h" |
30 #include "third_party/WebKit/public/web/WebInputElement.h" | 31 #include "third_party/WebKit/public/web/WebInputElement.h" |
31 #include "third_party/WebKit/public/web/WebLabelElement.h" | 32 #include "third_party/WebKit/public/web/WebLabelElement.h" |
32 #include "third_party/WebKit/public/web/WebLocalFrame.h" | 33 #include "third_party/WebKit/public/web/WebLocalFrame.h" |
(...skipping 1379 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1412 if (!frame) | 1413 if (!frame) |
1413 return false; | 1414 return false; |
1414 | 1415 |
1415 form->name = GetFormIdentifier(form_element); | 1416 form->name = GetFormIdentifier(form_element); |
1416 form->origin = GetCanonicalOriginForDocument(frame->document()); | 1417 form->origin = GetCanonicalOriginForDocument(frame->document()); |
1417 form->action = frame->document().completeURL(form_element.action()); | 1418 form->action = frame->document().completeURL(form_element.action()); |
1418 | 1419 |
1419 // If the completed URL is not valid, just use the action we get from | 1420 // If the completed URL is not valid, just use the action we get from |
1420 // WebKit. | 1421 // WebKit. |
1421 if (!form->action.is_valid()) | 1422 if (!form->action.is_valid()) |
1422 form->action = GURL(form_element.action()); | 1423 form->action = GURL(blink::WebStringToGURL(form_element.action())); |
1423 | 1424 |
1424 WebVector<WebFormControlElement> control_elements; | 1425 WebVector<WebFormControlElement> control_elements; |
1425 form_element.getFormControlElements(control_elements); | 1426 form_element.getFormControlElements(control_elements); |
1426 | 1427 |
1427 std::vector<blink::WebElement> dummy_fieldset; | 1428 std::vector<blink::WebElement> dummy_fieldset; |
1428 return FormOrFieldsetsToFormData(&form_element, &form_control_element, | 1429 return FormOrFieldsetsToFormData(&form_element, &form_control_element, |
1429 dummy_fieldset, control_elements, | 1430 dummy_fieldset, control_elements, |
1430 extract_mask, form, field); | 1431 extract_mask, form, field); |
1431 } | 1432 } |
1432 | 1433 |
(...skipping 293 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1726 // Zero selection start is for password manager, which can show usernames | 1727 // Zero selection start is for password manager, which can show usernames |
1727 // that do not begin with the user input value. | 1728 // that do not begin with the user input value. |
1728 selection_start = (offset == base::string16::npos) ? 0 : offset; | 1729 selection_start = (offset == base::string16::npos) ? 0 : offset; |
1729 } | 1730 } |
1730 | 1731 |
1731 input_element->setSelectionRange(selection_start, suggestion.length()); | 1732 input_element->setSelectionRange(selection_start, suggestion.length()); |
1732 } | 1733 } |
1733 | 1734 |
1734 } // namespace form_util | 1735 } // namespace form_util |
1735 } // namespace autofill | 1736 } // namespace autofill |
OLD | NEW |