| OLD | NEW |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 "chrome/browser/android/download/download_controller.h" | 5 #include "chrome/browser/android/download/download_controller.h" |
| 6 | 6 |
| 7 #include <memory> | 7 #include <memory> |
| 8 #include <utility> | 8 #include <utility> |
| 9 | 9 |
| 10 #include "base/android/context_utils.h" | 10 #include "base/android/context_utils.h" |
| (...skipping 225 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 236 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 236 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| 237 WebContents* web_contents = download_item->GetWebContents(); | 237 WebContents* web_contents = download_item->GetWebContents(); |
| 238 if (!web_contents) | 238 if (!web_contents) |
| 239 return; | 239 return; |
| 240 | 240 |
| 241 // Register for updates to the DownloadItem. | 241 // Register for updates to the DownloadItem. |
| 242 download_item->AddObserver(this); | 242 download_item->AddObserver(this); |
| 243 | 243 |
| 244 ChromeDownloadDelegate* delegate = | 244 ChromeDownloadDelegate* delegate = |
| 245 ChromeDownloadDelegate::FromWebContents(web_contents); | 245 ChromeDownloadDelegate::FromWebContents(web_contents); |
| 246 if (delegate) { | 246 // For dangerous item, we need to show the dangerous infobar before the |
| 247 // download can start. |
| 248 if (!download_item->IsDangerous() && delegate) { |
| 247 delegate->OnDownloadStarted( | 249 delegate->OnDownloadStarted( |
| 248 download_item->GetTargetFilePath().BaseName().value()); | 250 download_item->GetTargetFilePath().BaseName().value()); |
| 249 } | 251 } |
| 250 OnDownloadUpdated(download_item); | 252 OnDownloadUpdated(download_item); |
| 251 } | 253 } |
| 252 | 254 |
| 253 void DownloadController::OnDownloadUpdated(DownloadItem* item) { | 255 void DownloadController::OnDownloadUpdated(DownloadItem* item) { |
| 254 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 256 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| 255 if (item->IsDangerous() && (item->GetState() != DownloadItem::CANCELLED)) { | 257 if (item->IsDangerous() && (item->GetState() != DownloadItem::CANCELLED)) { |
| 256 // Dont't show notification for a dangerous download, as user can resume | 258 // Dont't show notification for a dangerous download, as user can resume |
| (...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 327 void DownloadController::StartContextMenuDownload( | 329 void DownloadController::StartContextMenuDownload( |
| 328 const ContextMenuParams& params, WebContents* web_contents, bool is_link, | 330 const ContextMenuParams& params, WebContents* web_contents, bool is_link, |
| 329 const std::string& extra_headers) { | 331 const std::string& extra_headers) { |
| 330 int process_id = web_contents->GetRenderProcessHost()->GetID(); | 332 int process_id = web_contents->GetRenderProcessHost()->GetID(); |
| 331 int routing_id = web_contents->GetRenderViewHost()->GetRoutingID(); | 333 int routing_id = web_contents->GetRenderViewHost()->GetRoutingID(); |
| 332 AcquireFileAccessPermission( | 334 AcquireFileAccessPermission( |
| 333 web_contents, base::Bind(&CreateContextMenuDownload, process_id, | 335 web_contents, base::Bind(&CreateContextMenuDownload, process_id, |
| 334 routing_id, params, is_link, extra_headers)); | 336 routing_id, params, is_link, extra_headers)); |
| 335 } | 337 } |
| 336 | 338 |
| OLD | NEW |