OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "chrome/browser/autofill/autofill_manager.h" | 5 #include "chrome/browser/autofill/autofill_manager.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 | 8 |
9 #include <limits> | 9 #include <limits> |
10 #include <map> | 10 #include <map> |
(...skipping 567 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
578 FillCreditCardFormField(*credit_card, field_type, &(*iter)); | 578 FillCreditCardFormField(*credit_card, field_type, &(*iter)); |
579 } | 579 } |
580 | 580 |
581 // Mark the cached field as autofilled, so that we can detect when a | 581 // Mark the cached field as autofilled, so that we can detect when a |
582 // user edits an autofilled field (for metrics). | 582 // user edits an autofilled field (for metrics). |
583 autofill_field->is_autofilled = true; | 583 autofill_field->is_autofilled = true; |
584 break; | 584 break; |
585 } | 585 } |
586 } | 586 } |
587 | 587 |
588 host->Send(new AutofillMsg_FormDataFilled(host->routing_id(), query_id, | 588 host->Send(new AutofillMsg_FormDataFilled(host->GetRoutingID(), query_id, |
589 result)); | 589 result)); |
590 return; | 590 return; |
591 } | 591 } |
592 | 592 |
593 // Cache the field type for the field from which the user initiated autofill. | 593 // Cache the field type for the field from which the user initiated autofill. |
594 FieldTypeGroup initiating_group_type = | 594 FieldTypeGroup initiating_group_type = |
595 AutofillType(autofill_field->type()).group(); | 595 AutofillType(autofill_field->type()).group(); |
596 DCHECK_EQ(form_structure->field_count(), form.fields.size()); | 596 DCHECK_EQ(form_structure->field_count(), form.fields.size()); |
597 for (size_t i = 0; i < form_structure->field_count(); ++i) { | 597 for (size_t i = 0; i < form_structure->field_count(); ++i) { |
598 if (form_structure->field(i)->section() != autofill_field->section()) | 598 if (form_structure->field(i)->section() != autofill_field->section()) |
(...skipping 29 matching lines...) Expand all Loading... |
628 } | 628 } |
629 } | 629 } |
630 | 630 |
631 autofilled_form_signatures_.push_front(form_structure->FormSignature()); | 631 autofilled_form_signatures_.push_front(form_structure->FormSignature()); |
632 // Only remember the last few forms that we've seen, both to avoid false | 632 // Only remember the last few forms that we've seen, both to avoid false |
633 // positives and to avoid wasting memory. | 633 // positives and to avoid wasting memory. |
634 if (autofilled_form_signatures_.size() > kMaxRecentFormSignaturesToRemember) | 634 if (autofilled_form_signatures_.size() > kMaxRecentFormSignaturesToRemember) |
635 autofilled_form_signatures_.pop_back(); | 635 autofilled_form_signatures_.pop_back(); |
636 | 636 |
637 host->Send(new AutofillMsg_FormDataFilled( | 637 host->Send(new AutofillMsg_FormDataFilled( |
638 host->routing_id(), query_id, result)); | 638 host->GetRoutingID(), query_id, result)); |
639 } | 639 } |
640 | 640 |
641 void AutofillManager::OnShowAutofillDialog() { | 641 void AutofillManager::OnShowAutofillDialog() { |
642 Browser* browser = BrowserList::GetLastActiveWithProfile( | 642 Browser* browser = BrowserList::GetLastActiveWithProfile( |
643 Profile::FromBrowserContext(web_contents()->GetBrowserContext())); | 643 Profile::FromBrowserContext(web_contents()->GetBrowserContext())); |
644 if (browser) | 644 if (browser) |
645 browser->ShowOptionsTab(chrome::kAutofillSubPage); | 645 browser->ShowOptionsTab(chrome::kAutofillSubPage); |
646 } | 646 } |
647 | 647 |
648 void AutofillManager::OnDidPreviewAutofillFormData() { | 648 void AutofillManager::OnDidPreviewAutofillFormData() { |
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
717 if (!CommandLine::ForCurrentProcess()->HasSwitch( | 717 if (!CommandLine::ForCurrentProcess()->HasSwitch( |
718 switches::kShowAutofillTypePredictions)) | 718 switches::kShowAutofillTypePredictions)) |
719 return; | 719 return; |
720 | 720 |
721 RenderViewHost* host = web_contents()->GetRenderViewHost(); | 721 RenderViewHost* host = web_contents()->GetRenderViewHost(); |
722 if (!host) | 722 if (!host) |
723 return; | 723 return; |
724 | 724 |
725 std::vector<FormDataPredictions> type_predictions; | 725 std::vector<FormDataPredictions> type_predictions; |
726 FormStructure::GetFieldTypePredictions(forms, &type_predictions); | 726 FormStructure::GetFieldTypePredictions(forms, &type_predictions); |
727 host->Send(new AutofillMsg_FieldTypePredictionsAvailable(host->routing_id(), | 727 host->Send( |
728 type_predictions)); | 728 new AutofillMsg_FieldTypePredictionsAvailable(host->GetRoutingID(), |
| 729 type_predictions)); |
729 } | 730 } |
730 | 731 |
731 void AutofillManager::ImportFormData(const FormStructure& submitted_form) { | 732 void AutofillManager::ImportFormData(const FormStructure& submitted_form) { |
732 const CreditCard* imported_credit_card; | 733 const CreditCard* imported_credit_card; |
733 if (!personal_data_->ImportFormData(submitted_form, &imported_credit_card)) | 734 if (!personal_data_->ImportFormData(submitted_form, &imported_credit_card)) |
734 return; | 735 return; |
735 | 736 |
736 // If credit card information was submitted, show an infobar to offer to save | 737 // If credit card information was submitted, show an infobar to offer to save |
737 // it. | 738 // it. |
738 scoped_ptr<const CreditCard> scoped_credit_card(imported_credit_card); | 739 scoped_ptr<const CreditCard> scoped_credit_card(imported_credit_card); |
(...skipping 560 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1299 *profile_guid = IDToGUID(profile_id); | 1300 *profile_guid = IDToGUID(profile_id); |
1300 } | 1301 } |
1301 | 1302 |
1302 void AutofillManager::UpdateInitialInteractionTimestamp( | 1303 void AutofillManager::UpdateInitialInteractionTimestamp( |
1303 const TimeTicks& interaction_timestamp) { | 1304 const TimeTicks& interaction_timestamp) { |
1304 if (initial_interaction_timestamp_.is_null() || | 1305 if (initial_interaction_timestamp_.is_null() || |
1305 interaction_timestamp < initial_interaction_timestamp_) { | 1306 interaction_timestamp < initial_interaction_timestamp_) { |
1306 initial_interaction_timestamp_ = interaction_timestamp; | 1307 initial_interaction_timestamp_ = interaction_timestamp; |
1307 } | 1308 } |
1308 } | 1309 } |
OLD | NEW |