Chromium Code Reviews| 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 81d7a4ebf3311d77a53bf6956957b7d4823b17af..a1e4f7d7cf955d1d719424c9450bf1a31f754719 100644 |
| --- a/chrome/browser/download/download_shelf_context_menu.cc |
| +++ b/chrome/browser/download/download_shelf_context_menu.cc |
| @@ -122,11 +122,12 @@ bool DownloadShelfContextMenu::IsCommandIdChecked(int command_id) const { |
| return download_item_->GetOpenWhenComplete() || |
| download_crx_util::IsExtensionDownload(*download_item_); |
| case ALWAYS_OPEN_TYPE: |
| -#if defined(OS_WIN) |
| +#if defined(OS_WIN) || defined(OS_LINUX) || \ |
| + (defined(OS_MACOSX) && !defined(OS_IOS)) |
| if (CanOpenPdfInReader()) { |
| DownloadPrefs* prefs = DownloadPrefs::FromBrowserContext( |
| download_item_->GetBrowserContext()); |
| - return prefs->ShouldOpenPdfInAdobeReader(); |
| + return prefs->ShouldOpenPdfInSystemReader(); |
| } |
| #endif |
| return download_item_->ShouldOpenFileBasedOnExtension(); |
| @@ -161,9 +162,10 @@ void DownloadShelfContextMenu::ExecuteCommand(int command_id, int event_flags) { |
| bool is_checked = IsCommandIdChecked(ALWAYS_OPEN_TYPE); |
| DownloadPrefs* prefs = DownloadPrefs::FromBrowserContext( |
| download_item_->GetBrowserContext()); |
| -#if defined(OS_WIN) |
| +#if defined(OS_WIN) || defined(OS_LINUX) || \ |
| + (defined(OS_MACOSX) && !defined(OS_IOS)) |
| if (CanOpenPdfInReader()) { |
| - prefs->SetShouldOpenPdfInAdobeReader(!is_checked); |
| + prefs->SetShouldOpenPdfInSystemReader(!is_checked); |
| DownloadItemModel(download_item_).SetShouldPreferOpeningInBrowser( |
| is_checked); |
| break; |
| @@ -388,17 +390,26 @@ int DownloadShelfContextMenu::GetAlwaysOpenStringId() const { |
| #if defined(OS_WIN) |
| if (CanOpenPdfInReader()) |
| return IDS_DOWNLOAD_MENU_ALWAYS_OPEN_PDF_IN_READER; |
| +#elif defined(OS_MACOSX) || defined(OS_LINUX) |
| + if (CanOpenPdfInReader()) |
| + return IDS_DOWNLOAD_MENU_PLATFORM_OPEN_ALWAYS; |
| #endif |
| return IDS_DOWNLOAD_MENU_ALWAYS_OPEN_TYPE; |
| } |
| -#if defined(OS_WIN) |
| +#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 |
| +#if defined(OS_WIN) |
| bool DownloadShelfContextMenu::CanOpenPdfInReader() const { |
|
asanka
2014/10/23 07:38:04
CanOpenPdfInSystemViewer?
palmer
2014/10/23 22:17:08
OK, changed the name.
|
| return (is_pdf_reader_up_to_date_ && IsDownloadPdf()); |
| } |
| +#elif defined(OS_MACOSX) || defined(OS_LINUX) |
| +bool DownloadShelfContextMenu::CanOpenPdfInReader() const { |
| + return IsDownloadPdf(); |
| +} |
| #endif |