| OLD | NEW |
| 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 301 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 312 bound_net_log_.AddEvent( | 312 bound_net_log_.AddEvent( |
| 313 net::NetLog::TYPE_DOWNLOAD_ITEM_SAFETY_STATE_UPDATED, | 313 net::NetLog::TYPE_DOWNLOAD_ITEM_SAFETY_STATE_UPDATED, |
| 314 base::Bind(&ItemCheckedNetLogCallback, | 314 base::Bind(&ItemCheckedNetLogCallback, |
| 315 GetDangerType(), GetSafetyState())); | 315 GetDangerType(), GetSafetyState())); |
| 316 | 316 |
| 317 UpdateObservers(); | 317 UpdateObservers(); |
| 318 | 318 |
| 319 MaybeCompleteDownload(); | 319 MaybeCompleteDownload(); |
| 320 } | 320 } |
| 321 | 321 |
| 322 void DownloadItemImpl::TogglePause() { | 322 void DownloadItemImpl::Pause() { |
| 323 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 323 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| 324 DCHECK(state_ == IN_PROGRESS_INTERNAL || state_ == COMPLETING_INTERNAL); | |
| 325 VLOG(20) << __FUNCTION__ << " download=" << DebugString(true); | |
| 326 | 324 |
| 327 // Ignore pauses when we've passed the commit point. | 325 // Ignore irrelevant states. |
| 328 if (state_ == COMPLETING_INTERNAL) | 326 if (state_ != IN_PROGRESS_INTERNAL || is_paused_) |
| 329 return; | 327 return; |
| 330 | 328 |
| 331 if (is_paused_) | 329 request_handle_->PauseRequest(); |
| 332 request_handle_->ResumeRequest(); | 330 is_paused_ = true; |
| 333 else | |
| 334 request_handle_->PauseRequest(); | |
| 335 is_paused_ = !is_paused_; | |
| 336 UpdateObservers(); | 331 UpdateObservers(); |
| 337 } | 332 } |
| 338 | 333 |
| 334 void DownloadItemImpl::Resume() { |
| 335 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| 336 |
| 337 // Ignore irrelevant states. |
| 338 if (state_ != IN_PROGRESS_INTERNAL || !is_paused_) |
| 339 return; |
| 340 |
| 341 request_handle_->ResumeRequest(); |
| 342 is_paused_ = false; |
| 343 UpdateObservers(); |
| 344 } |
| 345 |
| 339 void DownloadItemImpl::Cancel(bool user_cancel) { | 346 void DownloadItemImpl::Cancel(bool user_cancel) { |
| 340 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 347 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| 341 | 348 |
| 342 last_reason_ = user_cancel ? | 349 last_reason_ = user_cancel ? |
| 343 DOWNLOAD_INTERRUPT_REASON_USER_CANCELED : | 350 DOWNLOAD_INTERRUPT_REASON_USER_CANCELED : |
| 344 DOWNLOAD_INTERRUPT_REASON_USER_SHUTDOWN; | 351 DOWNLOAD_INTERRUPT_REASON_USER_SHUTDOWN; |
| 345 | 352 |
| 346 VLOG(20) << __FUNCTION__ << "() download = " << DebugString(true); | 353 VLOG(20) << __FUNCTION__ << "() download = " << DebugString(true); |
| 347 if (state_ != IN_PROGRESS_INTERNAL) { | 354 if (state_ != IN_PROGRESS_INTERNAL) { |
| 348 // Small downloads might be complete before this method has | 355 // Small downloads might be complete before this method has |
| (...skipping 1070 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1419 return "CANCELLED"; | 1426 return "CANCELLED"; |
| 1420 case INTERRUPTED_INTERNAL: | 1427 case INTERRUPTED_INTERNAL: |
| 1421 return "INTERRUPTED"; | 1428 return "INTERRUPTED"; |
| 1422 default: | 1429 default: |
| 1423 NOTREACHED() << "Unknown download state " << state; | 1430 NOTREACHED() << "Unknown download state " << state; |
| 1424 return "unknown"; | 1431 return "unknown"; |
| 1425 }; | 1432 }; |
| 1426 } | 1433 } |
| 1427 | 1434 |
| 1428 } // namespace content | 1435 } // namespace content |
| OLD | NEW |