| Index: chrome/browser/file_select_helper.cc
|
| diff --git a/chrome/browser/file_select_helper.cc b/chrome/browser/file_select_helper.cc
|
| index ff1b94356d6031225ddd499ef98777c15a6d9ccf..3be51789d2914ff5cf62b028f25b2fbd7c390702 100644
|
| --- a/chrome/browser/file_select_helper.cc
|
| +++ b/chrome/browser/file_select_helper.cc
|
| @@ -457,13 +457,21 @@ void FileSelectHelper::GetSanitizedFilenameOnUIThread(
|
| GetSanitizedFileName(params->default_file_name));
|
|
|
| #if defined(FULL_SAFE_BROWSING)
|
| + std::vector<base::FilePath::StringType> alternate_extensions;
|
| + if (select_file_types_) {
|
| + for (const auto& extensions : select_file_types_->extensions) {
|
| + alternate_extensions.insert(alternate_extensions.end(),
|
| + extensions.begin(), extensions.end());
|
| + }
|
| + }
|
| +
|
| // Note that FileChooserParams::requestor is not considered a trusted field
|
| // since it's provided by the renderer and not validated browserside.
|
| if (params->mode == FileChooserParams::Save &&
|
| - !params->default_file_name.empty()) {
|
| + (!params->default_file_name.empty() || !alternate_extensions.empty())) {
|
| GURL requestor = params->requestor;
|
| safe_browsing::CheckUnverifiedDownloadPolicy(
|
| - requestor, default_file_path,
|
| + requestor, default_file_path, alternate_extensions,
|
| base::Bind(&FileSelectHelper::ApplyUnverifiedDownloadPolicy, this,
|
| default_file_path, base::Passed(¶ms)));
|
| return;
|
|
|