New issue
Advanced search Search tips

Issue 606930 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Apr 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 3
Type: Bug

Blocking:
issue 587995



Sign in to add a comment

Unmasking controller asserts server cards only

Project Member Reported by rouslan@chromium.org, Apr 26 2016

Issue description

Version: ToT
OS: Android

What steps will reproduce the problem?
(1) Run Android debug build locally
(2) Launch PaymentRequest from https://rsolomakhin.github.io/paymentrequest/digital/.
(3) Select a local card.
(4) Tap pay.

What is the expected output?
I should see a CVC prompt.

What do you see instead?
DCHECK in CVC prompt code, because it assumes server cards only.

[FATAL:credit_card.cc(264)] Check failed: LOCAL_CARD != record_type()

This is called in  CardUnmaskPromptControllerImpl::ShouldRequestExpirationDate().

Please use labels and text to provide additional information.

The correct solution is to change CreditCard::GetServerStatus() into CreditCard::ShouldRequestExpirationDate(), which should return false for local cards. Once we have functionality to update expiration date of local cards through personal_data_manager.h, we can change this logic.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Apr 28 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1a08353b40578fb410367904472dd98400406dc1

commit 1a08353b40578fb410367904472dd98400406dc1
Author: rouslan <rouslan@chromium.org>
Date: Thu Apr 28 01:29:49 2016

Prompt for expiration date for expired cards.

When PaymentRequest prompts the user for the CVC for an expired local or
full server card, the expiration date should also be updated.

LOCAL CARD: The new expiration date is saved on disk.

FULL SERVER CARD: The new expiration date is sent to the server for
reauthorization. The new expiration date will eventually be synced to
Chrome.

BUG= 606930 , 606008

Review-Url: https://codereview.chromium.org/1926553002
Cr-Commit-Position: refs/heads/master@{#390271}

[modify] https://crrev.com/1a08353b40578fb410367904472dd98400406dc1/chrome/android/java/src/org/chromium/chrome/browser/autofill/CardUnmaskPrompt.java
[modify] https://crrev.com/1a08353b40578fb410367904472dd98400406dc1/components/autofill/core/browser/credit_card.cc
[modify] https://crrev.com/1a08353b40578fb410367904472dd98400406dc1/components/autofill/core/browser/credit_card.h
[modify] https://crrev.com/1a08353b40578fb410367904472dd98400406dc1/components/autofill/core/browser/credit_card_unittest.cc
[modify] https://crrev.com/1a08353b40578fb410367904472dd98400406dc1/components/autofill/core/browser/payments/full_card_request.cc
[modify] https://crrev.com/1a08353b40578fb410367904472dd98400406dc1/components/autofill/core/browser/payments/full_card_request.h
[modify] https://crrev.com/1a08353b40578fb410367904472dd98400406dc1/components/autofill/core/browser/payments/full_card_request_unittest.cc
[modify] https://crrev.com/1a08353b40578fb410367904472dd98400406dc1/components/autofill/core/browser/payments/payments_client.cc
[modify] https://crrev.com/1a08353b40578fb410367904472dd98400406dc1/components/autofill/core/browser/personal_data_manager.h
[modify] https://crrev.com/1a08353b40578fb410367904472dd98400406dc1/components/autofill/core/browser/ui/card_unmask_prompt_controller_impl.cc
[modify] https://crrev.com/1a08353b40578fb410367904472dd98400406dc1/components/autofill/core/browser/ui/card_unmask_prompt_controller_impl_unittest.cc

Status: Fixed (was: Started)
Labels: M-53
Components: -UI>Browser>Autofill>Payments UI>Browser>Payments

Sign in to add a comment