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() { |