diff --git a/shell/browser/electron_download_manager_delegate.cc b/shell/browser/electron_download_manager_delegate.cc index c8a26676a3646..977dd102cd734 100644 --- a/shell/browser/electron_download_manager_delegate.cc +++ b/shell/browser/electron_download_manager_delegate.cc @@ -99,14 +99,14 @@ bool GetRegistryDescriptionFromExtension(const std::string& file_ext, // Set up a filter for a Save/Open dialog, |ext_desc| as the text descriptions // of the |file_ext| types (optional), and (optionally) the default 'All Files' // view. The purpose of the filter is to show only files of a particular type in -// a Windows Save/Open dialog box. The resulting filter is returned. The filter +// a Windows Save/Open dialog box. The resulting filter is returned. The filters // created here are: // 1. only files that have 'file_ext' as their extension // 2. all files (only added if 'include_all_files' is true) // If a description is not provided for a file extension, it will be retrieved // from the registry. If the file extension does not exist in the registry, a // default description will be created (e.g. "qqq" yields "QQQ File"). -// Copied from ui/shell_dialogs/select_file_dialog_win.cc +// Modified from ui/shell_dialogs/select_file_dialog_win.cc file_dialog::Filters FormatFilterForExtensions( const std::vector& file_ext, const std::vector& ext_desc, @@ -168,6 +168,10 @@ file_dialog::Filters FormatFilterForExtensions( base::ReplaceChars(desc, "*", base::StringPiece(), &desc); } + // Remove the preceeding '.' character from the extension. + size_t ext_index = ext.find_first_not_of('.'); + if (ext_index != std::string::npos) + ext = ext.substr(ext_index); result.push_back({desc, {ext}}); }