Skip to content

Commit

Permalink
fix: multiple extension filters on macOS (#23450)
Browse files Browse the repository at this point in the history
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
  • Loading branch information
trop[bot] and codebytere committed May 7, 2020
1 parent 520e0bc commit 0920d01
Showing 1 changed file with 10 additions and 1 deletion.
11 changes: 10 additions & 1 deletion shell/browser/ui/file_dialog_mac.mm
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,16 @@ void SetAllowedFileTypes(NSSavePanel* dialog, const Filters& filters) {
for (const Filter& filter : filters) {
NSMutableSet* file_type_set = [NSMutableSet set];
[filter_names addObject:@(filter.first.c_str())];
for (const std::string& ext : filter.second) {
for (std::string ext : filter.second) {
// macOS is incapable of understanding multiple file extensions,
// so we need to tokenize the extension that's been passed in.
// We want to err on the side of allowing files, so we pass
// along only the final extension ('tar.gz' => 'gz').
auto pos = ext.rfind('.');
if (pos != std::string::npos) {
ext.erase(0, pos + 1);
}

[file_type_set addObject:@(ext.c_str())];
}
[file_types_list addObject:[file_type_set allObjects]];
Expand Down

0 comments on commit 0920d01

Please sign in to comment.