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

Side by Side Diff: content/browser/android/download_controller_android_impl.h

Issue 1717783002: Fix an issue that download filename from content disposition is not sanitized (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: pass localized default download file name Created 4 years, 10 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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 // This class pairs with DownloadController on Java side to forward requests 5 // This class pairs with DownloadController on Java side to forward requests
6 // for GET downloads to the current DownloadListener. POST downloads are 6 // for GET downloads to the current DownloadListener. POST downloads are
7 // handled on the native side. 7 // handled on the native side.
8 // 8 //
9 // Both classes are Singleton classes. C++ object owns Java object. 9 // Both classes are Singleton classes. C++ object owns Java object.
10 // 10 //
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
52 // Called when DownloadController Java object is instantiated. 52 // Called when DownloadController Java object is instantiated.
53 void Init(JNIEnv* env, jobject obj); 53 void Init(JNIEnv* env, jobject obj);
54 54
55 // Removes a deferred download from |deferred_downloads_|. 55 // Removes a deferred download from |deferred_downloads_|.
56 void CancelDeferredDownload(DeferredDownloadObserver* observer); 56 void CancelDeferredDownload(DeferredDownloadObserver* observer);
57 57
58 // DownloadControllerAndroid implementation. 58 // DownloadControllerAndroid implementation.
59 void AcquireFileAccessPermission( 59 void AcquireFileAccessPermission(
60 WebContents* web_contents, 60 WebContents* web_contents,
61 const AcquireFileAccessPermissionCallback& callback) override; 61 const AcquireFileAccessPermissionCallback& callback) override;
62 void SetDefaultDownloadFileName(const std::string& file_name) override;
62 63
63 private: 64 private:
64 // Used to store all the information about an Android download. 65 // Used to store all the information about an Android download.
65 struct DownloadInfoAndroid { 66 struct DownloadInfoAndroid {
66 explicit DownloadInfoAndroid(net::URLRequest* request); 67 explicit DownloadInfoAndroid(net::URLRequest* request);
67 ~DownloadInfoAndroid(); 68 ~DownloadInfoAndroid();
68 69
69 // The URL from which we are downloading. This is the final URL after any 70 // The URL from which we are downloading. This is the final URL after any
70 // redirection by the server for |original_url_|. 71 // redirection by the server for |original_url_|.
71 GURL url; 72 GURL url;
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
135 void OnDangerousDownload(DownloadItem *item); 136 void OnDangerousDownload(DownloadItem *item);
136 137
137 base::android::ScopedJavaLocalRef<jobject> GetContentViewCoreFromWebContents( 138 base::android::ScopedJavaLocalRef<jobject> GetContentViewCoreFromWebContents(
138 WebContents* web_contents); 139 WebContents* web_contents);
139 140
140 // Creates Java object if it is not created already and returns it. 141 // Creates Java object if it is not created already and returns it.
141 JavaObject* GetJavaObject(); 142 JavaObject* GetJavaObject();
142 143
143 JavaObject* java_object_; 144 JavaObject* java_object_;
144 145
146 std::string default_file_name_;
147
145 ScopedVector<DeferredDownloadObserver> deferred_downloads_; 148 ScopedVector<DeferredDownloadObserver> deferred_downloads_;
146 149
147 DISALLOW_COPY_AND_ASSIGN(DownloadControllerAndroidImpl); 150 DISALLOW_COPY_AND_ASSIGN(DownloadControllerAndroidImpl);
148 }; 151 };
149 152
150 } // namespace content 153 } // namespace content
151 154
152 #endif // CONTENT_BROWSER_ANDROID_DOWNLOAD_CONTROLLER_ANDROID_IMPL_H_ 155 #endif // CONTENT_BROWSER_ANDROID_DOWNLOAD_CONTROLLER_ANDROID_IMPL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698