| 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 710 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 721 node->setSelectionRange(node->value().length(), | 721 node->setSelectionRange(node->value().length(), |
| 722 node->suggestedValue().length()); | 722 node->suggestedValue().length()); |
| 723 } | 723 } |
| 724 | 724 |
| 725 void AutofillAgent::ProcessForms() { | 725 void AutofillAgent::ProcessForms() { |
| 726 // Record timestamp of when the forms are first seen. This is used to | 726 // Record timestamp of when the forms are first seen. This is used to |
| 727 // measure the overhead of the Autofill feature. | 727 // measure the overhead of the Autofill feature. |
| 728 base::TimeTicks forms_seen_timestamp = base::TimeTicks::Now(); | 728 base::TimeTicks forms_seen_timestamp = base::TimeTicks::Now(); |
| 729 | 729 |
| 730 WebLocalFrame* frame = render_frame()->GetWebFrame(); | 730 WebLocalFrame* frame = render_frame()->GetWebFrame(); |
| 731 std::vector<FormData> forms = form_cache_.ExtractNewForms(); | 731 size_t unowned_form_index; |
| 732 std::vector<FormData> forms = |
| 733 form_cache_.ExtractNewForms(&unowned_form_index); |
| 732 | 734 |
| 733 // Always communicate to browser process for topmost frame. | 735 // Always communicate to browser process for topmost frame. |
| 734 if (!forms.empty() || !frame->parent()) { | 736 if (!forms.empty() || !frame->parent()) { |
| 735 Send(new AutofillHostMsg_FormsSeen(routing_id(), forms, | 737 Send(new AutofillHostMsg_FormsSeen(routing_id(), forms, unowned_form_index, |
| 736 forms_seen_timestamp)); | 738 forms_seen_timestamp)); |
| 737 } | 739 } |
| 738 } | 740 } |
| 739 | 741 |
| 740 void AutofillAgent::HidePopup() { | 742 void AutofillAgent::HidePopup() { |
| 741 if (!is_popup_possibly_visible_) | 743 if (!is_popup_possibly_visible_) |
| 742 return; | 744 return; |
| 743 | 745 |
| 744 if (!element_.isNull()) | 746 if (!element_.isNull()) |
| 745 OnClearPreviewedForm(); | 747 OnClearPreviewedForm(); |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 783 void AutofillAgent::LegacyAutofillAgent::FocusedNodeChanged( | 785 void AutofillAgent::LegacyAutofillAgent::FocusedNodeChanged( |
| 784 const WebNode& node) { | 786 const WebNode& node) { |
| 785 agent_->FocusedNodeChanged(node); | 787 agent_->FocusedNodeChanged(node); |
| 786 } | 788 } |
| 787 | 789 |
| 788 void AutofillAgent::LegacyAutofillAgent::Resized() { | 790 void AutofillAgent::LegacyAutofillAgent::Resized() { |
| 789 agent_->Resized(); | 791 agent_->Resized(); |
| 790 } | 792 } |
| 791 | 793 |
| 792 } // namespace autofill | 794 } // namespace autofill |
| OLD | NEW |