Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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/password_manager/core/browser/affiliation_fetcher.h" | 5 #include "components/password_manager/core/browser/affiliation_fetcher.h" |
| 6 | 6 |
| 7 #include "components/password_manager/core/browser/affiliation_api.pb.h" | 7 #include "components/password_manager/core/browser/affiliation_api.pb.h" |
| 8 #include "components/password_manager/core/browser/affiliation_fetcher_factory.h " | |
| 8 #include "components/password_manager/core/browser/affiliation_utils.h" | 9 #include "components/password_manager/core/browser/affiliation_utils.h" |
| 9 #include "google_apis/google_api_keys.h" | 10 #include "google_apis/google_api_keys.h" |
| 10 #include "net/base/load_flags.h" | 11 #include "net/base/load_flags.h" |
| 11 #include "net/base/url_util.h" | 12 #include "net/base/url_util.h" |
| 12 #include "net/http/http_status_code.h" | 13 #include "net/http/http_status_code.h" |
| 13 #include "net/url_request/url_fetcher.h" | 14 #include "net/url_request/url_fetcher.h" |
| 14 #include "net/url_request/url_request_context_getter.h" | 15 #include "net/url_request/url_request_context_getter.h" |
| 15 #include "url/gurl.h" | 16 #include "url/gurl.h" |
| 16 | 17 |
| 17 namespace password_manager { | 18 namespace password_manager { |
| 18 | 19 |
| 20 static AffiliationFetcherFactory* g_factory = nullptr; | |
|
vabr (Chromium)
2015/01/22 14:27:04
I suggest renaming to g_testing_factory, to emphas
engedy
2015/01/22 14:41:14
Done.
| |
| 21 | |
| 19 AffiliationFetcher::AffiliationFetcher( | 22 AffiliationFetcher::AffiliationFetcher( |
| 20 net::URLRequestContextGetter* request_context_getter, | 23 net::URLRequestContextGetter* request_context_getter, |
| 21 const std::vector<FacetURI>& facet_uris, | 24 const std::vector<FacetURI>& facet_uris, |
| 22 AffiliationFetcherDelegate* delegate) | 25 AffiliationFetcherDelegate* delegate) |
| 23 : request_context_getter_(request_context_getter), | 26 : request_context_getter_(request_context_getter), |
| 24 requested_facet_uris_(facet_uris), | 27 requested_facet_uris_(facet_uris), |
| 25 delegate_(delegate) { | 28 delegate_(delegate) { |
| 26 for (const FacetURI& uri : requested_facet_uris_) { | 29 for (const FacetURI& uri : requested_facet_uris_) { |
| 27 DCHECK(uri.is_valid()); | 30 DCHECK(uri.is_valid()); |
| 28 } | 31 } |
| 29 } | 32 } |
| 30 | 33 |
| 31 AffiliationFetcher::~AffiliationFetcher() { | 34 AffiliationFetcher::~AffiliationFetcher() { |
| 32 } | 35 } |
| 33 | 36 |
| 34 // static | 37 // static |
| 35 AffiliationFetcher* AffiliationFetcher::Create( | 38 AffiliationFetcher* AffiliationFetcher::Create( |
| 36 net::URLRequestContextGetter* context_getter, | 39 net::URLRequestContextGetter* context_getter, |
| 37 const std::vector<FacetURI>& facet_uris, | 40 const std::vector<FacetURI>& facet_uris, |
| 38 AffiliationFetcherDelegate* delegate) { | 41 AffiliationFetcherDelegate* delegate) { |
| 42 if (g_factory) | |
| 43 return g_factory->CreateInstance(context_getter, facet_uris, delegate); | |
| 39 return new AffiliationFetcher(context_getter, facet_uris, delegate); | 44 return new AffiliationFetcher(context_getter, facet_uris, delegate); |
| 40 } | 45 } |
| 41 | 46 |
| 47 // static | |
| 48 void AffiliationFetcher::SetFactoryForTesting( | |
| 49 AffiliationFetcherFactory* factory) { | |
| 50 g_factory = factory; | |
| 51 } | |
| 52 | |
| 42 void AffiliationFetcher::StartRequest() { | 53 void AffiliationFetcher::StartRequest() { |
| 43 DCHECK(!fetcher_); | 54 DCHECK(!fetcher_); |
| 44 | 55 |
| 45 fetcher_.reset( | 56 fetcher_.reset( |
| 46 net::URLFetcher::Create(BuildQueryURL(), net::URLFetcher::POST, this)); | 57 net::URLFetcher::Create(BuildQueryURL(), net::URLFetcher::POST, this)); |
| 47 fetcher_->SetRequestContext(request_context_getter_.get()); | 58 fetcher_->SetRequestContext(request_context_getter_.get()); |
| 48 fetcher_->SetUploadData("application/x-protobuf", PreparePayload()); | 59 fetcher_->SetUploadData("application/x-protobuf", PreparePayload()); |
| 49 fetcher_->SetLoadFlags(net::LOAD_DO_NOT_SAVE_COOKIES | | 60 fetcher_->SetLoadFlags(net::LOAD_DO_NOT_SAVE_COOKIES | |
| 50 net::LOAD_DO_NOT_SEND_COOKIES | | 61 net::LOAD_DO_NOT_SEND_COOKIES | |
| 51 net::LOAD_DO_NOT_SEND_AUTH_DATA | | 62 net::LOAD_DO_NOT_SEND_AUTH_DATA | |
| (...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 155 if (ParseResponse(result.get())) | 166 if (ParseResponse(result.get())) |
| 156 delegate_->OnFetchSucceeded(result.Pass()); | 167 delegate_->OnFetchSucceeded(result.Pass()); |
| 157 else | 168 else |
| 158 delegate_->OnMalformedResponse(); | 169 delegate_->OnMalformedResponse(); |
| 159 } else { | 170 } else { |
| 160 delegate_->OnFetchFailed(); | 171 delegate_->OnFetchFailed(); |
| 161 } | 172 } |
| 162 } | 173 } |
| 163 | 174 |
| 164 } // namespace password_manager | 175 } // namespace password_manager |
| OLD | NEW |