Index: android_webview/native/aw_web_contents_delegate.cc |
diff --git a/android_webview/native/aw_web_contents_delegate.cc b/android_webview/native/aw_web_contents_delegate.cc |
index 2a04d2dd7f29f0a6521218eb4dc9085e7658e012..33e8edd88ed36b199d6a813613b3ce14291050de 100644 |
--- a/android_webview/native/aw_web_contents_delegate.cc |
+++ b/android_webview/native/aw_web_contents_delegate.cc |
@@ -8,7 +8,9 @@ |
#include "android_webview/browser/find_helper.h" |
#include "android_webview/native/aw_contents.h" |
#include "android_webview/native/aw_javascript_dialog_creator.h" |
+#include "content/public/browser/android/download_controller_android.h" |
#include "content/public/browser/web_contents.h" |
+#include "net/http/http_request_headers.h" |
using content::WebContents; |
@@ -47,4 +49,19 @@ void AwWebContentsDelegate::FindReply(WebContents* web_contents, |
final_update); |
} |
+bool AwWebContentsDelegate::CanDownload(content::RenderViewHost* source, |
+ int request_id, |
+ const std::string& request_method) { |
+ if (request_method == net::HttpRequestHeaders::kGetMethod) { |
+ content::DownloadControllerAndroid::Get()->CreateGETDownload( |
+ source, request_id); |
+ } |
+ return false; |
+} |
+ |
+void AwWebContentsDelegate::OnStartDownload(WebContents* source, |
+ content::DownloadItem* download) { |
+ NOTREACHED(); // We always return false in CanDownload. |
+} |
+ |
} // namespace android_webview |