Commit c86343e2 authored by estade's avatar estade Committed by Commit bot

pass along expiration date to getrealpan

BUG=451286

Review URL: https://codereview.chromium.org/938143002

Cr-Commit-Position: refs/heads/master@{#317154}
parent face64b4
...@@ -764,9 +764,7 @@ void AutofillManager::OnLoadedServerPredictions( ...@@ -764,9 +764,7 @@ void AutofillManager::OnLoadedServerPredictions(
void AutofillManager::OnUnmaskResponse(const UnmaskResponse& response) { void AutofillManager::OnUnmaskResponse(const UnmaskResponse& response) {
unmask_response_ = response; unmask_response_ = response;
// TODO(estade): use month/year. real_pan_client_.UnmaskCard(unmasking_card_, response);
real_pan_client_.UnmaskCard(unmasking_card_, base::UTF16ToASCII(response.cvc),
response.risk_data);
} }
void AutofillManager::OnUnmaskPromptClosed() { void AutofillManager::OnUnmaskPromptClosed() {
......
...@@ -8,7 +8,9 @@ ...@@ -8,7 +8,9 @@
#include "base/json/json_reader.h" #include "base/json/json_reader.h"
#include "base/json/json_writer.h" #include "base/json/json_writer.h"
#include "base/memory/scoped_ptr.h" #include "base/memory/scoped_ptr.h"
#include "base/strings/string_number_conversions.h"
#include "base/strings/stringprintf.h" #include "base/strings/stringprintf.h"
#include "base/strings/utf_string_conversions.h"
#include "base/values.h" #include "base/values.h"
#include "components/autofill/core/browser/credit_card.h" #include "components/autofill/core/browser/credit_card.h"
#include "google_apis/gaia/identity_provider.h" #include "google_apis/gaia/identity_provider.h"
...@@ -54,9 +56,9 @@ void RealPanWalletClient::Prepare() { ...@@ -54,9 +56,9 @@ void RealPanWalletClient::Prepare() {
StartTokenFetch(); StartTokenFetch();
} }
void RealPanWalletClient::UnmaskCard(const CreditCard& card, void RealPanWalletClient::UnmaskCard(
const std::string& cvc, const CreditCard& card,
const std::string& risk_data) { const CardUnmaskDelegate::UnmaskResponse& response) {
DCHECK_EQ(CreditCard::MASKED_SERVER_CARD, card.record_type()); DCHECK_EQ(CreditCard::MASKED_SERVER_CARD, card.record_type());
request_.reset(net::URLFetcher::Create( request_.reset(net::URLFetcher::Create(
...@@ -66,16 +68,23 @@ void RealPanWalletClient::UnmaskCard(const CreditCard& card, ...@@ -66,16 +68,23 @@ void RealPanWalletClient::UnmaskCard(const CreditCard& card,
base::DictionaryValue request_dict; base::DictionaryValue request_dict;
request_dict.SetString("encrypted_cvc", "__param:s7e_13_cvc"); request_dict.SetString("encrypted_cvc", "__param:s7e_13_cvc");
request_dict.SetString("credit_card_id", card.server_id()); request_dict.SetString("credit_card_id", card.server_id());
request_dict.SetString("risk_data_base64", risk_data); request_dict.SetString("risk_data_base64", response.risk_data);
request_dict.Set("context", make_scoped_ptr(new base::DictionaryValue())); request_dict.Set("context", make_scoped_ptr(new base::DictionaryValue()));
int value = 0;
if (base::StringToInt(response.exp_month, &value))
request_dict.SetInteger("expiration_month", value);
if (base::StringToInt(response.exp_year, &value))
request_dict.SetInteger("expiration_year", value);
std::string json_request; std::string json_request;
base::JSONWriter::Write(&request_dict, &json_request); base::JSONWriter::Write(&request_dict, &json_request);
std::string post_body = base::StringPrintf(kUnmaskCardRequestFormat, std::string post_body =
net::EscapeUrlEncodedData(json_request, true).c_str(), base::StringPrintf(kUnmaskCardRequestFormat,
net::EscapeUrlEncodedData(cvc, true).c_str()); net::EscapeUrlEncodedData(json_request, true).c_str(),
net::EscapeUrlEncodedData(
base::UTF16ToASCII(response.cvc), true).c_str());
request_->SetUploadData("application/x-www-form-urlencoded", post_body); request_->SetUploadData("application/x-www-form-urlencoded", post_body);
// TODO(estade): remove this when possible.
request_->AddExtraRequestHeader( request_->AddExtraRequestHeader(
net::HttpRequestHeaders::kAcceptEncoding + std::string(": chunked;q=0")); net::HttpRequestHeaders::kAcceptEncoding + std::string(": chunked;q=0"));
......
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
#include "base/memory/ref_counted.h" #include "base/memory/ref_counted.h"
#include "base/memory/weak_ptr.h" #include "base/memory/weak_ptr.h"
#include "components/autofill/core/browser/card_unmask_delegate.h"
#include "google_apis/gaia/oauth2_token_service.h" #include "google_apis/gaia/oauth2_token_service.h"
#include "net/url_request/url_fetcher_delegate.h" #include "net/url_request/url_fetcher_delegate.h"
...@@ -53,8 +54,7 @@ class RealPanWalletClient : public net::URLFetcherDelegate, ...@@ -53,8 +54,7 @@ class RealPanWalletClient : public net::URLFetcherDelegate,
// The user has attempted to unmask a card with the given cvc. // The user has attempted to unmask a card with the given cvc.
void UnmaskCard(const CreditCard& card, void UnmaskCard(const CreditCard& card,
const std::string& cvc, const CardUnmaskDelegate::UnmaskResponse& response);
const std::string& risk_data);
// Cancels and clears the current |request_|. // Cancels and clears the current |request_|.
void CancelRequest(); void CancelRequest();
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment