| OLD | NEW |
| 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/content/browser/wallet/wallet_client.h" | 5 #include "components/autofill/content/browser/wallet/wallet_client.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/json/json_reader.h" | 8 #include "base/json/json_reader.h" |
| 9 #include "base/json/json_writer.h" | 9 #include "base/json/json_writer.h" |
| 10 #include "base/logging.h" | 10 #include "base/logging.h" |
| (...skipping 277 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 288 | 288 |
| 289 void WalletClient::AuthenticateInstrument( | 289 void WalletClient::AuthenticateInstrument( |
| 290 const std::string& instrument_id, | 290 const std::string& instrument_id, |
| 291 const std::string& card_verification_number) { | 291 const std::string& card_verification_number) { |
| 292 base::DictionaryValue request_dict; | 292 base::DictionaryValue request_dict; |
| 293 request_dict.SetString(kApiKeyKey, google_apis::GetAPIKey()); | 293 request_dict.SetString(kApiKeyKey, google_apis::GetAPIKey()); |
| 294 request_dict.SetString(kRiskParamsKey, delegate_->GetRiskData()); | 294 request_dict.SetString(kRiskParamsKey, delegate_->GetRiskData()); |
| 295 request_dict.SetString(kInstrumentIdKey, instrument_id); | 295 request_dict.SetString(kInstrumentIdKey, instrument_id); |
| 296 | 296 |
| 297 std::string json_payload; | 297 std::string json_payload; |
| 298 base::JSONWriter::Write(&request_dict, &json_payload); | 298 base::JSONWriter::Write(request_dict, &json_payload); |
| 299 | 299 |
| 300 std::string escaped_card_verification_number = net::EscapeUrlEncodedData( | 300 std::string escaped_card_verification_number = net::EscapeUrlEncodedData( |
| 301 card_verification_number, true); | 301 card_verification_number, true); |
| 302 | 302 |
| 303 std::string post_body = base::StringPrintf( | 303 std::string post_body = base::StringPrintf( |
| 304 kEscrowCardVerificationNumberFormat, | 304 kEscrowCardVerificationNumberFormat, |
| 305 net::EscapeUrlEncodedData(json_payload, true).c_str(), | 305 net::EscapeUrlEncodedData(json_payload, true).c_str(), |
| 306 escaped_card_verification_number.c_str()); | 306 escaped_card_verification_number.c_str()); |
| 307 | 307 |
| 308 MakeWalletRequest(GetAuthenticateInstrumentUrl(user_index_), | 308 MakeWalletRequest(GetAuthenticateInstrumentUrl(user_index_), |
| (...skipping 23 matching lines...) Expand all Loading... |
| 332 scoped_ptr<base::ListValue> risk_capabilities_list(new base::ListValue()); | 332 scoped_ptr<base::ListValue> risk_capabilities_list(new base::ListValue()); |
| 333 for (std::vector<RiskCapability>::const_iterator it = | 333 for (std::vector<RiskCapability>::const_iterator it = |
| 334 full_wallet_request.risk_capabilities.begin(); | 334 full_wallet_request.risk_capabilities.begin(); |
| 335 it != full_wallet_request.risk_capabilities.end(); | 335 it != full_wallet_request.risk_capabilities.end(); |
| 336 ++it) { | 336 ++it) { |
| 337 risk_capabilities_list->AppendString(RiskCapabilityToString(*it)); | 337 risk_capabilities_list->AppendString(RiskCapabilityToString(*it)); |
| 338 } | 338 } |
| 339 request_dict.Set(kRiskCapabilitiesKey, risk_capabilities_list.release()); | 339 request_dict.Set(kRiskCapabilitiesKey, risk_capabilities_list.release()); |
| 340 | 340 |
| 341 std::string json_payload; | 341 std::string json_payload; |
| 342 base::JSONWriter::Write(&request_dict, &json_payload); | 342 base::JSONWriter::Write(request_dict, &json_payload); |
| 343 | 343 |
| 344 crypto::RandBytes(&(one_time_pad_[0]), one_time_pad_.size()); | 344 crypto::RandBytes(&(one_time_pad_[0]), one_time_pad_.size()); |
| 345 | 345 |
| 346 size_t num_bits = one_time_pad_.size() * 8; | 346 size_t num_bits = one_time_pad_.size() * 8; |
| 347 DCHECK_LE(num_bits, kMaxBits); | 347 DCHECK_LE(num_bits, kMaxBits); |
| 348 DCHECK_GE(num_bits, kMinBits); | 348 DCHECK_GE(num_bits, kMinBits); |
| 349 | 349 |
| 350 std::string post_body = base::StringPrintf( | 350 std::string post_body = base::StringPrintf( |
| 351 kGetFullWalletRequestFormat, | 351 kGetFullWalletRequestFormat, |
| 352 net::EscapeUrlEncodedData(json_payload, true).c_str(), | 352 net::EscapeUrlEncodedData(json_payload, true).c_str(), |
| (...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 424 if (address) { | 424 if (address) { |
| 425 if (reference_address) { | 425 if (reference_address) { |
| 426 address->set_object_id(reference_address->object_id()); | 426 address->set_object_id(reference_address->object_id()); |
| 427 DCHECK(!address->object_id().empty()); | 427 DCHECK(!address->object_id().empty()); |
| 428 } | 428 } |
| 429 request_dict.Set(kShippingAddressKey, | 429 request_dict.Set(kShippingAddressKey, |
| 430 address->ToDictionaryWithID().release()); | 430 address->ToDictionaryWithID().release()); |
| 431 } | 431 } |
| 432 | 432 |
| 433 std::string json_payload; | 433 std::string json_payload; |
| 434 base::JSONWriter::Write(&request_dict, &json_payload); | 434 base::JSONWriter::Write(request_dict, &json_payload); |
| 435 | 435 |
| 436 if (!card_verification_number.empty()) { | 436 if (!card_verification_number.empty()) { |
| 437 std::string post_body; | 437 std::string post_body; |
| 438 if (!primary_account_number.empty()) { | 438 if (!primary_account_number.empty()) { |
| 439 post_body = base::StringPrintf( | 439 post_body = base::StringPrintf( |
| 440 kEscrowNewInstrumentFormat, | 440 kEscrowNewInstrumentFormat, |
| 441 net::EscapeUrlEncodedData(json_payload, true).c_str(), | 441 net::EscapeUrlEncodedData(json_payload, true).c_str(), |
| 442 card_verification_number.c_str(), | 442 card_verification_number.c_str(), |
| 443 primary_account_number.c_str()); | 443 primary_account_number.c_str()); |
| 444 } else { | 444 } else { |
| (...skipping 24 matching lines...) Expand all Loading... |
| 469 delegate_->IsShippingAddressRequired()); | 469 delegate_->IsShippingAddressRequired()); |
| 470 request_dict.SetBoolean(kUseMinimalAddresses, false); | 470 request_dict.SetBoolean(kUseMinimalAddresses, false); |
| 471 request_dict.SetBoolean(kPhoneNumberRequired, true); | 471 request_dict.SetBoolean(kPhoneNumberRequired, true); |
| 472 | 472 |
| 473 if (!amount.empty()) | 473 if (!amount.empty()) |
| 474 request_dict.SetString(kTransactionAmountKey, amount); | 474 request_dict.SetString(kTransactionAmountKey, amount); |
| 475 if (!currency.empty()) | 475 if (!currency.empty()) |
| 476 request_dict.SetString(kTransactionCurrencyKey, currency); | 476 request_dict.SetString(kTransactionCurrencyKey, currency); |
| 477 | 477 |
| 478 std::string post_body; | 478 std::string post_body; |
| 479 base::JSONWriter::Write(&request_dict, &post_body); | 479 base::JSONWriter::Write(request_dict, &post_body); |
| 480 | 480 |
| 481 MakeWalletRequest(GetGetWalletItemsUrl(user_index_), | 481 MakeWalletRequest(GetGetWalletItemsUrl(user_index_), |
| 482 post_body, | 482 post_body, |
| 483 kJsonMimeType, | 483 kJsonMimeType, |
| 484 GET_WALLET_ITEMS); | 484 GET_WALLET_ITEMS); |
| 485 } | 485 } |
| 486 | 486 |
| 487 bool WalletClient::HasRequestInProgress() const { | 487 bool WalletClient::HasRequestInProgress() const { |
| 488 return request_; | 488 return request_; |
| 489 } | 489 } |
| (...skipping 18 matching lines...) Expand all Loading... |
| 508 source_url_.GetWithEmptyPath().spec()); | 508 source_url_.GetWithEmptyPath().spec()); |
| 509 scoped_ptr<base::ListValue> docs_list(new base::ListValue()); | 509 scoped_ptr<base::ListValue> docs_list(new base::ListValue()); |
| 510 for (std::vector<std::string>::const_iterator it = document_ids.begin(); | 510 for (std::vector<std::string>::const_iterator it = document_ids.begin(); |
| 511 it != document_ids.end(); ++it) { | 511 it != document_ids.end(); ++it) { |
| 512 if (!it->empty()) | 512 if (!it->empty()) |
| 513 docs_list->AppendString(*it); | 513 docs_list->AppendString(*it); |
| 514 } | 514 } |
| 515 request_dict.Set(kAcceptedLegalDocumentKey, docs_list.release()); | 515 request_dict.Set(kAcceptedLegalDocumentKey, docs_list.release()); |
| 516 | 516 |
| 517 std::string post_body; | 517 std::string post_body; |
| 518 base::JSONWriter::Write(&request_dict, &post_body); | 518 base::JSONWriter::Write(request_dict, &post_body); |
| 519 | 519 |
| 520 MakeWalletRequest(GetAcceptLegalDocumentsUrl(user_index_), | 520 MakeWalletRequest(GetAcceptLegalDocumentsUrl(user_index_), |
| 521 post_body, | 521 post_body, |
| 522 kJsonMimeType, | 522 kJsonMimeType, |
| 523 ACCEPT_LEGAL_DOCUMENTS); | 523 ACCEPT_LEGAL_DOCUMENTS); |
| 524 } | 524 } |
| 525 | 525 |
| 526 void WalletClient::MakeWalletRequest(const GURL& url, | 526 void WalletClient::MakeWalletRequest(const GURL& url, |
| 527 const std::string& post_body, | 527 const std::string& post_body, |
| 528 const std::string& mime_type, | 528 const std::string& mime_type, |
| (...skipping 269 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 798 NOTREACHED(); | 798 NOTREACHED(); |
| 799 return AutofillMetrics::UNKNOWN_API_CALL; | 799 return AutofillMetrics::UNKNOWN_API_CALL; |
| 800 } | 800 } |
| 801 | 801 |
| 802 NOTREACHED(); | 802 NOTREACHED(); |
| 803 return AutofillMetrics::UNKNOWN_API_CALL; | 803 return AutofillMetrics::UNKNOWN_API_CALL; |
| 804 } | 804 } |
| 805 | 805 |
| 806 } // namespace wallet | 806 } // namespace wallet |
| 807 } // namespace autofill | 807 } // namespace autofill |
| OLD | NEW |