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

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

Issue 873403004: Autofill - show expiration date in CVC prompt when card is expired. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: 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 663 matching lines...) Expand 10 before | Expand all | Expand 10 after
674 FormStructure::ParseQueryResponse(response_xml, form_structures_.get()); 674 FormStructure::ParseQueryResponse(response_xml, form_structures_.get());
675 675
676 // Forward form structures to the password generation manager to detect 676 // Forward form structures to the password generation manager to detect
677 // account creation forms. 677 // account creation forms.
678 driver_->DetectAccountCreationForms(form_structures_.get()); 678 driver_->DetectAccountCreationForms(form_structures_.get());
679 679
680 // 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.
681 driver_->SendAutofillTypePredictionsToRenderer(form_structures_.get()); 681 driver_->SendAutofillTypePredictionsToRenderer(form_structures_.get());
682 } 682 }
683 683
684 void AutofillManager::OnUnmaskResponse(const base::string16& cvc) { 684 void AutofillManager::OnUnmaskResponse(const base::string16& cvc,
685 const base::string16& exp_month,
686 const base::string16& exp_year) {
685 // Most of this function is demo code. The real code should look something 687 // Most of this function is demo code. The real code should look something
686 // like: 688 // like:
687 // real_pan_client_.UnmaskCard(unmasking_card_, cvc); 689 // real_pan_client_.UnmaskCard(unmasking_card_, cvc, exp_month, exp_year);
688 690
689 unmasking_cvc_ = cvc; 691 unmasking_cvc_ = cvc;
690 // TODO(estade): fake verification: assume 123/1234 is the correct cvc. 692 // TODO(estade): fake verification: assume 123/1234 is the correct cvc.
691 if (StartsWithASCII(base::UTF16ToASCII(cvc), "123", true)) { 693 if (StartsWithASCII(base::UTF16ToASCII(cvc), "123", true)) {
692 base::MessageLoop::current()->PostDelayedTask( 694 base::MessageLoop::current()->PostDelayedTask(
693 FROM_HERE, base::Bind(&AutofillManager::OnUnmaskVerificationResult, 695 FROM_HERE, base::Bind(&AutofillManager::OnUnmaskVerificationResult,
694 base::Unretained(this), true), 696 base::Unretained(this), true),
695 base::TimeDelta::FromSeconds(2)); 697 base::TimeDelta::FromSeconds(2));
696 } else { 698 } else {
697 base::MessageLoop::current()->PostDelayedTask( 699 base::MessageLoop::current()->PostDelayedTask(
(...skipping 17 matching lines...) Expand all
715 std::string AutofillManager::GetOAuth2Token() { 717 std::string AutofillManager::GetOAuth2Token() {
716 NOTIMPLEMENTED(); 718 NOTIMPLEMENTED();
717 return "would_I_lie_to_you?"; 719 return "would_I_lie_to_you?";
718 } 720 }
719 721
720 void AutofillManager::OnUnmaskVerificationResult(bool success) { 722 void AutofillManager::OnUnmaskVerificationResult(bool success) {
721 if (success) { 723 if (success) {
722 unmasking_card_.set_record_type(CreditCard::FULL_SERVER_CARD); 724 unmasking_card_.set_record_type(CreditCard::FULL_SERVER_CARD);
723 if (unmasking_card_.type() == kAmericanExpressCard) { 725 if (unmasking_card_.type() == kAmericanExpressCard) {
724 unmasking_card_.SetNumber(base::ASCIIToUTF16("371449635398431")); 726 unmasking_card_.SetNumber(base::ASCIIToUTF16("371449635398431"));
727 } else if (unmasking_card_.type() == kVisaCard) {
728 unmasking_card_.SetNumber(base::ASCIIToUTF16("4012888888881881"));
725 } else { 729 } else {
726 DCHECK_EQ(kDiscoverCard, unmasking_card_.type()); 730 DCHECK_EQ(kDiscoverCard, unmasking_card_.type());
727 unmasking_card_.SetNumber(base::ASCIIToUTF16("6011000990139424")); 731 unmasking_card_.SetNumber(base::ASCIIToUTF16("6011000990139424"));
728 } 732 }
729 personal_data_->UpdateServerCreditCard(unmasking_card_); 733 personal_data_->UpdateServerCreditCard(unmasking_card_);
730 FillCreditCardForm(unmasking_query_id_, unmasking_form_, unmasking_field_, 734 FillCreditCardForm(unmasking_query_id_, unmasking_form_, unmasking_field_,
731 unmasking_card_); 735 unmasking_card_);
732 } 736 }
733 client()->OnUnmaskVerificationResult(success); 737 client()->OnUnmaskVerificationResult(success);
734 } 738 }
(...skipping 606 matching lines...) Expand 10 before | Expand all | Expand 10 after
1341 return false; 1345 return false;
1342 1346
1343 // Disregard forms that we wouldn't ever autofill in the first place. 1347 // Disregard forms that we wouldn't ever autofill in the first place.
1344 if (!form.ShouldBeParsed()) 1348 if (!form.ShouldBeParsed())
1345 return false; 1349 return false;
1346 1350
1347 return true; 1351 return true;
1348 } 1352 }
1349 1353
1350 } // namespace autofill 1354 } // namespace autofill
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698