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

Unified Diff: content/browser/android/download_controller_android_impl.cc

Issue 16140026: fix a problem that download dangerous files in a blank page can fail with authentication (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: remove public keyword from interface Created 7 years, 7 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | content/public/android/java/src/org/chromium/content/browser/ContentViewDownloadDelegate.java » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/browser/android/download_controller_android_impl.cc
diff --git a/content/browser/android/download_controller_android_impl.cc b/content/browser/android/download_controller_android_impl.cc
index 2f7c271cbfa8d360b94e3b625fb3b79c9b2e6148..d9b687a854d4cec68f974a97ce2116ebb6e0653b 100644
--- a/content/browser/android/download_controller_android_impl.cc
+++ b/content/browser/android/download_controller_android_impl.cc
@@ -243,8 +243,13 @@ void DownloadControllerAndroidImpl::OnDownloadStarted(
if (view.is_null())
return;
+ ScopedJavaLocalRef<jstring> jmime_type =
+ ConvertUTF8ToJavaString(env, download_item->GetMimeType());
+ ScopedJavaLocalRef<jstring> jfilename = ConvertUTF8ToJavaString(
+ env, download_item->GetTargetFilePath().BaseName().value());
Java_DownloadController_onDownloadStarted(
- env, GetJavaObject()->Controller(env).obj(), view.obj());
+ env, GetJavaObject()->Controller(env).obj(), view.obj(), jfilename.obj(),
+ jmime_type.obj());
}
void DownloadControllerAndroidImpl::OnDownloadUpdated(DownloadItem* item) {
@@ -259,28 +264,21 @@ void DownloadControllerAndroidImpl::OnDownloadUpdated(DownloadItem* item) {
// is in the COMPLETE state. Only handle one.
item->RemoveObserver(this);
- ScopedJavaLocalRef<jobject> view_core = GetContentViewCoreFromWebContents(
- item->GetWebContents());
- if (view_core.is_null()) {
- // We can get NULL WebContents from the DownloadItem.
- return;
- }
-
- // Call onHttpPostDownloadCompleted
+ // Call onDownloadCompleted
JNIEnv* env = base::android::AttachCurrentThread();
ScopedJavaLocalRef<jstring> jurl =
ConvertUTF8ToJavaString(env, item->GetURL().spec());
- ScopedJavaLocalRef<jstring> jcontent_disposition =
- ConvertUTF8ToJavaString(env, item->GetContentDisposition());
ScopedJavaLocalRef<jstring> jmime_type =
ConvertUTF8ToJavaString(env, item->GetMimeType());
ScopedJavaLocalRef<jstring> jpath =
ConvertUTF8ToJavaString(env, item->GetTargetFilePath().value());
+ ScopedJavaLocalRef<jstring> jfilename = ConvertUTF8ToJavaString(
+ env, item->GetTargetFilePath().BaseName().value());
- Java_DownloadController_onDownloadCompleted(env,
- GetJavaObject()->Controller(env).obj(), view_core.obj(), jurl.obj(),
- jcontent_disposition.obj(), jmime_type.obj(), jpath.obj(),
- item->GetReceivedBytes(), true);
+ Java_DownloadController_onDownloadCompleted(
+ env, GetJavaObject()->Controller(env).obj(),
+ base::android::GetApplicationContext(), jurl.obj(), jmime_type.obj(),
+ jfilename.obj(), jpath.obj(), item->GetReceivedBytes(), true);
}
void DownloadControllerAndroidImpl::OnDangerousDownload(DownloadItem* item) {
« no previous file with comments | « no previous file | content/public/android/java/src/org/chromium/content/browser/ContentViewDownloadDelegate.java » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698