| Index: chrome/browser/download/download_shelf_context_menu.cc
|
| diff --git a/chrome/browser/download/download_shelf_context_menu.cc b/chrome/browser/download/download_shelf_context_menu.cc
|
| index 0c87b3d88cb56d55f3587fbaddde801f243adeff..275050d099378d819da04484eec38788a197adfc 100644
|
| --- a/chrome/browser/download/download_shelf_context_menu.cc
|
| +++ b/chrome/browser/download/download_shelf_context_menu.cc
|
| @@ -5,18 +5,8 @@
|
| #include "chrome/browser/download/download_shelf_context_menu.h"
|
|
|
| #include "base/command_line.h"
|
| -#include "chrome/browser/browser_process.h"
|
| -#include "chrome/browser/download/download_crx_util.h"
|
| #include "chrome/browser/download/download_item_model.h"
|
| -#include "chrome/browser/download/download_prefs.h"
|
| -#include "chrome/browser/download/download_target_determiner.h"
|
| -#include "chrome/browser/safe_browsing/download_protection_service.h"
|
| -#include "chrome/browser/safe_browsing/safe_browsing_service.h"
|
| -#include "chrome/common/url_constants.h"
|
| #include "chrome/grit/generated_resources.h"
|
| -#include "content/public/browser/download_item.h"
|
| -#include "content/public/browser/download_manager.h"
|
| -#include "content/public/browser/page_navigator.h"
|
| #include "content/public/common/content_switches.h"
|
| #include "extensions/common/extension.h"
|
| #include "ui/base/l10n/l10n_util.h"
|
| @@ -41,21 +31,11 @@ DownloadShelfContextMenu::~DownloadShelfContextMenu() {
|
| DetachFromDownloadItem();
|
| }
|
|
|
| -DownloadShelfContextMenu::DownloadShelfContextMenu(
|
| - DownloadItem* download_item,
|
| - content::PageNavigator* navigator)
|
| +DownloadShelfContextMenu::DownloadShelfContextMenu(DownloadItem* download_item)
|
| : download_item_(download_item),
|
| - navigator_(navigator) {
|
| + download_commands_(new DownloadCommands(download_item)) {
|
| DCHECK(download_item_);
|
| download_item_->AddObserver(this);
|
| -
|
| -#if defined(OS_WIN)
|
| - is_adobe_pdf_reader_up_to_date_ = false;
|
| - if (IsDownloadPdf() && IsAdobeReaderDefaultPDFViewer()) {
|
| - is_adobe_pdf_reader_up_to_date_ =
|
| - DownloadTargetDeterminer::IsAdobeReaderUpToDate();
|
| - }
|
| -#endif // defined(OS_WIN)
|
| }
|
|
|
| ui::SimpleMenuModel* DownloadShelfContextMenu::GetMenuModel() {
|
| @@ -77,202 +57,127 @@ ui::SimpleMenuModel* DownloadShelfContextMenu::GetMenuModel() {
|
| model = GetFinishedMenuModel();
|
| else if (download_item_->GetState() == DownloadItem::INTERRUPTED)
|
| model = GetInterruptedMenuModel();
|
| + else if (download_item_->IsPaused())
|
| + model = GetInProgressPausedMenuModel();
|
| else
|
| model = GetInProgressMenuModel();
|
| return model;
|
| }
|
|
|
| bool DownloadShelfContextMenu::IsCommandIdEnabled(int command_id) const {
|
| - if (!download_item_)
|
| + if (!download_commands_)
|
| return false;
|
|
|
| - switch (static_cast<ContextMenuCommands>(command_id)) {
|
| - case SHOW_IN_FOLDER:
|
| - return download_item_->CanShowInFolder();
|
| - case OPEN_WHEN_COMPLETE:
|
| - case PLATFORM_OPEN:
|
| - return download_item_->CanOpenDownload() &&
|
| - !download_crx_util::IsExtensionDownload(*download_item_);
|
| - case ALWAYS_OPEN_TYPE:
|
| - // For temporary downloads, the target filename might be a temporary
|
| - // filename. Don't base an "Always open" decision based on it. Also
|
| - // exclude extensions.
|
| - return download_item_->CanOpenDownload() &&
|
| - !download_crx_util::IsExtensionDownload(*download_item_);
|
| - case CANCEL:
|
| - return !download_item_->IsDone();
|
| - case TOGGLE_PAUSE:
|
| - return !download_item_->IsDone();
|
| - case DISCARD:
|
| - case KEEP:
|
| - case LEARN_MORE_SCANNING:
|
| - case LEARN_MORE_INTERRUPTED:
|
| - return true;
|
| - }
|
| - NOTREACHED();
|
| - return false;
|
| + return download_commands_->IsCommandEnabled(
|
| + static_cast<DownloadCommands::Command>(command_id));
|
| }
|
|
|
| bool DownloadShelfContextMenu::IsCommandIdChecked(int command_id) const {
|
| - if (!download_item_)
|
| + if (!download_commands_)
|
| return false;
|
|
|
| - switch (command_id) {
|
| - case OPEN_WHEN_COMPLETE:
|
| - return download_item_->GetOpenWhenComplete() ||
|
| - download_crx_util::IsExtensionDownload(*download_item_);
|
| - case ALWAYS_OPEN_TYPE:
|
| -#if defined(OS_WIN) || defined(OS_LINUX) || \
|
| - (defined(OS_MACOSX) && !defined(OS_IOS))
|
| - if (CanOpenPdfInSystemViewer()) {
|
| - DownloadPrefs* prefs = DownloadPrefs::FromBrowserContext(
|
| - download_item_->GetBrowserContext());
|
| - return prefs->ShouldOpenPdfInSystemReader();
|
| - }
|
| -#endif
|
| - return download_item_->ShouldOpenFileBasedOnExtension();
|
| - case TOGGLE_PAUSE:
|
| - return download_item_->IsPaused();
|
| - }
|
| - return false;
|
| + return download_commands_->IsCommandChecked(
|
| + static_cast<DownloadCommands::Command>(command_id));
|
| }
|
|
|
| bool DownloadShelfContextMenu::IsCommandIdVisible(int command_id) const {
|
| - if (!download_item_)
|
| + if (!download_commands_)
|
| return false;
|
|
|
| - if (command_id == PLATFORM_OPEN)
|
| - return (DownloadItemModel(download_item_).ShouldPreferOpeningInBrowser());
|
| -
|
| - return true;
|
| + return download_commands_->IsCommandVisible(
|
| + static_cast<DownloadCommands::Command>(command_id));
|
| }
|
|
|
| void DownloadShelfContextMenu::ExecuteCommand(int command_id, int event_flags) {
|
| - if (!download_item_)
|
| + if (!download_commands_)
|
| return;
|
|
|
| - switch (static_cast<ContextMenuCommands>(command_id)) {
|
| - case SHOW_IN_FOLDER:
|
| - download_item_->ShowDownloadInShell();
|
| - break;
|
| - case OPEN_WHEN_COMPLETE:
|
| - download_item_->OpenDownload();
|
| - break;
|
| - case ALWAYS_OPEN_TYPE: {
|
| - bool is_checked = IsCommandIdChecked(ALWAYS_OPEN_TYPE);
|
| - DownloadPrefs* prefs = DownloadPrefs::FromBrowserContext(
|
| - download_item_->GetBrowserContext());
|
| -#if defined(OS_WIN) || defined(OS_LINUX) || \
|
| - (defined(OS_MACOSX) && !defined(OS_IOS))
|
| - if (CanOpenPdfInSystemViewer()) {
|
| - prefs->SetShouldOpenPdfInSystemReader(!is_checked);
|
| - DownloadItemModel(download_item_).SetShouldPreferOpeningInBrowser(
|
| - is_checked);
|
| - break;
|
| - }
|
| -#endif
|
| - base::FilePath path = download_item_->GetTargetFilePath();
|
| - if (is_checked)
|
| - prefs->DisableAutoOpenBasedOnExtension(path);
|
| - else
|
| - prefs->EnableAutoOpenBasedOnExtension(path);
|
| - break;
|
| - }
|
| - case PLATFORM_OPEN:
|
| - DownloadItemModel(download_item_).OpenUsingPlatformHandler();
|
| - break;
|
| - case CANCEL:
|
| - download_item_->Cancel(true /* Cancelled by user */);
|
| - break;
|
| - case TOGGLE_PAUSE:
|
| - if (download_item_->GetState() == DownloadItem::IN_PROGRESS &&
|
| - !download_item_->IsPaused()) {
|
| - download_item_->Pause();
|
| - } else {
|
| - download_item_->Resume();
|
| - }
|
| - break;
|
| - case DISCARD:
|
| - download_item_->Remove();
|
| - break;
|
| - case KEEP:
|
| - download_item_->ValidateDangerousDownload();
|
| - break;
|
| - case LEARN_MORE_SCANNING: {
|
| -#if defined(FULL_SAFE_BROWSING)
|
| - using safe_browsing::DownloadProtectionService;
|
| - SafeBrowsingService* sb_service =
|
| - g_browser_process->safe_browsing_service();
|
| - DownloadProtectionService* protection_service =
|
| - (sb_service ? sb_service->download_protection_service() : NULL);
|
| - if (protection_service) {
|
| - protection_service->ShowDetailsForDownload(*download_item_, navigator_);
|
| - }
|
| -#else
|
| - // Should only be getting invoked if we are using safe browsing.
|
| - NOTREACHED();
|
| -#endif
|
| - break;
|
| - }
|
| - case LEARN_MORE_INTERRUPTED:
|
| - navigator_->OpenURL(
|
| - content::OpenURLParams(GURL(chrome::kDownloadInterruptedLearnMoreURL),
|
| - content::Referrer(),
|
| - NEW_FOREGROUND_TAB,
|
| - ui::PAGE_TRANSITION_LINK,
|
| - false));
|
| - break;
|
| - }
|
| + download_commands_->ExecuteCommand(
|
| + static_cast<DownloadCommands::Command>(command_id));
|
| }
|
|
|
| bool DownloadShelfContextMenu::GetAcceleratorForCommandId(
|
| - int command_id, ui::Accelerator* accelerator) {
|
| + int command_id,
|
| + ui::Accelerator* accelerator) {
|
| return false;
|
| }
|
|
|
| bool DownloadShelfContextMenu::IsItemForCommandIdDynamic(int command_id) const {
|
| - return command_id == TOGGLE_PAUSE;
|
| + return false;
|
| }
|
|
|
| base::string16 DownloadShelfContextMenu::GetLabelForCommandId(
|
| int command_id) const {
|
| - switch (static_cast<ContextMenuCommands>(command_id)) {
|
| - case SHOW_IN_FOLDER:
|
| - return l10n_util::GetStringUTF16(IDS_DOWNLOAD_MENU_SHOW);
|
| - case OPEN_WHEN_COMPLETE:
|
| + int id = -1;
|
| +
|
| + switch (static_cast<DownloadCommands::Command>(command_id)) {
|
| + case DownloadCommands::OPEN_WHEN_COMPLETE:
|
| if (download_item_ && !download_item_->IsDone())
|
| - return l10n_util::GetStringUTF16(IDS_DOWNLOAD_MENU_OPEN_WHEN_COMPLETE);
|
| - return l10n_util::GetStringUTF16(IDS_DOWNLOAD_MENU_OPEN);
|
| - case ALWAYS_OPEN_TYPE:
|
| - return l10n_util::GetStringUTF16(GetAlwaysOpenStringId());
|
| - case PLATFORM_OPEN:
|
| - return l10n_util::GetStringUTF16(IDS_DOWNLOAD_MENU_PLATFORM_OPEN);
|
| - case CANCEL:
|
| - return l10n_util::GetStringUTF16(IDS_DOWNLOAD_MENU_CANCEL);
|
| - case TOGGLE_PAUSE:
|
| - if (download_item_ &&
|
| - download_item_->GetState() == DownloadItem::IN_PROGRESS &&
|
| - !download_item_->IsPaused())
|
| - return l10n_util::GetStringUTF16(IDS_DOWNLOAD_MENU_PAUSE_ITEM);
|
| - return l10n_util::GetStringUTF16(IDS_DOWNLOAD_MENU_RESUME_ITEM);
|
| - case DISCARD:
|
| - return l10n_util::GetStringUTF16(IDS_DOWNLOAD_MENU_DISCARD);
|
| - case KEEP:
|
| - return l10n_util::GetStringUTF16(IDS_DOWNLOAD_MENU_KEEP);
|
| - case LEARN_MORE_SCANNING:
|
| - return l10n_util::GetStringUTF16(IDS_DOWNLOAD_MENU_LEARN_MORE_SCANNING);
|
| - case LEARN_MORE_INTERRUPTED:
|
| - return l10n_util::GetStringUTF16(
|
| - IDS_DOWNLOAD_MENU_LEARN_MORE_INTERRUPTED);
|
| + id = IDS_DOWNLOAD_MENU_OPEN_WHEN_COMPLETE;
|
| + else
|
| + id = IDS_DOWNLOAD_MENU_OPEN;
|
| + break;
|
| + case DownloadCommands::PAUSE:
|
| + id = IDS_DOWNLOAD_MENU_PAUSE_ITEM;
|
| + break;
|
| + case DownloadCommands::RESUME:
|
| + id = IDS_DOWNLOAD_MENU_RESUME_ITEM;
|
| + break;
|
| + case DownloadCommands::SHOW_IN_FOLDER:
|
| + id = IDS_DOWNLOAD_MENU_SHOW;
|
| + break;
|
| + case DownloadCommands::DISCARD:
|
| + id = IDS_DOWNLOAD_MENU_DISCARD;
|
| + break;
|
| + case DownloadCommands::KEEP:
|
| + id = IDS_DOWNLOAD_MENU_KEEP;
|
| + break;
|
| + case DownloadCommands::ALWAYS_OPEN_TYPE: {
|
| + if (download_commands_) {
|
| + bool can_open_pdf_in_system_viewer =
|
| + download_commands_->CanOpenPdfInSystemViewer();
|
| +#if defined(OS_WIN)
|
| + if (can_open_pdf_in_system_viewer) {
|
| + id = IsAdobeReaderDefaultPDFViewer()
|
| + ? IDS_DOWNLOAD_MENU_ALWAYS_OPEN_PDF_IN_READER
|
| + : IDS_DOWNLOAD_MENU_PLATFORM_OPEN_ALWAYS;
|
| + break;
|
| + }
|
| +#elif defined(OS_MACOSX) || defined(OS_LINUX)
|
| + if (can_open_pdf_in_system_viewer) {
|
| + id = IDS_DOWNLOAD_MENU_PLATFORM_OPEN_ALWAYS;
|
| + break;
|
| + }
|
| +#endif
|
| + }
|
| + id = IDS_DOWNLOAD_MENU_ALWAYS_OPEN_TYPE;
|
| + break;
|
| + }
|
| + case DownloadCommands::PLATFORM_OPEN:
|
| + id = IDS_DOWNLOAD_MENU_PLATFORM_OPEN;
|
| + break;
|
| + case DownloadCommands::CANCEL:
|
| + id = IDS_DOWNLOAD_MENU_CANCEL;
|
| + break;
|
| + case DownloadCommands::LEARN_MORE_SCANNING:
|
| + id = IDS_DOWNLOAD_MENU_LEARN_MORE_SCANNING;
|
| + break;
|
| + case DownloadCommands::LEARN_MORE_INTERRUPTED:
|
| + id = IDS_DOWNLOAD_MENU_LEARN_MORE_INTERRUPTED;
|
| + break;
|
| + case DownloadCommands::RETRY:
|
| + NOTREACHED();
|
| + return base::string16();
|
| }
|
| - NOTREACHED();
|
| - return base::string16();
|
| + CHECK(id != -1);
|
| + return l10n_util::GetStringUTF16(id);
|
| }
|
|
|
| void DownloadShelfContextMenu::DetachFromDownloadItem() {
|
| if (!download_item_)
|
| return;
|
|
|
| + download_commands_.reset();
|
| download_item_->RemoveObserver(this);
|
| download_item_ = NULL;
|
| }
|
| @@ -288,40 +193,72 @@ ui::SimpleMenuModel* DownloadShelfContextMenu::GetInProgressMenuModel() {
|
|
|
| in_progress_download_menu_model_.reset(new ui::SimpleMenuModel(this));
|
|
|
| - in_progress_download_menu_model_->AddCheckItemWithStringId(
|
| - OPEN_WHEN_COMPLETE, IDS_DOWNLOAD_MENU_OPEN_WHEN_COMPLETE);
|
| - in_progress_download_menu_model_->AddCheckItemWithStringId(
|
| - ALWAYS_OPEN_TYPE, GetAlwaysOpenStringId());
|
| + in_progress_download_menu_model_->AddCheckItem(
|
| + DownloadCommands::OPEN_WHEN_COMPLETE,
|
| + GetLabelForCommandId(DownloadCommands::OPEN_WHEN_COMPLETE));
|
| + in_progress_download_menu_model_->AddCheckItem(
|
| + DownloadCommands::ALWAYS_OPEN_TYPE,
|
| + GetLabelForCommandId(DownloadCommands::ALWAYS_OPEN_TYPE));
|
| in_progress_download_menu_model_->AddSeparator(ui::NORMAL_SEPARATOR);
|
| - in_progress_download_menu_model_->AddItemWithStringId(
|
| - TOGGLE_PAUSE, IDS_DOWNLOAD_MENU_PAUSE_ITEM);
|
| - in_progress_download_menu_model_->AddItemWithStringId(
|
| - SHOW_IN_FOLDER, IDS_DOWNLOAD_MENU_SHOW);
|
| + in_progress_download_menu_model_->AddItem(
|
| + DownloadCommands::PAUSE, GetLabelForCommandId(DownloadCommands::PAUSE));
|
| + in_progress_download_menu_model_->AddItem(
|
| + DownloadCommands::SHOW_IN_FOLDER,
|
| + GetLabelForCommandId(DownloadCommands::SHOW_IN_FOLDER));
|
| in_progress_download_menu_model_->AddSeparator(ui::NORMAL_SEPARATOR);
|
| - in_progress_download_menu_model_->AddItemWithStringId(
|
| - CANCEL, IDS_DOWNLOAD_MENU_CANCEL);
|
| + in_progress_download_menu_model_->AddItem(
|
| + DownloadCommands::CANCEL, GetLabelForCommandId(DownloadCommands::CANCEL));
|
|
|
| return in_progress_download_menu_model_.get();
|
| }
|
|
|
| +ui::SimpleMenuModel* DownloadShelfContextMenu::GetInProgressPausedMenuModel() {
|
| + if (in_progress_download_paused_menu_model_)
|
| + return in_progress_download_paused_menu_model_.get();
|
| +
|
| + in_progress_download_paused_menu_model_.reset(new ui::SimpleMenuModel(this));
|
| +
|
| + in_progress_download_paused_menu_model_->AddCheckItem(
|
| + DownloadCommands::OPEN_WHEN_COMPLETE,
|
| + GetLabelForCommandId(DownloadCommands::OPEN_WHEN_COMPLETE));
|
| + in_progress_download_paused_menu_model_->AddCheckItem(
|
| + DownloadCommands::ALWAYS_OPEN_TYPE,
|
| + GetLabelForCommandId(DownloadCommands::ALWAYS_OPEN_TYPE));
|
| + in_progress_download_paused_menu_model_->AddSeparator(ui::NORMAL_SEPARATOR);
|
| + in_progress_download_paused_menu_model_->AddItem(
|
| + DownloadCommands::RESUME, GetLabelForCommandId(DownloadCommands::RESUME));
|
| + in_progress_download_paused_menu_model_->AddItem(
|
| + DownloadCommands::SHOW_IN_FOLDER,
|
| + GetLabelForCommandId(DownloadCommands::SHOW_IN_FOLDER));
|
| + in_progress_download_paused_menu_model_->AddSeparator(ui::NORMAL_SEPARATOR);
|
| + in_progress_download_paused_menu_model_->AddItem(
|
| + DownloadCommands::CANCEL, GetLabelForCommandId(DownloadCommands::CANCEL));
|
| +
|
| + return in_progress_download_paused_menu_model_.get();
|
| +}
|
| +
|
| ui::SimpleMenuModel* DownloadShelfContextMenu::GetFinishedMenuModel() {
|
| if (finished_download_menu_model_)
|
| return finished_download_menu_model_.get();
|
|
|
| finished_download_menu_model_.reset(new ui::SimpleMenuModel(this));
|
|
|
| - finished_download_menu_model_->AddItemWithStringId(
|
| - OPEN_WHEN_COMPLETE, IDS_DOWNLOAD_MENU_OPEN);
|
| - finished_download_menu_model_->AddCheckItemWithStringId(
|
| - ALWAYS_OPEN_TYPE, GetAlwaysOpenStringId());
|
| - finished_download_menu_model_->AddItemWithStringId(
|
| - PLATFORM_OPEN, IDS_DOWNLOAD_MENU_PLATFORM_OPEN);
|
| + finished_download_menu_model_->AddItem(
|
| + DownloadCommands::OPEN_WHEN_COMPLETE,
|
| + GetLabelForCommandId(DownloadCommands::OPEN_WHEN_COMPLETE));
|
| + finished_download_menu_model_->AddCheckItem(
|
| + DownloadCommands::ALWAYS_OPEN_TYPE,
|
| + GetLabelForCommandId(DownloadCommands::ALWAYS_OPEN_TYPE));
|
| + finished_download_menu_model_->AddItem(
|
| + DownloadCommands::PLATFORM_OPEN,
|
| + GetLabelForCommandId(DownloadCommands::PLATFORM_OPEN));
|
| finished_download_menu_model_->AddSeparator(ui::NORMAL_SEPARATOR);
|
| - finished_download_menu_model_->AddItemWithStringId(
|
| - SHOW_IN_FOLDER, IDS_DOWNLOAD_MENU_SHOW);
|
| + finished_download_menu_model_->AddItem(
|
| + DownloadCommands::SHOW_IN_FOLDER,
|
| + GetLabelForCommandId(DownloadCommands::SHOW_IN_FOLDER));
|
| finished_download_menu_model_->AddSeparator(ui::NORMAL_SEPARATOR);
|
| - finished_download_menu_model_->AddItemWithStringId(
|
| - CANCEL, IDS_DOWNLOAD_MENU_CANCEL);
|
| + finished_download_menu_model_->AddItem(
|
| + DownloadCommands::CANCEL, GetLabelForCommandId(DownloadCommands::CANCEL));
|
|
|
| return finished_download_menu_model_.get();
|
| }
|
| @@ -340,20 +277,23 @@ ui::SimpleMenuModel* DownloadShelfContextMenu::GetInterruptedMenuModel() {
|
| interrupted_download_menu_model_.reset(new ui::SimpleMenuModel(this));
|
|
|
| if (IsDownloadResumptionEnabled()) {
|
| - interrupted_download_menu_model_->AddItemWithStringId(
|
| - TOGGLE_PAUSE, IDS_DOWNLOAD_MENU_RESUME_ITEM);
|
| + interrupted_download_menu_model_->AddItem(
|
| + DownloadCommands::RESUME,
|
| + GetLabelForCommandId(DownloadCommands::RESUME));
|
| }
|
| #if defined(OS_WIN)
|
| // The Help Center article is currently Windows specific.
|
| // TODO(asanka): Enable this for other platforms when the article is expanded
|
| // for other platforms.
|
| - interrupted_download_menu_model_->AddItemWithStringId(
|
| - LEARN_MORE_INTERRUPTED, IDS_DOWNLOAD_MENU_LEARN_MORE_INTERRUPTED);
|
| + interrupted_download_menu_model_->AddItem(
|
| + DownloadCommands::LEARN_MORE_INTERRUPTED,
|
| + GetLabelForCommandId(DownloadCommands::LEARN_MORE_INTERRUPTED));
|
| #endif
|
| if (IsDownloadResumptionEnabled()) {
|
| interrupted_download_menu_model_->AddSeparator(ui::NORMAL_SEPARATOR);
|
| - interrupted_download_menu_model_->AddItemWithStringId(
|
| - CANCEL, IDS_DOWNLOAD_MENU_CANCEL);
|
| + interrupted_download_menu_model_->AddItem(
|
| + DownloadCommands::CANCEL,
|
| + GetLabelForCommandId(DownloadCommands::CANCEL));
|
| }
|
|
|
| return interrupted_download_menu_model_.get();
|
| @@ -365,11 +305,12 @@ ui::SimpleMenuModel* DownloadShelfContextMenu::GetMaybeMaliciousMenuModel() {
|
|
|
| maybe_malicious_download_menu_model_.reset(new ui::SimpleMenuModel(this));
|
|
|
| - maybe_malicious_download_menu_model_->AddItemWithStringId(
|
| - KEEP, IDS_DOWNLOAD_MENU_KEEP);
|
| + maybe_malicious_download_menu_model_->AddItem(
|
| + DownloadCommands::KEEP, GetLabelForCommandId(DownloadCommands::KEEP));
|
| maybe_malicious_download_menu_model_->AddSeparator(ui::NORMAL_SEPARATOR);
|
| - maybe_malicious_download_menu_model_->AddItemWithStringId(
|
| - LEARN_MORE_SCANNING, IDS_DOWNLOAD_MENU_LEARN_MORE_SCANNING);
|
| + maybe_malicious_download_menu_model_->AddItem(
|
| + DownloadCommands::LEARN_MORE_SCANNING,
|
| + GetLabelForCommandId(DownloadCommands::LEARN_MORE_SCANNING));
|
| return maybe_malicious_download_menu_model_.get();
|
| }
|
|
|
| @@ -378,40 +319,9 @@ ui::SimpleMenuModel* DownloadShelfContextMenu::GetMaliciousMenuModel() {
|
| return malicious_download_menu_model_.get();
|
|
|
| malicious_download_menu_model_.reset(new ui::SimpleMenuModel(this));
|
| -
|
| - DownloadItemModel download_model(download_item_);
|
| - malicious_download_menu_model_->AddItemWithStringId(
|
| - LEARN_MORE_SCANNING, IDS_DOWNLOAD_MENU_LEARN_MORE_SCANNING);
|
| + malicious_download_menu_model_->AddItem(
|
| + DownloadCommands::LEARN_MORE_SCANNING,
|
| + GetLabelForCommandId(DownloadCommands::LEARN_MORE_SCANNING));
|
|
|
| return malicious_download_menu_model_.get();
|
| }
|
| -
|
| -int DownloadShelfContextMenu::GetAlwaysOpenStringId() const {
|
| -#if defined(OS_WIN)
|
| - if (CanOpenPdfInSystemViewer())
|
| - return IsAdobeReaderDefaultPDFViewer()
|
| - ? IDS_DOWNLOAD_MENU_ALWAYS_OPEN_PDF_IN_READER
|
| - : IDS_DOWNLOAD_MENU_PLATFORM_OPEN_ALWAYS;
|
| -#elif defined(OS_MACOSX) || defined(OS_LINUX)
|
| - if (CanOpenPdfInSystemViewer())
|
| - return IDS_DOWNLOAD_MENU_PLATFORM_OPEN_ALWAYS;
|
| -#endif
|
| - return IDS_DOWNLOAD_MENU_ALWAYS_OPEN_TYPE;
|
| -}
|
| -
|
| -#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX)
|
| -bool DownloadShelfContextMenu::IsDownloadPdf() const {
|
| - base::FilePath path = download_item_->GetTargetFilePath();
|
| - return path.MatchesExtension(FILE_PATH_LITERAL(".pdf"));
|
| -}
|
| -#endif
|
| -
|
| -bool DownloadShelfContextMenu::CanOpenPdfInSystemViewer() const {
|
| -#if defined(OS_WIN)
|
| - return IsDownloadPdf() &&
|
| - (IsAdobeReaderDefaultPDFViewer() ? is_adobe_pdf_reader_up_to_date_ :
|
| - true);
|
| -#elif defined(OS_MACOSX) || defined(OS_LINUX)
|
| - return IsDownloadPdf();
|
| -#endif
|
| -}
|
|
|