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 d2fc2564e87015459297aebe430886d67495338e..a665db344877127f0a3248acd4f32a11c9a3573c 100644 |
--- a/chrome/browser/download/download_shelf_context_menu.cc |
+++ b/chrome/browser/download/download_shelf_context_menu.cc |
@@ -79,6 +79,7 @@ bool DownloadShelfContextMenu::IsCommandIdEnabled(int command_id) const { |
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: |
@@ -138,6 +139,9 @@ void DownloadShelfContextMenu::ExecuteCommand(int command_id, int event_flags) { |
prefs->DisableAutoOpenBasedOnExtension(path); |
break; |
} |
+ case PLATFORM_OPEN: |
+ DownloadItemModel(download_item_).OpenUsingPlatformHandler(); |
+ break; |
case CANCEL: |
download_item_->Cancel(true /* Cancelled by user */); |
break; |
@@ -221,6 +225,8 @@ string16 DownloadShelfContextMenu::GetLabelForCommandId(int command_id) const { |
return l10n_util::GetStringUTF16(IDS_DOWNLOAD_MENU_OPEN); |
case ALWAYS_OPEN_TYPE: |
return l10n_util::GetStringUTF16(IDS_DOWNLOAD_MENU_ALWAYS_OPEN_TYPE); |
+ 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: |
@@ -290,6 +296,9 @@ ui::SimpleMenuModel* DownloadShelfContextMenu::GetFinishedMenuModel() { |
OPEN_WHEN_COMPLETE, IDS_DOWNLOAD_MENU_OPEN); |
finished_download_menu_model_->AddCheckItemWithStringId( |
ALWAYS_OPEN_TYPE, IDS_DOWNLOAD_MENU_ALWAYS_OPEN_TYPE); |
+ if (DownloadItemModel(download_item_).ShouldPreferOpeningInBrowser()) |
+ finished_download_menu_model_->AddItemWithStringId( |
+ PLATFORM_OPEN, IDS_DOWNLOAD_MENU_PLATFORM_OPEN); |
finished_download_menu_model_->AddSeparator(ui::NORMAL_SEPARATOR); |
finished_download_menu_model_->AddItemWithStringId( |
SHOW_IN_FOLDER, IDS_DOWNLOAD_MENU_SHOW); |