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

Side by Side Diff: content/browser/download/download_item_impl.cc

Issue 2810133003: Record the parallel download UMA for fresh new downloads (Closed)
Patch Set: fix START_COUNT 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 // File method ordering: Methods in this file are in the same order as 5 // File method ordering: Methods in this file are in the same order as
6 // in download_item_impl.h, with the following exception: The public 6 // in download_item_impl.h, with the following exception: The public
7 // interface Start is placed in chronological order with the other 7 // interface Start is placed in chronological order with the other
8 // (private) routines that together define a DownloadItem's state 8 // (private) routines that together define a DownloadItem's state
9 // transitions as the download progresses. See "Download progression 9 // transitions as the download progresses. See "Download progression
10 // cascade" later in this file. 10 // cascade" later in this file.
(...skipping 1198 matching lines...) Expand 10 before | Expand all | Expand 10 after
1209 std::unique_ptr<DownloadRequestHandleInterface> req_handle, 1209 std::unique_ptr<DownloadRequestHandleInterface> req_handle,
1210 const DownloadCreateInfo& new_create_info) { 1210 const DownloadCreateInfo& new_create_info) {
1211 DCHECK_CURRENTLY_ON(BrowserThread::UI); 1211 DCHECK_CURRENTLY_ON(BrowserThread::UI);
1212 DCHECK(!download_file_.get()); 1212 DCHECK(!download_file_.get());
1213 DVLOG(20) << __func__ << "() this=" << DebugString(true); 1213 DVLOG(20) << __func__ << "() this=" << DebugString(true);
1214 RecordDownloadCount(START_COUNT); 1214 RecordDownloadCount(START_COUNT);
1215 1215
1216 download_file_ = std::move(file); 1216 download_file_ = std::move(file);
1217 job_ = DownloadJobFactory::CreateJob(this, std::move(req_handle), 1217 job_ = DownloadJobFactory::CreateJob(this, std::move(req_handle),
1218 new_create_info); 1218 new_create_info);
1219 if (job_->UsesParallelRequests())
1220 RecordParallelDownloadCount(START_COUNT);
1221
1219 deferred_interrupt_reason_ = DOWNLOAD_INTERRUPT_REASON_NONE; 1222 deferred_interrupt_reason_ = DOWNLOAD_INTERRUPT_REASON_NONE;
1220 1223
1221 if (state_ == CANCELLED_INTERNAL) { 1224 if (state_ == CANCELLED_INTERNAL) {
1222 // The download was in the process of resuming when it was cancelled. Don't 1225 // The download was in the process of resuming when it was cancelled. Don't
1223 // proceed. 1226 // proceed.
1224 ReleaseDownloadFile(true); 1227 ReleaseDownloadFile(true);
1225 job_->Cancel(true); 1228 job_->Cancel(true);
1226 return; 1229 return;
1227 } 1230 }
1228 1231
(...skipping 29 matching lines...) Expand all
1258 hash_.clear(); 1261 hash_.clear();
1259 deferred_interrupt_reason_ = new_create_info.result; 1262 deferred_interrupt_reason_ = new_create_info.result;
1260 received_slices_.clear(); 1263 received_slices_.clear();
1261 TransitionTo(INTERRUPTED_TARGET_PENDING_INTERNAL); 1264 TransitionTo(INTERRUPTED_TARGET_PENDING_INTERNAL);
1262 DetermineDownloadTarget(); 1265 DetermineDownloadTarget();
1263 return; 1266 return;
1264 } 1267 }
1265 1268
1266 if (state_ == INITIAL_INTERNAL) { 1269 if (state_ == INITIAL_INTERNAL) {
1267 RecordDownloadCount(NEW_DOWNLOAD_COUNT); 1270 RecordDownloadCount(NEW_DOWNLOAD_COUNT);
1271 if (job_->UsesParallelRequests())
1272 RecordParallelDownloadCount(NEW_DOWNLOAD_COUNT);
1268 RecordDownloadMimeType(mime_type_); 1273 RecordDownloadMimeType(mime_type_);
1269 if (!GetBrowserContext()->IsOffTheRecord()) { 1274 if (!GetBrowserContext()->IsOffTheRecord()) {
1270 RecordDownloadCount(NEW_DOWNLOAD_COUNT_NORMAL_PROFILE); 1275 RecordDownloadCount(NEW_DOWNLOAD_COUNT_NORMAL_PROFILE);
1271 RecordDownloadMimeTypeForNormalProfile(mime_type_); 1276 RecordDownloadMimeTypeForNormalProfile(mime_type_);
1272 } 1277 }
1273 } 1278 }
1274 1279
1275 // Successful download start. 1280 // Successful download start.
1276 DCHECK(download_file_); 1281 DCHECK(download_file_);
1277 DCHECK(job_); 1282 DCHECK(job_);
1278 1283
1279 if (state_ == RESUMING_INTERNAL) 1284 if (state_ == RESUMING_INTERNAL)
1280 UpdateValidatorsOnResumption(new_create_info); 1285 UpdateValidatorsOnResumption(new_create_info);
1281 1286
1282 if (state_ == INITIAL_INTERNAL && job_->UsesParallelRequests())
1283 RecordParallelDownloadCount(START_COUNT);
1284
1285 TransitionTo(TARGET_PENDING_INTERNAL); 1287 TransitionTo(TARGET_PENDING_INTERNAL);
1286 1288
1287 job_->Start(); 1289 job_->Start();
1288 } 1290 }
1289 1291
1290 void DownloadItemImpl::StartDownload() { 1292 void DownloadItemImpl::StartDownload() {
1291 BrowserThread::PostTask( 1293 BrowserThread::PostTask(
1292 BrowserThread::FILE, FROM_HERE, 1294 BrowserThread::FILE, FROM_HERE,
1293 base::Bind(&DownloadFile::Initialize, 1295 base::Bind(&DownloadFile::Initialize,
1294 // Safe because we control download file lifetime. 1296 // Safe because we control download file lifetime.
(...skipping 951 matching lines...) Expand 10 before | Expand all | Expand 10 after
2246 case RESUME_MODE_USER_CONTINUE: 2248 case RESUME_MODE_USER_CONTINUE:
2247 return "USER_CONTINUE"; 2249 return "USER_CONTINUE";
2248 case RESUME_MODE_USER_RESTART: 2250 case RESUME_MODE_USER_RESTART:
2249 return "USER_RESTART"; 2251 return "USER_RESTART";
2250 } 2252 }
2251 NOTREACHED() << "Unknown resume mode " << mode; 2253 NOTREACHED() << "Unknown resume mode " << mode;
2252 return "unknown"; 2254 return "unknown";
2253 } 2255 }
2254 2256
2255 } // namespace content 2257 } // namespace content
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698