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

Side by Side Diff: chrome/browser/android/download/chrome_download_delegate.cc

Issue 2871663004: Remove webContents check when download starts (Closed)
Patch Set: nits Created 3 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 unified diff | Download patch
OLDNEW
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
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
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);
OLDNEW
« no previous file with comments | « chrome/browser/android/download/chrome_download_delegate.h ('k') | chrome/browser/android/download/download_controller.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698