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 2964b580c4e51652b36ef1b7beb445cf16b70355..f007781bc7b44b3916d2a7bffddcf0504af3d205 100644 |
--- a/chrome/browser/download/download_shelf_context_menu.cc |
+++ b/chrome/browser/download/download_shelf_context_menu.cc |
@@ -78,6 +78,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: |
@@ -136,6 +137,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; |
@@ -199,6 +203,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: |
@@ -266,6 +272,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); |