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

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

Issue 8503018: Split DownloadItem into an ABC, an Impl, and a Mock. (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: merge Created 9 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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/download/download_shelf_context_menu.h" 5 #include "chrome/browser/download/download_shelf_context_menu.h"
6 6
7 #include "chrome/browser/download/download_item_model.h" 7 #include "chrome/browser/download/download_item_model.h"
8 #include "chrome/browser/download/download_prefs.h" 8 #include "chrome/browser/download/download_prefs.h"
9 #include "chrome/common/extensions/extension.h" 9 #include "chrome/common/extensions/extension.h"
10 #include "content/browser/download/download_item.h" 10 #include "content/browser/download/download_item.h"
(...skipping 14 matching lines...) Expand all
25 : GetInProgressMenuModel(); 25 : GetInProgressMenuModel();
26 } 26 }
27 27
28 bool DownloadShelfContextMenu::IsCommandIdEnabled(int command_id) const { 28 bool DownloadShelfContextMenu::IsCommandIdEnabled(int command_id) const {
29 switch (command_id) { 29 switch (command_id) {
30 case SHOW_IN_FOLDER: 30 case SHOW_IN_FOLDER:
31 case OPEN_WHEN_COMPLETE: 31 case OPEN_WHEN_COMPLETE:
32 return download_item_->CanShowInFolder(); 32 return download_item_->CanShowInFolder();
33 case ALWAYS_OPEN_TYPE: 33 case ALWAYS_OPEN_TYPE:
34 return download_item_->CanOpenDownload() && 34 return download_item_->CanOpenDownload() &&
35 !Extension::IsExtension(download_item_->state_info().target_name); 35 !Extension::IsExtension(download_item_->GetStateInfo().target_name);
36 case CANCEL: 36 case CANCEL:
37 return download_item_->IsPartialDownload(); 37 return download_item_->IsPartialDownload();
38 case TOGGLE_PAUSE: 38 case TOGGLE_PAUSE:
39 return download_item_->IsInProgress(); 39 return download_item_->IsInProgress();
40 default: 40 default:
41 return command_id > 0 && command_id < MENU_LAST; 41 return command_id > 0 && command_id < MENU_LAST;
42 } 42 }
43 } 43 }
44 44
45 bool DownloadShelfContextMenu::IsCommandIdChecked(int command_id) const { 45 bool DownloadShelfContextMenu::IsCommandIdChecked(int command_id) const {
46 switch (command_id) { 46 switch (command_id) {
47 case OPEN_WHEN_COMPLETE: 47 case OPEN_WHEN_COMPLETE:
48 return download_item_->open_when_complete(); 48 return download_item_->GetOpenWhenComplete();
49 case ALWAYS_OPEN_TYPE: 49 case ALWAYS_OPEN_TYPE:
50 return download_item_->ShouldOpenFileBasedOnExtension(); 50 return download_item_->ShouldOpenFileBasedOnExtension();
51 case TOGGLE_PAUSE: 51 case TOGGLE_PAUSE:
52 return download_item_->is_paused(); 52 return download_item_->IsPaused();
53 } 53 }
54 return false; 54 return false;
55 } 55 }
56 56
57 void DownloadShelfContextMenu::ExecuteCommand(int command_id) { 57 void DownloadShelfContextMenu::ExecuteCommand(int command_id) {
58 switch (command_id) { 58 switch (command_id) {
59 case SHOW_IN_FOLDER: 59 case SHOW_IN_FOLDER:
60 download_item_->ShowDownloadInShell(); 60 download_item_->ShowDownloadInShell();
61 break; 61 break;
62 case OPEN_WHEN_COMPLETE: 62 case OPEN_WHEN_COMPLETE:
63 download_item_->OpenDownload(); 63 download_item_->OpenDownload();
64 break; 64 break;
65 case ALWAYS_OPEN_TYPE: { 65 case ALWAYS_OPEN_TYPE: {
66 DownloadPrefs* prefs = DownloadPrefs::FromDownloadManager( 66 DownloadPrefs* prefs = DownloadPrefs::FromDownloadManager(
67 download_item_->download_manager()); 67 download_item_->GetDownloadManager());
68 FilePath path = download_item_->GetUserVerifiedFilePath(); 68 FilePath path = download_item_->GetUserVerifiedFilePath();
69 if (!IsCommandIdChecked(ALWAYS_OPEN_TYPE)) 69 if (!IsCommandIdChecked(ALWAYS_OPEN_TYPE))
70 prefs->EnableAutoOpenBasedOnExtension(path); 70 prefs->EnableAutoOpenBasedOnExtension(path);
71 else 71 else
72 prefs->DisableAutoOpenBasedOnExtension(path); 72 prefs->DisableAutoOpenBasedOnExtension(path);
73 break; 73 break;
74 } 74 }
75 case CANCEL: 75 case CANCEL:
76 download_model_->CancelTask(); 76 download_model_->CancelTask();
77 break; 77 break;
(...skipping 24 matching lines...) Expand all
102 return l10n_util::GetStringUTF16(IDS_DOWNLOAD_MENU_SHOW); 102 return l10n_util::GetStringUTF16(IDS_DOWNLOAD_MENU_SHOW);
103 case OPEN_WHEN_COMPLETE: 103 case OPEN_WHEN_COMPLETE:
104 if (download_item_->IsInProgress()) 104 if (download_item_->IsInProgress())
105 return l10n_util::GetStringUTF16(IDS_DOWNLOAD_MENU_OPEN_WHEN_COMPLETE); 105 return l10n_util::GetStringUTF16(IDS_DOWNLOAD_MENU_OPEN_WHEN_COMPLETE);
106 return l10n_util::GetStringUTF16(IDS_DOWNLOAD_MENU_OPEN); 106 return l10n_util::GetStringUTF16(IDS_DOWNLOAD_MENU_OPEN);
107 case ALWAYS_OPEN_TYPE: 107 case ALWAYS_OPEN_TYPE:
108 return l10n_util::GetStringUTF16(IDS_DOWNLOAD_MENU_ALWAYS_OPEN_TYPE); 108 return l10n_util::GetStringUTF16(IDS_DOWNLOAD_MENU_ALWAYS_OPEN_TYPE);
109 case CANCEL: 109 case CANCEL:
110 return l10n_util::GetStringUTF16(IDS_DOWNLOAD_MENU_CANCEL); 110 return l10n_util::GetStringUTF16(IDS_DOWNLOAD_MENU_CANCEL);
111 case TOGGLE_PAUSE: { 111 case TOGGLE_PAUSE: {
112 if (download_item_->is_paused()) 112 if (download_item_->IsPaused())
113 return l10n_util::GetStringUTF16(IDS_DOWNLOAD_MENU_RESUME_ITEM); 113 return l10n_util::GetStringUTF16(IDS_DOWNLOAD_MENU_RESUME_ITEM);
114 return l10n_util::GetStringUTF16(IDS_DOWNLOAD_MENU_PAUSE_ITEM); 114 return l10n_util::GetStringUTF16(IDS_DOWNLOAD_MENU_PAUSE_ITEM);
115 } 115 }
116 default: 116 default:
117 NOTREACHED(); 117 NOTREACHED();
118 break; 118 break;
119 } 119 }
120 return string16(); 120 return string16();
121 } 121 }
122 122
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
154 ALWAYS_OPEN_TYPE, IDS_DOWNLOAD_MENU_ALWAYS_OPEN_TYPE); 154 ALWAYS_OPEN_TYPE, IDS_DOWNLOAD_MENU_ALWAYS_OPEN_TYPE);
155 finished_download_menu_model_->AddSeparator(); 155 finished_download_menu_model_->AddSeparator();
156 finished_download_menu_model_->AddItemWithStringId( 156 finished_download_menu_model_->AddItemWithStringId(
157 SHOW_IN_FOLDER, IDS_DOWNLOAD_MENU_SHOW); 157 SHOW_IN_FOLDER, IDS_DOWNLOAD_MENU_SHOW);
158 finished_download_menu_model_->AddSeparator(); 158 finished_download_menu_model_->AddSeparator();
159 finished_download_menu_model_->AddItemWithStringId( 159 finished_download_menu_model_->AddItemWithStringId(
160 CANCEL, IDS_DOWNLOAD_MENU_CANCEL); 160 CANCEL, IDS_DOWNLOAD_MENU_CANCEL);
161 161
162 return finished_download_menu_model_.get(); 162 return finished_download_menu_model_.get();
163 } 163 }
OLDNEW
« no previous file with comments | « chrome/browser/download/download_manager_unittest.cc ('k') | chrome/browser/download/download_test_observer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698