Chromium Code Reviews| Index: components/domain_reliability/uploader.cc |
| diff --git a/components/domain_reliability/uploader.cc b/components/domain_reliability/uploader.cc |
| index a3fb91d4620f3d059ab29dfb9ef1a82b3bf4517c..e03dac68ddcda0969a01ba6dee30c440e74855c3 100644 |
| --- a/components/domain_reliability/uploader.cc |
| +++ b/components/domain_reliability/uploader.cc |
| @@ -59,9 +59,12 @@ class DomainReliabilityUploaderImpl |
| net::URLRequestContextGetter>& url_request_context_getter) |
| : time_(time), |
| url_request_context_getter_(url_request_context_getter), |
| - discard_uploads_(true) {} |
| + discard_uploads_(true), |
| + shutdown_(false) {} |
| - ~DomainReliabilityUploaderImpl() override {} |
| + ~DomainReliabilityUploaderImpl() override { |
| + DCHECK(shutdown_); |
| + } |
| // DomainReliabilityUploader implementation: |
| void UploadReport( |
| @@ -72,7 +75,7 @@ class DomainReliabilityUploaderImpl |
| VLOG(1) << "Uploading report to " << upload_url; |
| VLOG(2) << "Report JSON: " << report_json; |
| - if (discard_uploads_) { |
| + if (discard_uploads_ || shutdown_) { |
|
mmenke
2016/09/27 16:56:15
Test coverage for this?
|
| VLOG(1) << "Discarding report instead of uploading."; |
| UploadResult result; |
| result.status = UploadResult::SUCCESS; |
| @@ -103,6 +106,12 @@ class DomainReliabilityUploaderImpl |
| VLOG(1) << "Setting discard_uploads to " << discard_uploads; |
| } |
| + void Shutdown() override { |
| + DCHECK(!shutdown_); |
| + shutdown_ = true; |
| + upload_callbacks_.clear(); |
| + } |
| + |
| // net::URLFetcherDelegate implementation: |
| void OnURLFetchComplete(const net::URLFetcher* fetcher) override { |
| DCHECK(fetcher); |
| @@ -153,6 +162,7 @@ class DomainReliabilityUploaderImpl |
| std::pair<std::unique_ptr<net::URLFetcher>, UploadCallback>> |
| upload_callbacks_; |
| bool discard_uploads_; |
| + bool shutdown_; |
| }; |
| } // namespace |
| @@ -179,4 +189,6 @@ int DomainReliabilityUploader::GetURLRequestUploadDepth( |
| return data->depth(); |
| } |
| +void DomainReliabilityUploader::Shutdown() {} |
| + |
| } // namespace domain_reliability |