Index: chrome/browser/download/chrome_download_manager_delegate.cc |
diff --git a/chrome/browser/download/chrome_download_manager_delegate.cc b/chrome/browser/download/chrome_download_manager_delegate.cc |
index 3d609fb2e733224ca63ce2239f094415f6a16373..4e4a18cb7d7c7d9c59d205280b01663341f0336a 100644 |
--- a/chrome/browser/download/chrome_download_manager_delegate.cc |
+++ b/chrome/browser/download/chrome_download_manager_delegate.cc |
@@ -465,6 +465,13 @@ void ChromeDownloadManagerDelegate::OpenDownload(DownloadItem* download) { |
NEW_FOREGROUND_TAB, |
ui::PAGE_TRANSITION_LINK, |
false); |
+ |
+ if (download->GetOriginalMimeType() == "application/x-x509-user-cert") { |
+ params = content::OpenURLParams(GURL("chrome://settings/certificates"), |
+ content::Referrer(), NEW_FOREGROUND_TAB, |
+ ui::PAGE_TRANSITION_LINK, false); |
+ } |
+ |
browser->OpenURL(params); |
RecordDownloadOpenMethod(DOWNLOAD_OPEN_METHOD_DEFAULT_BROWSER); |
#else |
@@ -720,6 +727,11 @@ void ChromeDownloadManagerDelegate::OnDownloadTargetDetermined( |
target_info->is_filetype_handled_safely) |
DownloadItemModel(item).SetShouldPreferOpeningInBrowser(true); |
+#if defined(OS_LINUX) || defined(OS_CHROMEOS) |
+ if (item->GetOriginalMimeType() == "application/x-x509-user-cert") |
+ DownloadItemModel(item).SetShouldPreferOpeningInBrowser(true); |
+#endif |
+ |
if (target_info->is_dangerous_file) |
DownloadItemModel(item).SetIsDangerousFileBasedOnType(true); |
} |