Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(69)

Side by Side Diff: components/autofill/core/browser/autofill_manager.cc

Issue 869003003: Add RealPanWalletClient for handling card unmasking requests. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: formatting Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 8
9 #include <limits> 9 #include <limits>
10 #include <map> 10 #include <map>
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after
138 138
139 } // namespace 139 } // namespace
140 140
141 AutofillManager::AutofillManager( 141 AutofillManager::AutofillManager(
142 AutofillDriver* driver, 142 AutofillDriver* driver,
143 AutofillClient* client, 143 AutofillClient* client,
144 const std::string& app_locale, 144 const std::string& app_locale,
145 AutofillDownloadManagerState enable_download_manager) 145 AutofillDownloadManagerState enable_download_manager)
146 : driver_(driver), 146 : driver_(driver),
147 client_(client), 147 client_(client),
148 real_pan_client_(driver->GetURLRequestContext(), this),
148 app_locale_(app_locale), 149 app_locale_(app_locale),
149 personal_data_(client->GetPersonalDataManager()), 150 personal_data_(client->GetPersonalDataManager()),
150 autocomplete_history_manager_( 151 autocomplete_history_manager_(
151 new AutocompleteHistoryManager(driver, client)), 152 new AutocompleteHistoryManager(driver, client)),
152 has_logged_autofill_enabled_(false), 153 has_logged_autofill_enabled_(false),
153 has_logged_address_suggestions_count_(false), 154 has_logged_address_suggestions_count_(false),
154 did_show_suggestions_(false), 155 did_show_suggestions_(false),
155 user_did_type_(false), 156 user_did_type_(false),
156 user_did_autofill_(false), 157 user_did_autofill_(false),
157 user_did_edit_autofilled_field_(false), 158 user_did_edit_autofilled_field_(false),
(...skipping 516 matching lines...) Expand 10 before | Expand all | Expand 10 after
674 675
675 // Forward form structures to the password generation manager to detect 676 // Forward form structures to the password generation manager to detect
676 // account creation forms. 677 // account creation forms.
677 driver_->DetectAccountCreationForms(form_structures_.get()); 678 driver_->DetectAccountCreationForms(form_structures_.get());
678 679
679 // If the corresponding flag is set, annotate forms with the predicted types. 680 // If the corresponding flag is set, annotate forms with the predicted types.
680 driver_->SendAutofillTypePredictionsToRenderer(form_structures_.get()); 681 driver_->SendAutofillTypePredictionsToRenderer(form_structures_.get());
681 } 682 }
682 683
683 void AutofillManager::OnUnmaskResponse(const base::string16& cvc) { 684 void AutofillManager::OnUnmaskResponse(const base::string16& cvc) {
685 // Most of this function is demo code. The real code should look something
686 // like:
687 // real_pan_client_.UnmaskCard(unmasking_card_, cvc);
688
684 unmasking_cvc_ = cvc; 689 unmasking_cvc_ = cvc;
685 // TODO(estade): fake verification: assume 123/1234 is the correct cvc. 690 // TODO(estade): fake verification: assume 123/1234 is the correct cvc.
686 if (StartsWithASCII(base::UTF16ToASCII(cvc), "123", true)) { 691 if (StartsWithASCII(base::UTF16ToASCII(cvc), "123", true)) {
687 base::MessageLoop::current()->PostDelayedTask( 692 base::MessageLoop::current()->PostDelayedTask(
688 FROM_HERE, base::Bind(&AutofillManager::OnUnmaskVerificationResult, 693 FROM_HERE, base::Bind(&AutofillManager::OnUnmaskVerificationResult,
689 base::Unretained(this), true), 694 base::Unretained(this), true),
690 base::TimeDelta::FromSeconds(2)); 695 base::TimeDelta::FromSeconds(2));
691 } else { 696 } else {
692 base::MessageLoop::current()->PostDelayedTask( 697 base::MessageLoop::current()->PostDelayedTask(
693 FROM_HERE, base::Bind(&AutofillManager::OnUnmaskVerificationResult, 698 FROM_HERE, base::Bind(&AutofillManager::OnUnmaskVerificationResult,
694 base::Unretained(this), false), 699 base::Unretained(this), false),
695 base::TimeDelta::FromSeconds(2)); 700 base::TimeDelta::FromSeconds(2));
696 } 701 }
697 } 702 }
698 703
699 void AutofillManager::OnUnmaskPromptClosed() { 704 void AutofillManager::OnUnmaskPromptClosed() {
705 real_pan_client_.CancelRequest();
700 driver_->RendererShouldClearPreviewedForm(); 706 driver_->RendererShouldClearPreviewedForm();
701 unmasking_card_ = CreditCard(); 707 unmasking_card_ = CreditCard();
702 unmasking_cvc_.clear(); 708 unmasking_cvc_.clear();
703 } 709 }
704 710
711 void AutofillManager::OnDidGetRealPan(const std::string& real_pan) {
712 NOTIMPLEMENTED();
713 }
714
715 std::string AutofillManager::GetOAuth2Token() {
716 NOTIMPLEMENTED();
717 return "would_I_lie_to_you?";
718 }
719
705 void AutofillManager::OnUnmaskVerificationResult(bool success) { 720 void AutofillManager::OnUnmaskVerificationResult(bool success) {
706 if (success) { 721 if (success) {
707 unmasking_card_.set_record_type(CreditCard::FULL_SERVER_CARD); 722 unmasking_card_.set_record_type(CreditCard::FULL_SERVER_CARD);
708 if (unmasking_card_.type() == kAmericanExpressCard) { 723 if (unmasking_card_.type() == kAmericanExpressCard) {
709 unmasking_card_.SetNumber(base::ASCIIToUTF16("371449635398431")); 724 unmasking_card_.SetNumber(base::ASCIIToUTF16("371449635398431"));
710 } else { 725 } else {
711 DCHECK_EQ(kDiscoverCard, unmasking_card_.type()); 726 DCHECK_EQ(kDiscoverCard, unmasking_card_.type());
712 unmasking_card_.SetNumber(base::ASCIIToUTF16("6011000990139424")); 727 unmasking_card_.SetNumber(base::ASCIIToUTF16("6011000990139424"));
713 } 728 }
714 personal_data_->UpdateServerCreditCard(unmasking_card_); 729 personal_data_->UpdateServerCreditCard(unmasking_card_);
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after
840 forms_loaded_timestamps_.clear(); 855 forms_loaded_timestamps_.clear();
841 initial_interaction_timestamp_ = TimeTicks(); 856 initial_interaction_timestamp_ = TimeTicks();
842 external_delegate_->Reset(); 857 external_delegate_->Reset();
843 } 858 }
844 859
845 AutofillManager::AutofillManager(AutofillDriver* driver, 860 AutofillManager::AutofillManager(AutofillDriver* driver,
846 AutofillClient* client, 861 AutofillClient* client,
847 PersonalDataManager* personal_data) 862 PersonalDataManager* personal_data)
848 : driver_(driver), 863 : driver_(driver),
849 client_(client), 864 client_(client),
865 real_pan_client_(driver->GetURLRequestContext(), this),
850 app_locale_("en-US"), 866 app_locale_("en-US"),
851 personal_data_(personal_data), 867 personal_data_(personal_data),
852 autocomplete_history_manager_( 868 autocomplete_history_manager_(
853 new AutocompleteHistoryManager(driver, client)), 869 new AutocompleteHistoryManager(driver, client)),
854 has_logged_autofill_enabled_(false), 870 has_logged_autofill_enabled_(false),
855 has_logged_address_suggestions_count_(false), 871 has_logged_address_suggestions_count_(false),
856 did_show_suggestions_(false), 872 did_show_suggestions_(false),
857 user_did_type_(false), 873 user_did_type_(false),
858 user_did_autofill_(false), 874 user_did_autofill_(false),
859 user_did_edit_autofilled_field_(false), 875 user_did_edit_autofilled_field_(false),
(...skipping 465 matching lines...) Expand 10 before | Expand all | Expand 10 after
1325 return false; 1341 return false;
1326 1342
1327 // Disregard forms that we wouldn't ever autofill in the first place. 1343 // Disregard forms that we wouldn't ever autofill in the first place.
1328 if (!form.ShouldBeParsed()) 1344 if (!form.ShouldBeParsed())
1329 return false; 1345 return false;
1330 1346
1331 return true; 1347 return true;
1332 } 1348 }
1333 1349
1334 } // namespace autofill 1350 } // namespace autofill
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698