Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(228)

Side by Side Diff: content/public/test/test_file_error_injector.cc

Issue 2823273004: Add new UMA stats for parallelizable download (Closed)
Patch Set: fix test Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "content/public/test/test_file_error_injector.h" 5 #include "content/public/test/test_file_error_injector.h"
6 6
7 #include <utility> 7 #include <utility>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/callback.h" 10 #include "base/callback.h"
(...skipping 26 matching lines...) Expand all
37 const net::NetLogWithSource& net_log, 37 const net::NetLogWithSource& net_log,
38 base::WeakPtr<DownloadDestinationObserver> observer, 38 base::WeakPtr<DownloadDestinationObserver> observer,
39 const TestFileErrorInjector::FileErrorInfo& error_info, 39 const TestFileErrorInjector::FileErrorInfo& error_info,
40 const base::Closure& ctor_callback, 40 const base::Closure& ctor_callback,
41 const base::Closure& dtor_callback); 41 const base::Closure& dtor_callback);
42 42
43 ~DownloadFileWithError() override; 43 ~DownloadFileWithError() override;
44 44
45 void Initialize(const InitializeCallback& initialize_callback, 45 void Initialize(const InitializeCallback& initialize_callback,
46 const CancelRequestCallback& cancel_request_callback, 46 const CancelRequestCallback& cancel_request_callback,
47 const DownloadItem::ReceivedSlices& received_slices) override; 47 const DownloadItem::ReceivedSlices& received_slices,
48 bool is_parallelizable) override;
48 49
49 // DownloadFile interface. 50 // DownloadFile interface.
50 DownloadInterruptReason WriteDataToFile(int64_t offset, 51 DownloadInterruptReason WriteDataToFile(int64_t offset,
51 const char* data, 52 const char* data,
52 size_t data_len) override; 53 size_t data_len) override;
53 54
54 void RenameAndUniquify(const base::FilePath& full_path, 55 void RenameAndUniquify(const base::FilePath& full_path,
55 const RenameCompletionCallback& callback) override; 56 const RenameCompletionCallback& callback) override;
56 void RenameAndAnnotate(const base::FilePath& full_path, 57 void RenameAndAnnotate(const base::FilePath& full_path,
57 const std::string& client_guid, 58 const std::string& client_guid,
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
129 } 130 }
130 131
131 DownloadFileWithError::~DownloadFileWithError() { 132 DownloadFileWithError::~DownloadFileWithError() {
132 DCHECK_CURRENTLY_ON(BrowserThread::FILE); 133 DCHECK_CURRENTLY_ON(BrowserThread::FILE);
133 destruction_callback_.Run(); 134 destruction_callback_.Run();
134 } 135 }
135 136
136 void DownloadFileWithError::Initialize( 137 void DownloadFileWithError::Initialize(
137 const InitializeCallback& initialize_callback, 138 const InitializeCallback& initialize_callback,
138 const CancelRequestCallback& cancel_request_callback, 139 const CancelRequestCallback& cancel_request_callback,
139 const DownloadItem::ReceivedSlices& received_slices) { 140 const DownloadItem::ReceivedSlices& received_slices,
141 bool is_parallelizable) {
140 DownloadInterruptReason error_to_return = DOWNLOAD_INTERRUPT_REASON_NONE; 142 DownloadInterruptReason error_to_return = DOWNLOAD_INTERRUPT_REASON_NONE;
141 InitializeCallback callback_to_use = initialize_callback; 143 InitializeCallback callback_to_use = initialize_callback;
142 144
143 // Replace callback if the error needs to be overwritten. 145 // Replace callback if the error needs to be overwritten.
144 if (OverwriteError( 146 if (OverwriteError(
145 TestFileErrorInjector::FILE_OPERATION_INITIALIZE, 147 TestFileErrorInjector::FILE_OPERATION_INITIALIZE,
146 &error_to_return)) { 148 &error_to_return)) {
147 if (DOWNLOAD_INTERRUPT_REASON_NONE != error_to_return) { 149 if (DOWNLOAD_INTERRUPT_REASON_NONE != error_to_return) {
148 // Don't execute a, probably successful, Initialize; just 150 // Don't execute a, probably successful, Initialize; just
149 // return the error. 151 // return the error.
150 BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, 152 BrowserThread::PostTask(BrowserThread::UI, FROM_HERE,
151 base::Bind(initialize_callback, error_to_return)); 153 base::Bind(initialize_callback, error_to_return));
152 return; 154 return;
153 } 155 }
154 156
155 // Otherwise, just wrap the return. 157 // Otherwise, just wrap the return.
156 callback_to_use = base::Bind(&InitializeErrorCallback, initialize_callback, 158 callback_to_use = base::Bind(&InitializeErrorCallback, initialize_callback,
157 error_to_return); 159 error_to_return);
158 } 160 }
159 161
160 DownloadFileImpl::Initialize(callback_to_use, cancel_request_callback, 162 DownloadFileImpl::Initialize(callback_to_use, cancel_request_callback,
161 received_slices); 163 received_slices, is_parallelizable);
162 } 164 }
163 165
164 DownloadInterruptReason DownloadFileWithError::WriteDataToFile( 166 DownloadInterruptReason DownloadFileWithError::WriteDataToFile(
165 int64_t offset, 167 int64_t offset,
166 const char* data, 168 const char* data,
167 size_t data_len) { 169 size_t data_len) {
168 return ShouldReturnError( 170 return ShouldReturnError(
169 TestFileErrorInjector::FILE_OPERATION_WRITE, 171 TestFileErrorInjector::FILE_OPERATION_WRITE,
170 DownloadFileImpl::WriteDataToFile(offset, data, data_len)); 172 DownloadFileImpl::WriteDataToFile(offset, data, data_len));
171 } 173 }
(...skipping 240 matching lines...) Expand 10 before | Expand all | Expand 10 after
412 case FILE_OPERATION_RENAME_ANNOTATE: 414 case FILE_OPERATION_RENAME_ANNOTATE:
413 return "RENAME_ANNOTATE"; 415 return "RENAME_ANNOTATE";
414 default: 416 default:
415 break; 417 break;
416 } 418 }
417 419
418 return "Unknown"; 420 return "Unknown";
419 } 421 }
420 422
421 } // namespace content 423 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/download/parallel_download_utils.cc ('k') | tools/metrics/histograms/histograms.xml » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698