| Index: chrome/browser/ui/views/select_file_dialog_extension_unittest.cc
|
| diff --git a/chrome/browser/ui/views/select_file_dialog_extension_unittest.cc b/chrome/browser/ui/views/select_file_dialog_extension_unittest.cc
|
| index 3c33fbba9b77a5f7045f17c9a1b62c0604c50689..2adcf03b7381760de7e5aba50411124cd9c84121 100644
|
| --- a/chrome/browser/ui/views/select_file_dialog_extension_unittest.cc
|
| +++ b/chrome/browser/ui/views/select_file_dialog_extension_unittest.cc
|
| @@ -34,6 +34,8 @@ class SelfDeletingClient : public SelectFileDialog::Listener {
|
| dialog_->ListenerDestroyed();
|
| }
|
|
|
| + SelectFileDialogExtension* dialog() const { return dialog_.get(); }
|
| +
|
| // SelectFileDialog::Listener implementation
|
| virtual void FileSelected(const FilePath& path,
|
| int index, void* params) OVERRIDE {
|
| @@ -46,10 +48,10 @@ class SelfDeletingClient : public SelectFileDialog::Listener {
|
|
|
| TEST_F(SelectFileDialogExtensionTest, SelfDeleting) {
|
| const int32 kTabId = 123;
|
| - // Registers itself with an internal map, so we don't need the pointer,
|
| - // and it would be unused anyway.
|
| - new SelfDeletingClient(kTabId);
|
| + SelfDeletingClient* client = new SelfDeletingClient(kTabId);
|
| // Ensure we don't crash or trip an Address Sanitizer warning about
|
| // use-after-free.
|
| SelectFileDialogExtension::OnFileSelected(kTabId, FilePath(), 0);
|
| + // Simulate closing the dialog so the listener gets invoked.
|
| + client->dialog()->ExtensionDialogClosing(NULL);
|
| }
|
|
|