| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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/chrome_download_delegate.h" | 5 #include "chrome/browser/android/download/chrome_download_delegate.h" |
| 6 | 6 |
| 7 #include <jni.h> | 7 #include <jni.h> |
| 8 | 8 |
| 9 #include <string> | 9 #include <string> |
| 10 #include <type_traits> | 10 #include <type_traits> |
| (...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 76 | 76 |
| 77 ChromeDownloadDelegate::~ChromeDownloadDelegate() { | 77 ChromeDownloadDelegate::~ChromeDownloadDelegate() { |
| 78 JNIEnv* env = base::android::AttachCurrentThread(); | 78 JNIEnv* env = base::android::AttachCurrentThread(); |
| 79 env->DeleteGlobalRef(java_ref_); | 79 env->DeleteGlobalRef(java_ref_); |
| 80 } | 80 } |
| 81 | 81 |
| 82 void ChromeDownloadDelegate::SetJavaRef(JNIEnv* env, jobject jobj) { | 82 void ChromeDownloadDelegate::SetJavaRef(JNIEnv* env, jobject jobj) { |
| 83 java_ref_ = env->NewGlobalRef(jobj); | 83 java_ref_ = env->NewGlobalRef(jobj); |
| 84 } | 84 } |
| 85 | 85 |
| 86 void ChromeDownloadDelegate::OnDownloadStarted(const std::string& filename) { | |
| 87 JNIEnv* env = base::android::AttachCurrentThread(); | |
| 88 ScopedJavaLocalRef<jstring> jfilename = ConvertUTF8ToJavaString( | |
| 89 env, filename); | |
| 90 Java_ChromeDownloadDelegate_onDownloadStarted(env, java_ref_, jfilename); | |
| 91 } | |
| 92 | |
| 93 void ChromeDownloadDelegate::EnqueueDownloadManagerRequest( | 86 void ChromeDownloadDelegate::EnqueueDownloadManagerRequest( |
| 94 const std::string& url, | 87 const std::string& url, |
| 95 const std::string& user_agent, | 88 const std::string& user_agent, |
| 96 const base::string16& file_name, | 89 const base::string16& file_name, |
| 97 const std::string& mime_type, | 90 const std::string& mime_type, |
| 98 const std::string& cookie, | 91 const std::string& cookie, |
| 99 const std::string& referer) { | 92 const std::string& referer) { |
| 100 JNIEnv* env = base::android::AttachCurrentThread(); | 93 JNIEnv* env = base::android::AttachCurrentThread(); |
| 101 ScopedJavaLocalRef<jstring> jurl = | 94 ScopedJavaLocalRef<jstring> jurl = |
| 102 ConvertUTF8ToJavaString(env, url); | 95 ConvertUTF8ToJavaString(env, url); |
| (...skipping 18 matching lines...) Expand all Loading... |
| 121 auto* web_contents = WebContents::FromJavaWebContents(jweb_contents); | 114 auto* web_contents = WebContents::FromJavaWebContents(jweb_contents); |
| 122 ChromeDownloadDelegate::CreateForWebContents(web_contents); | 115 ChromeDownloadDelegate::CreateForWebContents(web_contents); |
| 123 ChromeDownloadDelegate::FromWebContents(web_contents)->SetJavaRef(env, obj); | 116 ChromeDownloadDelegate::FromWebContents(web_contents)->SetJavaRef(env, obj); |
| 124 } | 117 } |
| 125 | 118 |
| 126 bool RegisterChromeDownloadDelegate(JNIEnv* env) { | 119 bool RegisterChromeDownloadDelegate(JNIEnv* env) { |
| 127 return RegisterNativesImpl(env); | 120 return RegisterNativesImpl(env); |
| 128 } | 121 } |
| 129 | 122 |
| 130 DEFINE_WEB_CONTENTS_USER_DATA_KEY(ChromeDownloadDelegate); | 123 DEFINE_WEB_CONTENTS_USER_DATA_KEY(ChromeDownloadDelegate); |
| OLD | NEW |