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

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

Issue 10266015: Add the --disable-off-store-extension-install switch. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fixy fix Created 8 years, 7 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
« no previous file with comments | « chrome/browser/download/download_crx_util.cc ('k') | chrome/chrome_common.gypi » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 #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/browser_process.h" 7 #include "chrome/browser/browser_process.h"
8 #include "chrome/browser/download/download_crx_util.h"
8 #include "chrome/browser/download/download_item_model.h" 9 #include "chrome/browser/download/download_item_model.h"
9 #include "chrome/browser/download/download_prefs.h" 10 #include "chrome/browser/download/download_prefs.h"
10 #include "chrome/browser/safe_browsing/download_protection_service.h" 11 #include "chrome/browser/safe_browsing/download_protection_service.h"
11 #include "chrome/browser/safe_browsing/safe_browsing_service.h" 12 #include "chrome/browser/safe_browsing/safe_browsing_service.h"
12 #include "chrome/common/extensions/extension.h" 13 #include "chrome/common/extensions/extension.h"
13 #include "content/public/browser/download_item.h" 14 #include "content/public/browser/download_item.h"
14 #include "content/public/browser/download_manager.h" 15 #include "content/public/browser/download_manager.h"
15 #include "grit/generated_resources.h" 16 #include "grit/generated_resources.h"
16 #include "ui/base/l10n/l10n_util.h" 17 #include "ui/base/l10n/l10n_util.h"
17 18
(...skipping 18 matching lines...) Expand all
36 else if (download_item_->IsComplete()) 37 else if (download_item_->IsComplete())
37 model = GetFinishedMenuModel(); 38 model = GetFinishedMenuModel();
38 else 39 else
39 model = GetInProgressMenuModel(); 40 model = GetInProgressMenuModel();
40 return model; 41 return model;
41 } 42 }
42 43
43 bool DownloadShelfContextMenu::IsCommandIdEnabled(int command_id) const { 44 bool DownloadShelfContextMenu::IsCommandIdEnabled(int command_id) const {
44 switch (command_id) { 45 switch (command_id) {
45 case SHOW_IN_FOLDER: 46 case SHOW_IN_FOLDER:
46 case OPEN_WHEN_COMPLETE:
47 // Don't enable "Open when complete" if the download is no longer
48 // available or if it is temporary. We explicitly ignore "Open when
49 // complete" for temporary downloads.
50 return download_item_->CanShowInFolder() && 47 return download_item_->CanShowInFolder() &&
51 !download_item_->IsTemporary(); 48 !download_item_->IsTemporary();
49 case OPEN_WHEN_COMPLETE:
50 return download_item_->CanShowInFolder() &&
51 !download_item_->IsTemporary() &&
52 (!Extension::IsExtension(download_item_->GetTargetName()) ||
53 download_crx_util::ShouldOpenExtensionDownload(*download_item_));
52 case ALWAYS_OPEN_TYPE: 54 case ALWAYS_OPEN_TYPE:
53 // For temporary downloads, the target filename might be a temporary 55 // For temporary downloads, the target filename might be a temporary
54 // filename. Don't base an "Always open" decision based on it. Also 56 // filename. Don't base an "Always open" decision based on it. Also
55 // exclude extensions. 57 // exclude extensions.
56 return download_item_->CanOpenDownload() && 58 return download_item_->CanOpenDownload() &&
57 !Extension::IsExtension(download_item_->GetTargetName()) && 59 !Extension::IsExtension(download_item_->GetTargetName()) &&
58 !download_item_->IsTemporary(); 60 !download_item_->IsTemporary();
59 case CANCEL: 61 case CANCEL:
60 return download_item_->IsPartialDownload(); 62 return download_item_->IsPartialDownload();
61 case TOGGLE_PAUSE: 63 case TOGGLE_PAUSE:
(...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after
224 malicious_download_menu_model_->AddItemWithStringId( 226 malicious_download_menu_model_->AddItemWithStringId(
225 DISCARD, IDS_DOWNLOAD_MENU_DISCARD); 227 DISCARD, IDS_DOWNLOAD_MENU_DISCARD);
226 malicious_download_menu_model_->AddItemWithStringId( 228 malicious_download_menu_model_->AddItemWithStringId(
227 KEEP, IDS_DOWNLOAD_MENU_KEEP); 229 KEEP, IDS_DOWNLOAD_MENU_KEEP);
228 malicious_download_menu_model_->AddSeparator(); 230 malicious_download_menu_model_->AddSeparator();
229 malicious_download_menu_model_->AddItemWithStringId( 231 malicious_download_menu_model_->AddItemWithStringId(
230 LEARN_MORE, IDS_DOWNLOAD_MENU_LEARN_MORE); 232 LEARN_MORE, IDS_DOWNLOAD_MENU_LEARN_MORE);
231 233
232 return malicious_download_menu_model_.get(); 234 return malicious_download_menu_model_.get();
233 } 235 }
OLDNEW
« no previous file with comments | « chrome/browser/download/download_crx_util.cc ('k') | chrome/chrome_common.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698