Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1400)

Unified Diff: chrome/browser/download/download_prefs.cc

Issue 2369353002: Adds a pref and a policy to decide if PDFs should always be opened externally. (Closed)
Patch Set: Rebase and move the friend decl in the ifdef. Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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() {

Powered by Google App Engine
This is Rietveld 408576698