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

Side by Side Diff: content/shell/browser/shell_download_manager_delegate.cc

Issue 2453633006: [downloads] Move platform specific code out of DownloadTargetDeterminer. (Closed)
Patch Set: . Created 4 years, 1 month 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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 "content/shell/browser/shell_download_manager_delegate.h" 5 #include "content/shell/browser/shell_download_manager_delegate.h"
6 6
7 #if defined(OS_WIN) 7 #if defined(OS_WIN)
8 #include <windows.h> 8 #include <windows.h>
9 #include <commdlg.h> 9 #include <commdlg.h>
10 #endif 10 #endif
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
66 // SetDownloadManager, the system is not fully initialized. 66 // SetDownloadManager, the system is not fully initialized.
67 if (default_download_path_.empty()) { 67 if (default_download_path_.empty()) {
68 default_download_path_ = download_manager_->GetBrowserContext()->GetPath(). 68 default_download_path_ = download_manager_->GetBrowserContext()->GetPath().
69 Append(FILE_PATH_LITERAL("Downloads")); 69 Append(FILE_PATH_LITERAL("Downloads"));
70 } 70 }
71 71
72 if (!download->GetForcedFilePath().empty()) { 72 if (!download->GetForcedFilePath().empty()) {
73 callback.Run(download->GetForcedFilePath(), 73 callback.Run(download->GetForcedFilePath(),
74 DownloadItem::TARGET_DISPOSITION_OVERWRITE, 74 DownloadItem::TARGET_DISPOSITION_OVERWRITE,
75 DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS, 75 DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS,
76 download->GetForcedFilePath()); 76 download->GetForcedFilePath(), DOWNLOAD_INTERRUPT_REASON_NONE);
77 return true; 77 return true;
78 } 78 }
79 79
80 FilenameDeterminedCallback filename_determined_callback = 80 FilenameDeterminedCallback filename_determined_callback =
81 base::Bind(&ShellDownloadManagerDelegate::OnDownloadPathGenerated, 81 base::Bind(&ShellDownloadManagerDelegate::OnDownloadPathGenerated,
82 weak_ptr_factory_.GetWeakPtr(), 82 weak_ptr_factory_.GetWeakPtr(),
83 download->GetId(), 83 download->GetId(),
84 callback); 84 callback);
85 85
86 BrowserThread::PostTask( 86 BrowserThread::PostTask(
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
134 134
135 void ShellDownloadManagerDelegate::OnDownloadPathGenerated( 135 void ShellDownloadManagerDelegate::OnDownloadPathGenerated(
136 uint32_t download_id, 136 uint32_t download_id,
137 const DownloadTargetCallback& callback, 137 const DownloadTargetCallback& callback,
138 const base::FilePath& suggested_path) { 138 const base::FilePath& suggested_path) {
139 DCHECK_CURRENTLY_ON(BrowserThread::UI); 139 DCHECK_CURRENTLY_ON(BrowserThread::UI);
140 if (suppress_prompting_) { 140 if (suppress_prompting_) {
141 // Testing exit. 141 // Testing exit.
142 callback.Run(suggested_path, DownloadItem::TARGET_DISPOSITION_OVERWRITE, 142 callback.Run(suggested_path, DownloadItem::TARGET_DISPOSITION_OVERWRITE,
143 DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS, 143 DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS,
144 suggested_path.AddExtension(FILE_PATH_LITERAL(".crdownload"))); 144 suggested_path.AddExtension(FILE_PATH_LITERAL(".crdownload")),
145 DOWNLOAD_INTERRUPT_REASON_NONE);
145 return; 146 return;
146 } 147 }
147 148
148 ChooseDownloadPath(download_id, callback, suggested_path); 149 ChooseDownloadPath(download_id, callback, suggested_path);
149 } 150 }
150 151
151 void ShellDownloadManagerDelegate::ChooseDownloadPath( 152 void ShellDownloadManagerDelegate::ChooseDownloadPath(
152 uint32_t download_id, 153 uint32_t download_id,
153 const DownloadTargetCallback& callback, 154 const DownloadTargetCallback& callback,
154 const base::FilePath& suggested_path) { 155 const base::FilePath& suggested_path) {
(...skipping 23 matching lines...) Expand all
178 save_as.Flags = OFN_OVERWRITEPROMPT | OFN_EXPLORER | OFN_ENABLESIZING | 179 save_as.Flags = OFN_OVERWRITEPROMPT | OFN_EXPLORER | OFN_ENABLESIZING |
179 OFN_NOCHANGEDIR | OFN_PATHMUSTEXIST; 180 OFN_NOCHANGEDIR | OFN_PATHMUSTEXIST;
180 181
181 if (GetSaveFileName(&save_as)) 182 if (GetSaveFileName(&save_as))
182 result = base::FilePath(std::wstring(save_as.lpstrFile)); 183 result = base::FilePath(std::wstring(save_as.lpstrFile));
183 #else 184 #else
184 NOTIMPLEMENTED(); 185 NOTIMPLEMENTED();
185 #endif 186 #endif
186 187
187 callback.Run(result, DownloadItem::TARGET_DISPOSITION_PROMPT, 188 callback.Run(result, DownloadItem::TARGET_DISPOSITION_PROMPT,
188 DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS, result); 189 DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS, result,
190 DOWNLOAD_INTERRUPT_REASON_NONE);
189 } 191 }
190 192
191 void ShellDownloadManagerDelegate::SetDownloadBehaviorForTesting( 193 void ShellDownloadManagerDelegate::SetDownloadBehaviorForTesting(
192 const base::FilePath& default_download_path) { 194 const base::FilePath& default_download_path) {
193 default_download_path_ = default_download_path; 195 default_download_path_ = default_download_path;
194 suppress_prompting_ = true; 196 suppress_prompting_ = true;
195 } 197 }
196 198
197 } // namespace content 199 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698