Chromium Code Reviews| Index: chrome/browser/ui/webui/extensions/extension_loader_handler.cc |
| diff --git a/chrome/browser/ui/webui/extensions/extension_loader_handler.cc b/chrome/browser/ui/webui/extensions/extension_loader_handler.cc |
| index bf47de246f8be327b89911bc87f8832bb9da1387..0cf4cc71e1508fc2ed918593a61c6e2bcdc881b7 100644 |
| --- a/chrome/browser/ui/webui/extensions/extension_loader_handler.cc |
| +++ b/chrome/browser/ui/webui/extensions/extension_loader_handler.cc |
| @@ -99,11 +99,16 @@ void ExtensionLoaderHandler::FileHelper::ChooseFile() { |
| static const ui::SelectFileDialog::Type kSelectType = |
| ui::SelectFileDialog::SELECT_FOLDER; |
| + gfx::NativeWindow parent_window = |
| + loader_handler_->web_ui()->GetWebContents()->GetTopLevelNativeWindow(); |
| if (!load_extension_dialog_.get()) { |
| load_extension_dialog_ = ui::SelectFileDialog::Create( |
| this, |
| new ChromeSelectFilePolicy( |
| loader_handler_->web_ui()->GetWebContents())); |
| + } else if (load_extension_dialog_->IsRunning(parent_window)) { |
| + LOG(ERROR) << "Select file dialog already in use!"; |
|
Devlin
2014/12/04 21:39:10
Generally, we don't like to log errors for things
|
| + return; |
| } |
| load_extension_dialog_->SelectFile( |
| @@ -113,7 +118,7 @@ void ExtensionLoaderHandler::FileHelper::ChooseFile() { |
| NULL, |
| kFileTypeIndex, |
| base::FilePath::StringType(), |
| - loader_handler_->web_ui()->GetWebContents()->GetTopLevelNativeWindow(), |
| + parent_window, |
| NULL); |
| content::RecordComputedAction("Options_LoadUnpackedExtension"); |