| 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 37c55d6a14feb6b932b00063801f9f4caf33dbd0..1722b4961f84bf794b9298e1be1174e186a51de7 100644
|
| --- a/chrome/browser/download/chrome_download_manager_delegate.cc
|
| +++ b/chrome/browser/download/chrome_download_manager_delegate.cc
|
| @@ -20,6 +20,7 @@
|
| #include "base/threading/sequenced_worker_pool.h"
|
| #include "base/time/time.h"
|
| #include "build/build_config.h"
|
| +#include "chrome/common/pdf_uma.h"
|
| #include "chrome/browser/browser_process.h"
|
| #include "chrome/browser/download/download_completion_blocker.h"
|
| #include "chrome/browser/download/download_core_service.h"
|
| @@ -206,6 +207,8 @@ const DownloadPathReservationTracker::FilenameConflictAction
|
| kDefaultPlatformConflictAction = DownloadPathReservationTracker::UNIQUIFY;
|
| #endif
|
|
|
| +constexpr char kPDFMimeType[] = "application/pdf";
|
| +
|
| } // namespace
|
|
|
| ChromeDownloadManagerDelegate::ChromeDownloadManagerDelegate(Profile* profile)
|
| @@ -283,6 +286,11 @@ void ChromeDownloadManagerDelegate::ReturnNextId(
|
| bool ChromeDownloadManagerDelegate::DetermineDownloadTarget(
|
| DownloadItem* download,
|
| const content::DownloadTargetCallback& callback) {
|
| + if (download->GetTargetFilePath().empty() &&
|
| + download->GetMimeType() == kPDFMimeType && !download->HasUserGesture()) {
|
| + ReportPDFLoadStatus(PDFLoadStatus::kTriggeredNoGestureDriveByDownload);
|
| + }
|
| +
|
| DownloadTargetDeterminer::CompletionCallback target_determined_callback =
|
| base::Bind(&ChromeDownloadManagerDelegate::OnDownloadTargetDetermined,
|
| weak_ptr_factory_.GetWeakPtr(),
|
|
|