Chromium Code Reviews| Index: chrome/browser/download/download_prefs.cc |
| diff --git a/chrome/browser/download/download_prefs.cc b/chrome/browser/download/download_prefs.cc |
| index 05039fe5c5eb181f30070fdf77d3618f4df86067..bfe2f265799229dc5a62f35a9fa71f4cec092b12 100644 |
| --- a/chrome/browser/download/download_prefs.cc |
| +++ b/chrome/browser/download/download_prefs.cc |
| @@ -138,7 +138,9 @@ DownloadPrefs::DownloadPrefs(Profile* profile) : profile_(profile) { |
| #if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX) |
| should_open_pdf_in_system_reader_ = |
| - prefs->GetBoolean(prefs::kOpenPdfDownloadInSystemReader); |
| + prefs->GetBoolean(prefs::kOpenPdfDownloadInSystemReader) || |
| + prefs->GetBoolean(prefs::kAlwaysOpenPdfExternally); |
| + override_adobe_version_check_for_tests_ = false; |
| #endif |
| // If the download path is dangerous we forcefully reset it. But if we do |
| @@ -340,22 +342,26 @@ void DownloadPrefs::DisableAutoOpenBasedOnExtension( |
| #if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX) |
| void DownloadPrefs::SetShouldOpenPdfInSystemReader(bool should_open) { |
| - if (should_open_pdf_in_system_reader_ == should_open) |
| - return; |
| - should_open_pdf_in_system_reader_ = should_open; |
| + should_open_pdf_in_system_reader_ = should_open || |
| + profile_->GetPrefs()->GetBoolean(prefs::kAlwaysOpenPdfExternally); |
| profile_->GetPrefs()->SetBoolean(prefs::kOpenPdfDownloadInSystemReader, |
| should_open); |
| } |
| bool DownloadPrefs::ShouldOpenPdfInSystemReader() const { |
| #if defined(OS_WIN) |
| - if (IsAdobeReaderDefaultPDFViewer() && |
| + if (!override_adobe_version_check_for_tests_ && |
|
asanka
2016/09/28 17:27:53
What should be the non-test behavior if |always_op
pastarmovj
2016/09/29 08:40:44
It will cause a regular file download and let the
|
| + IsAdobeReaderDefaultPDFViewer() && |
| !DownloadTargetDeterminer::IsAdobeReaderUpToDate()) { |
| return false; |
| } |
| #endif |
| return should_open_pdf_in_system_reader_; |
| } |
| + |
| +void DownloadPrefs::OverrideAdobeVersionCheckForTests() { |
| + override_adobe_version_check_for_tests_ = true; |
| +} |
| #endif |
| void DownloadPrefs::ResetAutoOpen() { |