Chromium Code Reviews| OLD | NEW |
|---|---|
| 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(TOOLKIT_GTK) | 7 #if defined(TOOLKIT_GTK) |
| 8 #include <gtk/gtk.h> | 8 #include <gtk/gtk.h> |
| 9 #endif | 9 #endif |
| 10 | 10 |
| (...skipping 10 matching lines...) Expand all Loading... | |
| 21 #include "base/strings/utf_string_conversions.h" | 21 #include "base/strings/utf_string_conversions.h" |
| 22 #include "content/public/browser/browser_context.h" | 22 #include "content/public/browser/browser_context.h" |
| 23 #include "content/public/browser/browser_thread.h" | 23 #include "content/public/browser/browser_thread.h" |
| 24 #include "content/public/browser/download_manager.h" | 24 #include "content/public/browser/download_manager.h" |
| 25 #include "content/public/browser/web_contents.h" | 25 #include "content/public/browser/web_contents.h" |
| 26 #include "content/public/browser/web_contents_view.h" | 26 #include "content/public/browser/web_contents_view.h" |
| 27 #include "content/shell/browser/webkit_test_controller.h" | 27 #include "content/shell/browser/webkit_test_controller.h" |
| 28 #include "content/shell/common/shell_switches.h" | 28 #include "content/shell/common/shell_switches.h" |
| 29 #include "net/base/net_util.h" | 29 #include "net/base/net_util.h" |
| 30 | 30 |
| 31 #if defined(OS_WIN) | |
| 32 #include "ui/aura/root_window.h" | |
| 33 #include "ui/aura/window.h" | |
| 34 #endif | |
| 35 | |
| 31 namespace content { | 36 namespace content { |
| 32 | 37 |
| 33 ShellDownloadManagerDelegate::ShellDownloadManagerDelegate() | 38 ShellDownloadManagerDelegate::ShellDownloadManagerDelegate() |
| 34 : download_manager_(NULL), | 39 : download_manager_(NULL), |
| 35 suppress_prompting_(false), | 40 suppress_prompting_(false), |
| 36 weak_ptr_factory_(this) {} | 41 weak_ptr_factory_(this) {} |
| 37 | 42 |
| 38 ShellDownloadManagerDelegate::~ShellDownloadManagerDelegate(){ | 43 ShellDownloadManagerDelegate::~ShellDownloadManagerDelegate(){ |
| 39 if (download_manager_) { | 44 if (download_manager_) { |
| 40 DCHECK_EQ(static_cast<DownloadManagerDelegate*>(this), | 45 DCHECK_EQ(static_cast<DownloadManagerDelegate*>(this), |
| (...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 156 void ShellDownloadManagerDelegate::ChooseDownloadPath( | 161 void ShellDownloadManagerDelegate::ChooseDownloadPath( |
| 157 uint32 download_id, | 162 uint32 download_id, |
| 158 const DownloadTargetCallback& callback, | 163 const DownloadTargetCallback& callback, |
| 159 const base::FilePath& suggested_path) { | 164 const base::FilePath& suggested_path) { |
| 160 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 165 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| 161 DownloadItem* item = download_manager_->GetDownload(download_id); | 166 DownloadItem* item = download_manager_->GetDownload(download_id); |
| 162 if (!item || (item->GetState() != DownloadItem::IN_PROGRESS)) | 167 if (!item || (item->GetState() != DownloadItem::IN_PROGRESS)) |
| 163 return; | 168 return; |
| 164 | 169 |
| 165 base::FilePath result; | 170 base::FilePath result; |
| 166 #if defined(OS_WIN) && !defined(USE_AURA) | 171 #if defined(OS_WIN) |
|
scottmg
2014/01/14 21:12:37
did you mean to remove this? if not, it might stil
jam
2014/01/14 21:54:32
yep i meant to remove it since we should have impl
scottmg
2014/01/14 22:00:24
ok
| |
| 167 std::wstring file_part = base::FilePath(suggested_path).BaseName().value(); | 172 std::wstring file_part = base::FilePath(suggested_path).BaseName().value(); |
| 168 wchar_t file_name[MAX_PATH]; | 173 wchar_t file_name[MAX_PATH]; |
| 169 base::wcslcpy(file_name, file_part.c_str(), arraysize(file_name)); | 174 base::wcslcpy(file_name, file_part.c_str(), arraysize(file_name)); |
| 170 OPENFILENAME save_as; | 175 OPENFILENAME save_as; |
| 171 ZeroMemory(&save_as, sizeof(save_as)); | 176 ZeroMemory(&save_as, sizeof(save_as)); |
| 172 save_as.lStructSize = sizeof(OPENFILENAME); | 177 save_as.lStructSize = sizeof(OPENFILENAME); |
| 173 save_as.hwndOwner = item->GetWebContents()->GetView()->GetNativeView(); | 178 save_as.hwndOwner = item->GetWebContents()->GetView()->GetNativeView()-> |
| 179 GetDispatcher()->host()->GetAcceleratedWidget(); | |
| 174 save_as.lpstrFile = file_name; | 180 save_as.lpstrFile = file_name; |
| 175 save_as.nMaxFile = arraysize(file_name); | 181 save_as.nMaxFile = arraysize(file_name); |
| 176 | 182 |
| 177 std::wstring directory; | 183 std::wstring directory; |
| 178 if (!suggested_path.empty()) | 184 if (!suggested_path.empty()) |
| 179 directory = suggested_path.DirName().value(); | 185 directory = suggested_path.DirName().value(); |
| 180 | 186 |
| 181 save_as.lpstrInitialDir = directory.c_str(); | 187 save_as.lpstrInitialDir = directory.c_str(); |
| 182 save_as.Flags = OFN_OVERWRITEPROMPT | OFN_EXPLORER | OFN_ENABLESIZING | | 188 save_as.Flags = OFN_OVERWRITEPROMPT | OFN_EXPLORER | OFN_ENABLESIZING | |
| 183 OFN_NOCHANGEDIR | OFN_PATHMUSTEXIST; | 189 OFN_NOCHANGEDIR | OFN_PATHMUSTEXIST; |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 216 DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS, result); | 222 DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS, result); |
| 217 } | 223 } |
| 218 | 224 |
| 219 void ShellDownloadManagerDelegate::SetDownloadBehaviorForTesting( | 225 void ShellDownloadManagerDelegate::SetDownloadBehaviorForTesting( |
| 220 const base::FilePath& default_download_path) { | 226 const base::FilePath& default_download_path) { |
| 221 default_download_path_ = default_download_path; | 227 default_download_path_ = default_download_path; |
| 222 suppress_prompting_ = true; | 228 suppress_prompting_ = true; |
| 223 } | 229 } |
| 224 | 230 |
| 225 } // namespace content | 231 } // namespace content |
| OLD | NEW |