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

Side by Side Diff: chrome/browser/download/download_util.cc

Issue 16533: Convert download manager to FilePath. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 11 years, 11 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2006-2008 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 // Download utility implementation 5 // Download utility implementation
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "chrome/browser/download/download_util.h" 9 #include "chrome/browser/download/download_util.h"
10 10
(...skipping 29 matching lines...) Expand all
40 40
41 // How many times to cycle the complete animation. This should be an odd number 41 // How many times to cycle the complete animation. This should be an odd number
42 // so that the animation ends faded out. 42 // so that the animation ends faded out.
43 static const int kCompleteAnimationCycles = 5; 43 static const int kCompleteAnimationCycles = 5;
44 44
45 bool BaseContextMenu::IsItemChecked(int id) const { 45 bool BaseContextMenu::IsItemChecked(int id) const {
46 switch (id) { 46 switch (id) {
47 case OPEN_WHEN_COMPLETE: 47 case OPEN_WHEN_COMPLETE:
48 return download_->open_when_complete(); 48 return download_->open_when_complete();
49 case ALWAYS_OPEN_TYPE: { 49 case ALWAYS_OPEN_TYPE: {
50 const std::wstring extension = 50 const FilePath::StringType extension =
51 file_util::GetFileExtensionFromPath(download_->full_path()); 51 file_util::GetFileExtensionFromPath(download_->full_path());
52 return download_->manager()->ShouldOpenFileExtension(extension); 52 return download_->manager()->ShouldOpenFileExtension(extension);
53 } 53 }
54 } 54 }
55 return false; 55 return false;
56 } 56 }
57 57
58 bool BaseContextMenu::IsItemDefault(int id) const { 58 bool BaseContextMenu::IsItemDefault(int id) const {
59 return false; 59 return false;
60 } 60 }
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
108 void BaseContextMenu::ExecuteCommand(int id) { 108 void BaseContextMenu::ExecuteCommand(int id) {
109 ScopedClipboardWriter scw(g_browser_process->clipboard_service()); 109 ScopedClipboardWriter scw(g_browser_process->clipboard_service());
110 switch (id) { 110 switch (id) {
111 case SHOW_IN_FOLDER: 111 case SHOW_IN_FOLDER:
112 download_->manager()->ShowDownloadInShell(download_); 112 download_->manager()->ShowDownloadInShell(download_);
113 break; 113 break;
114 case COPY_LINK: 114 case COPY_LINK:
115 scw.WriteText(download_->url()); 115 scw.WriteText(download_->url());
116 break; 116 break;
117 case COPY_PATH: 117 case COPY_PATH:
118 scw.WriteText(download_->full_path()); 118 scw.WriteText(download_->full_path().ToWStringHack());
119 break; 119 break;
120 case COPY_FILE: 120 case COPY_FILE:
121 // TODO(paulg): Move to OSExchangeData when implementing drag and drop? 121 // TODO(paulg): Move to OSExchangeData when implementing drag and drop?
122 scw.WriteFile(download_->full_path()); 122 scw.WriteFile(download_->full_path().ToWStringHack());
123 break; 123 break;
124 case OPEN_WHEN_COMPLETE: 124 case OPEN_WHEN_COMPLETE:
125 OpenDownload(download_); 125 OpenDownload(download_);
126 break; 126 break;
127 case ALWAYS_OPEN_TYPE: { 127 case ALWAYS_OPEN_TYPE: {
128 const std::wstring extension = 128 const FilePath::StringType extension =
129 file_util::GetFileExtensionFromPath(download_->full_path()); 129 file_util::GetFileExtensionFromPath(download_->full_path());
130 download_->manager()->OpenFilesOfExtension( 130 download_->manager()->OpenFilesOfExtension(
131 extension, !IsItemChecked(ALWAYS_OPEN_TYPE)); 131 extension, !IsItemChecked(ALWAYS_OPEN_TYPE));
132 break; 132 break;
133 } 133 }
134 case REMOVE_ITEM: 134 case REMOVE_ITEM:
135 download_->Remove(false); 135 download_->Remove(false);
136 break; 136 break;
137 case CANCEL: 137 case CANCEL:
138 download_->Cancel(true); 138 download_->Cancel(true);
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
214 context_menu.AppendMenuItem(REMOVE_ITEM, L"", Menu::NORMAL); 214 context_menu.AppendMenuItem(REMOVE_ITEM, L"", Menu::NORMAL);
215 context_menu.RunMenuAt(point.x, point.y); 215 context_menu.RunMenuAt(point.x, point.y);
216 } 216 }
217 217
218 DownloadDestinationContextMenu::~DownloadDestinationContextMenu() { 218 DownloadDestinationContextMenu::~DownloadDestinationContextMenu() {
219 } 219 }
220 220
221 // Download opening ------------------------------------------------------------ 221 // Download opening ------------------------------------------------------------
222 222
223 bool CanOpenDownload(DownloadItem* download) { 223 bool CanOpenDownload(DownloadItem* download) {
224 std::wstring file_to_use = download->full_path(); 224 FilePath file_to_use = download->full_path();
225 if (!download->original_name().empty()) 225 if (!download->original_name().value().empty())
226 file_to_use = download->original_name(); 226 file_to_use = download->original_name();
227 227
228 const std::wstring extension = 228 const FilePath::StringType extension =
229 file_util::GetFileExtensionFromPath(file_to_use); 229 file_util::GetFileExtensionFromPath(file_to_use);
230 return !download->manager()->IsExecutable(extension); 230 return !download->manager()->IsExecutable(extension);
231 } 231 }
232 232
233 void OpenDownload(DownloadItem* download) { 233 void OpenDownload(DownloadItem* download) {
234 if (download->state() == DownloadItem::IN_PROGRESS) 234 if (download->state() == DownloadItem::IN_PROGRESS)
235 download->set_open_when_complete(!download->open_when_complete()); 235 download->set_open_when_complete(!download->open_when_complete());
236 else if (download->state() == DownloadItem::COMPLETE) 236 else if (download->state() == DownloadItem::COMPLETE)
237 download->manager()->OpenDownloadInShell(download, NULL); 237 download->manager()->OpenDownloadInShell(download, NULL);
238 } 238 }
(...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after
409 return (GetBigProgressIconSize() - kBigIconSize) / 2; 409 return (GetBigProgressIconSize() - kBigIconSize) / 2;
410 } 410 }
411 411
412 // Download dragging 412 // Download dragging
413 void DragDownload(const DownloadItem* download, SkBitmap* icon) { 413 void DragDownload(const DownloadItem* download, SkBitmap* icon) {
414 DCHECK(download); 414 DCHECK(download);
415 415
416 // Set up our OLE machinery 416 // Set up our OLE machinery
417 scoped_refptr<OSExchangeData> data(new OSExchangeData); 417 scoped_refptr<OSExchangeData> data(new OSExchangeData);
418 if (icon) 418 if (icon)
419 drag_utils::CreateDragImageForFile(download->file_name(), icon, data); 419 drag_utils::CreateDragImageForFile(download->file_name().ToWStringHack(),
420 data->SetFilename(download->full_path()); 420 icon, data);
421 data->SetFilename(download->full_path().ToWStringHack());
421 scoped_refptr<BaseDragSource> drag_source(new BaseDragSource); 422 scoped_refptr<BaseDragSource> drag_source(new BaseDragSource);
422 423
423 // Run the drag and drop loop 424 // Run the drag and drop loop
424 DWORD effects; 425 DWORD effects;
425 DoDragDrop(data.get(), drag_source.get(), DROPEFFECT_COPY | DROPEFFECT_LINK, 426 DoDragDrop(data.get(), drag_source.get(), DROPEFFECT_COPY | DROPEFFECT_LINK,
426 &effects); 427 &effects);
427 } 428 }
428 429
429
430 } // namespace download_util 430 } // namespace download_util
431
OLDNEW
« no previous file with comments | « chrome/browser/download/download_manager_unittest.cc ('k') | chrome/browser/download/save_file.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698