Chromium Code Reviews| 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) { |
|
sky
2016/01/21 20:13:15
Isn't this the same as alternate_extensions = sele
asanka
2016/01/21 20:25:34
select_file_types_->extensions is a vector<vector<
|
| + 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; |