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/core/browser/autofill_manager.h" | 5 #include "components/autofill/core/browser/autofill_manager.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 #include <stdint.h> | 8 #include <stdint.h> |
9 | 9 |
10 #include <algorithm> | 10 #include <algorithm> |
(...skipping 694 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
705 | 705 |
706 if (is_new_popup) { | 706 if (is_new_popup) { |
707 AutofillMetrics::LogUserHappinessMetric(AutofillMetrics::SUGGESTIONS_SHOWN); | 707 AutofillMetrics::LogUserHappinessMetric(AutofillMetrics::SUGGESTIONS_SHOWN); |
708 | 708 |
709 if (!did_show_suggestions_) { | 709 if (!did_show_suggestions_) { |
710 did_show_suggestions_ = true; | 710 did_show_suggestions_ = true; |
711 AutofillMetrics::LogUserHappinessMetric( | 711 AutofillMetrics::LogUserHappinessMetric( |
712 AutofillMetrics::SUGGESTIONS_SHOWN_ONCE); | 712 AutofillMetrics::SUGGESTIONS_SHOWN_ONCE); |
713 } | 713 } |
714 | 714 |
715 if (autofill_field->Type().group() == CREDIT_CARD) | 715 if (autofill_field->Type().group() == CREDIT_CARD) { |
716 credit_card_form_event_logger_->OnDidShowSuggestions(); | 716 credit_card_form_event_logger_->OnDidShowSuggestions(); |
717 else | 717 } else { |
718 address_form_event_logger_->OnDidShowSuggestions(); | 718 address_form_event_logger_->OnDidShowSuggestions(); |
| 719 } |
719 } | 720 } |
720 } | 721 } |
721 | 722 |
722 void AutofillManager::OnHidePopup() { | 723 void AutofillManager::OnHidePopup() { |
723 if (!IsAutofillEnabled()) | 724 if (!IsAutofillEnabled()) |
724 return; | 725 return; |
725 | 726 |
726 autocomplete_history_manager_->CancelPendingQuery(); | 727 autocomplete_history_manager_->CancelPendingQuery(); |
727 client_->HideAutofillPopup(); | 728 client_->HideAutofillPopup(); |
728 } | 729 } |
(...skipping 910 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1639 std::vector<FormStructure*> forms(1, *updated_form); | 1640 std::vector<FormStructure*> forms(1, *updated_form); |
1640 driver_->SendAutofillTypePredictionsToRenderer(forms); | 1641 driver_->SendAutofillTypePredictionsToRenderer(forms); |
1641 | 1642 |
1642 return true; | 1643 return true; |
1643 } | 1644 } |
1644 | 1645 |
1645 std::vector<Suggestion> AutofillManager::GetProfileSuggestions( | 1646 std::vector<Suggestion> AutofillManager::GetProfileSuggestions( |
1646 const FormStructure& form, | 1647 const FormStructure& form, |
1647 const FormFieldData& field, | 1648 const FormFieldData& field, |
1648 const AutofillField& autofill_field) const { | 1649 const AutofillField& autofill_field) const { |
| 1650 address_form_event_logger_->OnDidPollSuggestions(); |
| 1651 |
1649 std::vector<ServerFieldType> field_types(form.field_count()); | 1652 std::vector<ServerFieldType> field_types(form.field_count()); |
1650 for (size_t i = 0; i < form.field_count(); ++i) { | 1653 for (size_t i = 0; i < form.field_count(); ++i) { |
1651 field_types.push_back(form.field(i)->Type().GetStorableType()); | 1654 field_types.push_back(form.field(i)->Type().GetStorableType()); |
1652 } | 1655 } |
1653 | 1656 |
1654 std::vector<Suggestion> suggestions = personal_data_->GetProfileSuggestions( | 1657 std::vector<Suggestion> suggestions = personal_data_->GetProfileSuggestions( |
1655 autofill_field.Type(), field.value, field.is_autofilled, field_types); | 1658 autofill_field.Type(), field.value, field.is_autofilled, field_types); |
1656 | 1659 |
1657 // Adjust phone number to display in prefix/suffix case. | 1660 // Adjust phone number to display in prefix/suffix case. |
1658 if (autofill_field.Type().GetStorableType() == PHONE_HOME_NUMBER) { | 1661 if (autofill_field.Type().GetStorableType() == PHONE_HOME_NUMBER) { |
1659 for (size_t i = 0; i < suggestions.size(); ++i) { | 1662 for (size_t i = 0; i < suggestions.size(); ++i) { |
1660 suggestions[i].value = AutofillField::GetPhoneNumberValue( | 1663 suggestions[i].value = AutofillField::GetPhoneNumberValue( |
1661 autofill_field, suggestions[i].value, field); | 1664 autofill_field, suggestions[i].value, field); |
1662 } | 1665 } |
1663 } | 1666 } |
1664 | 1667 |
1665 for (size_t i = 0; i < suggestions.size(); ++i) { | 1668 for (size_t i = 0; i < suggestions.size(); ++i) { |
1666 suggestions[i].frontend_id = | 1669 suggestions[i].frontend_id = |
1667 MakeFrontendID(std::string(), suggestions[i].backend_id); | 1670 MakeFrontendID(std::string(), suggestions[i].backend_id); |
1668 } | 1671 } |
1669 return suggestions; | 1672 return suggestions; |
1670 } | 1673 } |
1671 | 1674 |
1672 std::vector<Suggestion> AutofillManager::GetCreditCardSuggestions( | 1675 std::vector<Suggestion> AutofillManager::GetCreditCardSuggestions( |
1673 const FormFieldData& field, | 1676 const FormFieldData& field, |
1674 const AutofillType& type) const { | 1677 const AutofillType& type) const { |
| 1678 credit_card_form_event_logger_->OnDidPollSuggestions(); |
| 1679 |
1675 // The field value is sanitized before attempting to match it to the user's | 1680 // The field value is sanitized before attempting to match it to the user's |
1676 // data. | 1681 // data. |
1677 std::vector<Suggestion> suggestions = | 1682 std::vector<Suggestion> suggestions = |
1678 personal_data_->GetCreditCardSuggestions( | 1683 personal_data_->GetCreditCardSuggestions( |
1679 type, SanitizeCreditCardFieldValue(field.value)); | 1684 type, SanitizeCreditCardFieldValue(field.value)); |
1680 for (size_t i = 0; i < suggestions.size(); i++) { | 1685 for (size_t i = 0; i < suggestions.size(); i++) { |
1681 suggestions[i].frontend_id = | 1686 suggestions[i].frontend_id = |
1682 MakeFrontendID(suggestions[i].backend_id, std::string()); | 1687 MakeFrontendID(suggestions[i].backend_id, std::string()); |
1683 } | 1688 } |
1684 return suggestions; | 1689 return suggestions; |
(...skipping 313 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1998 if (i > 0) | 2003 if (i > 0) |
1999 fputs("Next oldest form:\n", file); | 2004 fputs("Next oldest form:\n", file); |
2000 } | 2005 } |
2001 fputs("\n", file); | 2006 fputs("\n", file); |
2002 | 2007 |
2003 fclose(file); | 2008 fclose(file); |
2004 } | 2009 } |
2005 #endif // ENABLE_FORM_DEBUG_DUMP | 2010 #endif // ENABLE_FORM_DEBUG_DUMP |
2006 | 2011 |
2007 } // namespace autofill | 2012 } // namespace autofill |
OLD | NEW |