| Index: components/autofill/content/browser/wallet/wallet_client.cc
|
| diff --git a/components/autofill/content/browser/wallet/wallet_client.cc b/components/autofill/content/browser/wallet/wallet_client.cc
|
| index 0b6465138a39d66bb613fe2df7e76025b087fb63..7bcc9f501bb0156bcfaa8dcc1b166de12aa06115 100644
|
| --- a/components/autofill/content/browser/wallet/wallet_client.cc
|
| +++ b/components/autofill/content/browser/wallet/wallet_client.cc
|
| @@ -258,7 +258,7 @@ WalletClient::WalletClient(net::URLRequestContextGetter* context_getter,
|
| delegate_(delegate),
|
| user_index_(0U),
|
| source_url_(source_url),
|
| - request_type_(NO_PENDING_REQUEST),
|
| + request_type_(NO_REQUEST),
|
| one_time_pad_(kOneTimePadLength),
|
| weak_ptr_factory_(this) {
|
| DCHECK(context_getter_.get());
|
| @@ -476,16 +476,13 @@ bool WalletClient::HasRequestInProgress() const {
|
| return request_;
|
| }
|
|
|
| -void WalletClient::CancelRequests() {
|
| +void WalletClient::CancelRequest() {
|
| request_.reset();
|
| - request_type_ = NO_PENDING_REQUEST;
|
| - while (!pending_requests_.empty()) {
|
| - pending_requests_.pop();
|
| - }
|
| + request_type_ = NO_REQUEST;
|
| }
|
|
|
| void WalletClient::SetUserIndex(size_t user_index) {
|
| - CancelRequests();
|
| + CancelRequest();
|
| user_index_ = user_index;
|
| }
|
|
|
| @@ -518,17 +515,7 @@ void WalletClient::MakeWalletRequest(const GURL& url,
|
| const std::string& post_body,
|
| const std::string& mime_type,
|
| RequestType request_type) {
|
| - if (HasRequestInProgress()) {
|
| - pending_requests_.push(base::Bind(&WalletClient::MakeWalletRequest,
|
| - base::Unretained(this),
|
| - url,
|
| - post_body,
|
| - mime_type,
|
| - request_type));
|
| - return;
|
| - }
|
| -
|
| - DCHECK_EQ(request_type_, NO_PENDING_REQUEST);
|
| + DCHECK_EQ(request_type_, NO_REQUEST);
|
| request_type_ = request_type;
|
|
|
| request_.reset(net::URLFetcher::Create(
|
| @@ -563,14 +550,6 @@ void WalletClient::OnURLFetchComplete(
|
| // |method, but should be freed once control leaves the method.
|
| scoped_ptr<net::URLFetcher> scoped_request(request_.Pass());
|
|
|
| - // Prepare to start the next pending request. This is queued up as an
|
| - // asynchronous message because |this| WalletClient instance can be destroyed
|
| - // before the end of the method in response to the current incoming request.
|
| - base::MessageLoop::current()->PostTask(
|
| - FROM_HERE,
|
| - base::Bind(&WalletClient::StartNextPendingRequest,
|
| - weak_ptr_factory_.GetWeakPtr()));;
|
| -
|
| std::string data;
|
| source->GetResponseAsString(&data);
|
| DVLOG(1) << "Response body: " << data;
|
| @@ -583,7 +562,7 @@ void WalletClient::OnURLFetchComplete(
|
| switch (response_code) {
|
| // HTTP_BAD_REQUEST means the arguments are invalid. No point retrying.
|
| case net::HTTP_BAD_REQUEST: {
|
| - request_type_ = NO_PENDING_REQUEST;
|
| + request_type_ = NO_REQUEST;
|
| HandleWalletError(BAD_REQUEST);
|
| return;
|
| }
|
| @@ -598,7 +577,7 @@ void WalletClient::OnURLFetchComplete(
|
| static_cast<base::DictionaryValue*>(message_value.release()));
|
| }
|
| if (response_code == net::HTTP_INTERNAL_SERVER_ERROR) {
|
| - request_type_ = NO_PENDING_REQUEST;
|
| + request_type_ = NO_REQUEST;
|
|
|
| std::string error_type_string;
|
| if (!response_dict->GetString(kErrorTypeKey, &error_type_string)) {
|
| @@ -627,13 +606,13 @@ void WalletClient::OnURLFetchComplete(
|
|
|
| // Anything else is an error.
|
| default:
|
| - request_type_ = NO_PENDING_REQUEST;
|
| + request_type_ = NO_REQUEST;
|
| HandleWalletError(NETWORK_ERROR);
|
| return;
|
| }
|
|
|
| RequestType type = request_type_;
|
| - request_type_ = NO_PENDING_REQUEST;
|
| + request_type_ = NO_REQUEST;
|
|
|
| if (type != ACCEPT_LEGAL_DOCUMENTS && !response_dict) {
|
| HandleMalformedResponse(type, scoped_request.get());
|
| @@ -708,20 +687,11 @@ void WalletClient::OnURLFetchComplete(
|
| break;
|
| }
|
|
|
| - case NO_PENDING_REQUEST:
|
| + case NO_REQUEST:
|
| NOTREACHED();
|
| }
|
| }
|
|
|
| -void WalletClient::StartNextPendingRequest() {
|
| - if (pending_requests_.empty())
|
| - return;
|
| -
|
| - base::Closure next_request = pending_requests_.front();
|
| - pending_requests_.pop();
|
| - next_request.Run();
|
| -}
|
| -
|
| void WalletClient::HandleMalformedResponse(RequestType request_type,
|
| net::URLFetcher* request) {
|
| // Called to inform exponential backoff logic of the error.
|
| @@ -802,7 +772,7 @@ AutofillMetrics::WalletApiCallMetric WalletClient::RequestTypeToUmaMetric(
|
| return AutofillMetrics::GET_WALLET_ITEMS;
|
| case SAVE_TO_WALLET:
|
| return AutofillMetrics::SAVE_TO_WALLET;
|
| - case NO_PENDING_REQUEST:
|
| + case NO_REQUEST:
|
| NOTREACHED();
|
| return AutofillMetrics::UNKNOWN_API_CALL;
|
| }
|
|
|