Index: ui/shell_dialogs/select_file_dialog_mac.mm |
diff --git a/ui/shell_dialogs/select_file_dialog_mac.mm b/ui/shell_dialogs/select_file_dialog_mac.mm |
index 168ef1da1505ca6445778e585dee5e7311dd6590..3844b06da6aca038eabd03bef4d9fac08baef553 100644 |
--- a/ui/shell_dialogs/select_file_dialog_mac.mm |
+++ b/ui/shell_dialogs/select_file_dialog_mac.mm |
@@ -52,7 +52,7 @@ class SelectFileDialogImpl; |
parentWindow:(NSWindow*)parentWindow; |
// NSSavePanel delegate method |
-- (BOOL)panel:(id)sender shouldShowFilename:(NSString *)filename; |
+- (BOOL)panel:(id)sender shouldEnableURL:(NSURL *)url; |
@end |
@@ -161,8 +161,9 @@ void SelectFileDialogImpl::FileWasSelected( |
bool SelectFileDialogImpl::ShouldEnableFilename(NSSavePanel* dialog, |
NSString* filename) { |
- // If this is a single open file dialog, disable selecting packages. |
- if (type_map_[dialog] != SELECT_OPEN_FILE) |
+ // If this is a single/multiple open file dialog, disable selecting packages. |
+ if (type_map_[dialog] != SELECT_OPEN_FILE && |
+ type_map_[dialog] != SELECT_OPEN_MULTI_FILE) |
return true; |
return ![[NSWorkspace sharedWorkspace] isFilePackageAtPath:filename]; |
@@ -425,8 +426,10 @@ bool SelectFileDialogImpl::HasMultipleFileTypeChoicesImpl() { |
[panel release]; |
} |
-- (BOOL)panel:(id)sender shouldShowFilename:(NSString *)filename { |
- return selectFileDialogImpl_->ShouldEnableFilename(sender, filename); |
+- (BOOL)panel:(id)sender shouldEnableURL:(NSURL *)url { |
+ if (![url isFileURL]) |
+ return NO; |
+ return selectFileDialogImpl_->ShouldEnableFilename(sender, [url path]); |
} |
@end |