| 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/autofill_agent.h" | 5 #include "components/autofill/content/renderer/autofill_agent.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/command_line.h" | 8 #include "base/command_line.h" |
| 9 #include "base/message_loop/message_loop.h" | 9 #include "base/message_loop/message_loop.h" |
| 10 #include "base/strings/string_split.h" | 10 #include "base/strings/string_split.h" |
| (...skipping 16 matching lines...) Expand all Loading... |
| 27 #include "content/public/common/content_switches.h" | 27 #include "content/public/common/content_switches.h" |
| 28 #include "content/public/common/ssl_status.h" | 28 #include "content/public/common/ssl_status.h" |
| 29 #include "content/public/common/url_constants.h" | 29 #include "content/public/common/url_constants.h" |
| 30 #include "content/public/renderer/render_view.h" | 30 #include "content/public/renderer/render_view.h" |
| 31 #include "grit/component_strings.h" | 31 #include "grit/component_strings.h" |
| 32 #include "net/cert/cert_status_flags.h" | 32 #include "net/cert/cert_status_flags.h" |
| 33 #include "third_party/WebKit/public/platform/WebRect.h" | 33 #include "third_party/WebKit/public/platform/WebRect.h" |
| 34 #include "third_party/WebKit/public/platform/WebURLRequest.h" | 34 #include "third_party/WebKit/public/platform/WebURLRequest.h" |
| 35 #include "third_party/WebKit/public/web/WebDataSource.h" | 35 #include "third_party/WebKit/public/web/WebDataSource.h" |
| 36 #include "third_party/WebKit/public/web/WebDocument.h" | 36 #include "third_party/WebKit/public/web/WebDocument.h" |
| 37 #include "third_party/WebKit/public/web/WebElementCollection.h" |
| 37 #include "third_party/WebKit/public/web/WebFormControlElement.h" | 38 #include "third_party/WebKit/public/web/WebFormControlElement.h" |
| 38 #include "third_party/WebKit/public/web/WebFormElement.h" | 39 #include "third_party/WebKit/public/web/WebFormElement.h" |
| 39 #include "third_party/WebKit/public/web/WebFrame.h" | 40 #include "third_party/WebKit/public/web/WebFrame.h" |
| 40 #include "third_party/WebKit/public/web/WebInputEvent.h" | 41 #include "third_party/WebKit/public/web/WebInputEvent.h" |
| 41 #include "third_party/WebKit/public/web/WebNode.h" | 42 #include "third_party/WebKit/public/web/WebNode.h" |
| 42 #include "third_party/WebKit/public/web/WebNodeCollection.h" | |
| 43 #include "third_party/WebKit/public/web/WebOptionElement.h" | 43 #include "third_party/WebKit/public/web/WebOptionElement.h" |
| 44 #include "third_party/WebKit/public/web/WebView.h" | 44 #include "third_party/WebKit/public/web/WebView.h" |
| 45 #include "ui/base/l10n/l10n_util.h" | 45 #include "ui/base/l10n/l10n_util.h" |
| 46 #include "ui/events/keycodes/keyboard_codes.h" | 46 #include "ui/events/keycodes/keyboard_codes.h" |
| 47 | 47 |
| 48 using blink::WebAutofillClient; | 48 using blink::WebAutofillClient; |
| 49 using blink::WebFormControlElement; | 49 using blink::WebFormControlElement; |
| 50 using blink::WebFormElement; | 50 using blink::WebFormElement; |
| 51 using blink::WebFrame; | 51 using blink::WebFrame; |
| 52 using blink::WebInputElement; | 52 using blink::WebInputElement; |
| 53 using blink::WebKeyboardEvent; | 53 using blink::WebKeyboardEvent; |
| 54 using blink::WebNode; | 54 using blink::WebNode; |
| 55 using blink::WebNodeCollection; | 55 using blink::WebElementCollection; |
| 56 using blink::WebOptionElement; | 56 using blink::WebOptionElement; |
| 57 using blink::WebString; | 57 using blink::WebString; |
| 58 | 58 |
| 59 namespace autofill { | 59 namespace autofill { |
| 60 | 60 |
| 61 namespace { | 61 namespace { |
| 62 | 62 |
| 63 // Gets all the data list values (with corresponding label) for the given | 63 // Gets all the data list values (with corresponding label) for the given |
| 64 // element. | 64 // element. |
| 65 void GetDataListSuggestions(const blink::WebInputElement& element, | 65 void GetDataListSuggestions(const blink::WebInputElement& element, |
| 66 bool ignore_current_value, | 66 bool ignore_current_value, |
| 67 std::vector<base::string16>* values, | 67 std::vector<base::string16>* values, |
| 68 std::vector<base::string16>* labels) { | 68 std::vector<base::string16>* labels) { |
| 69 WebNodeCollection options = element.dataListOptions(); | 69 WebElementCollection options = element.dataListOptions(); |
| 70 if (options.isNull()) | 70 if (options.isNull()) |
| 71 return; | 71 return; |
| 72 | 72 |
| 73 base::string16 prefix; | 73 base::string16 prefix; |
| 74 if (!ignore_current_value) { | 74 if (!ignore_current_value) { |
| 75 prefix = element.editingValue(); | 75 prefix = element.editingValue(); |
| 76 if (element.isMultiple() && | 76 if (element.isMultiple() && |
| 77 element.formControlType() == WebString::fromUTF8("email")) { | 77 element.formControlType() == WebString::fromUTF8("email")) { |
| 78 std::vector<base::string16> parts; | 78 std::vector<base::string16> parts; |
| 79 base::SplitStringDontTrim(prefix, ',', &parts); | 79 base::SplitStringDontTrim(prefix, ',', &parts); |
| (...skipping 550 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 630 // Only monitors dynamic forms created in the top frame. Dynamic forms | 630 // Only monitors dynamic forms created in the top frame. Dynamic forms |
| 631 // inserted in iframes are not captured yet. | 631 // inserted in iframes are not captured yet. |
| 632 if (!frame->parent()) { | 632 if (!frame->parent()) { |
| 633 password_autofill_agent_->OnDynamicFormsSeen(frame); | 633 password_autofill_agent_->OnDynamicFormsSeen(frame); |
| 634 return; | 634 return; |
| 635 } | 635 } |
| 636 } | 636 } |
| 637 } | 637 } |
| 638 | 638 |
| 639 } // namespace autofill | 639 } // namespace autofill |
| OLD | NEW |