| 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/jni_android.h" | 10 #include "base/android/jni_android.h" | 
| (...skipping 12 matching lines...) Expand all  Loading... | 
| 23 #include "chrome/grit/chromium_strings.h" | 23 #include "chrome/grit/chromium_strings.h" | 
| 24 #include "content/public/browser/browser_context.h" | 24 #include "content/public/browser/browser_context.h" | 
| 25 #include "content/public/browser/browser_thread.h" | 25 #include "content/public/browser/browser_thread.h" | 
| 26 #include "content/public/browser/download_manager.h" | 26 #include "content/public/browser/download_manager.h" | 
| 27 #include "content/public/browser/download_url_parameters.h" | 27 #include "content/public/browser/download_url_parameters.h" | 
| 28 #include "content/public/browser/render_process_host.h" | 28 #include "content/public/browser/render_process_host.h" | 
| 29 #include "content/public/browser/render_view_host.h" | 29 #include "content/public/browser/render_view_host.h" | 
| 30 #include "content/public/common/referrer.h" | 30 #include "content/public/common/referrer.h" | 
| 31 #include "jni/DownloadController_jni.h" | 31 #include "jni/DownloadController_jni.h" | 
| 32 #include "net/base/filename_util.h" | 32 #include "net/base/filename_util.h" | 
|  | 33 #include "net/traffic_annotation/network_traffic_annotation.h" | 
| 33 #include "ui/android/view_android.h" | 34 #include "ui/android/view_android.h" | 
| 34 #include "ui/android/window_android.h" | 35 #include "ui/android/window_android.h" | 
| 35 #include "ui/base/page_transition_types.h" | 36 #include "ui/base/page_transition_types.h" | 
| 36 | 37 | 
| 37 using base::android::ConvertUTF8ToJavaString; | 38 using base::android::ConvertUTF8ToJavaString; | 
| 38 using base::android::JavaParamRef; | 39 using base::android::JavaParamRef; | 
| 39 using base::android::ScopedJavaLocalRef; | 40 using base::android::ScopedJavaLocalRef; | 
| 40 using content::BrowserContext; | 41 using content::BrowserContext; | 
| 41 using content::BrowserThread; | 42 using content::BrowserThread; | 
| 42 using content::ContextMenuParams; | 43 using content::ContextMenuParams; | 
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 84   dl_params->set_referrer(referrer); | 85   dl_params->set_referrer(referrer); | 
| 85   if (is_link) | 86   if (is_link) | 
| 86     dl_params->set_referrer_encoding(params.frame_charset); | 87     dl_params->set_referrer_encoding(params.frame_charset); | 
| 87   net::HttpRequestHeaders headers; | 88   net::HttpRequestHeaders headers; | 
| 88   headers.AddHeadersFromString(extra_headers); | 89   headers.AddHeadersFromString(extra_headers); | 
| 89   for (net::HttpRequestHeaders::Iterator it(headers); it.GetNext();) | 90   for (net::HttpRequestHeaders::Iterator it(headers); it.GetNext();) | 
| 90     dl_params->add_request_header(it.name(), it.value()); | 91     dl_params->add_request_header(it.name(), it.value()); | 
| 91   if (!is_link && extra_headers.empty()) | 92   if (!is_link && extra_headers.empty()) | 
| 92     dl_params->set_prefer_cache(true); | 93     dl_params->set_prefer_cache(true); | 
| 93   dl_params->set_prompt(false); | 94   dl_params->set_prompt(false); | 
| 94   dlm->DownloadUrl(std::move(dl_params)); | 95   dlm->DownloadUrl(std::move(dl_params), NO_TRAFFIC_ANNOTATION_YET); | 
| 95 } | 96 } | 
| 96 | 97 | 
| 97 // Check if an interrupted download item can be auto resumed. | 98 // Check if an interrupted download item can be auto resumed. | 
| 98 bool IsInterruptedDownloadAutoResumable(content::DownloadItem* download_item) { | 99 bool IsInterruptedDownloadAutoResumable(content::DownloadItem* download_item) { | 
| 99   int interrupt_reason = download_item->GetLastReason(); | 100   int interrupt_reason = download_item->GetLastReason(); | 
| 100   DCHECK_NE(interrupt_reason, content::DOWNLOAD_INTERRUPT_REASON_NONE); | 101   DCHECK_NE(interrupt_reason, content::DOWNLOAD_INTERRUPT_REASON_NONE); | 
| 101   return | 102   return | 
| 102       interrupt_reason == content::DOWNLOAD_INTERRUPT_REASON_NETWORK_TIMEOUT || | 103       interrupt_reason == content::DOWNLOAD_INTERRUPT_REASON_NETWORK_TIMEOUT || | 
| 103       interrupt_reason == content::DOWNLOAD_INTERRUPT_REASON_NETWORK_FAILED || | 104       interrupt_reason == content::DOWNLOAD_INTERRUPT_REASON_NETWORK_FAILED || | 
| 104       interrupt_reason == | 105       interrupt_reason == | 
| (...skipping 256 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 361   int routing_id = web_contents->GetRenderViewHost()->GetRoutingID(); | 362   int routing_id = web_contents->GetRenderViewHost()->GetRoutingID(); | 
| 362 | 363 | 
| 363   const content::ResourceRequestInfo::WebContentsGetter& wc_getter( | 364   const content::ResourceRequestInfo::WebContentsGetter& wc_getter( | 
| 364       base::Bind(&GetWebContents, process_id, routing_id)); | 365       base::Bind(&GetWebContents, process_id, routing_id)); | 
| 365 | 366 | 
| 366   AcquireFileAccessPermission( | 367   AcquireFileAccessPermission( | 
| 367       wc_getter, base::Bind(&CreateContextMenuDownload, wc_getter, params, | 368       wc_getter, base::Bind(&CreateContextMenuDownload, wc_getter, params, | 
| 368                             is_link, extra_headers)); | 369                             is_link, extra_headers)); | 
| 369 } | 370 } | 
| 370 | 371 | 
| OLD | NEW | 
|---|