Chromium Code Reviews| Index: chrome/browser/ui/cocoa/extensions/extension_installed_bubble_controller.mm |
| diff --git a/chrome/browser/ui/cocoa/extensions/extension_installed_bubble_controller.mm b/chrome/browser/ui/cocoa/extensions/extension_installed_bubble_controller.mm |
| index 6099ccf0c6973765bdbcb37257a249587f08211f..e0df44eb0f25665c47f0a3b09dbc9e1620b63b00 100644 |
| --- a/chrome/browser/ui/cocoa/extensions/extension_installed_bubble_controller.mm |
| +++ b/chrome/browser/ui/cocoa/extensions/extension_installed_bubble_controller.mm |
| @@ -107,6 +107,13 @@ class ExtensionLoadedNotificationObserver : public NotificationObserver { |
| // Start showing window only after extension has fully loaded. |
| extensionObserver_.reset(new ExtensionLoadedNotificationObserver( |
| self, browser->profile())); |
| + |
| + // Watch to see if the parent window closes, and if so, close this one. |
|
Robert Sesek
2011/09/01 16:20:39
How about a test for this one?
Scott Hess - ex-Googler
2011/09/02 01:19:11
Well, I'm fresh out of ideas. I had a test which
|
| + NSNotificationCenter* center = [NSNotificationCenter defaultCenter]; |
| + [center addObserver:self |
| + selector:@selector(parentWindowWillClose:) |
| + name:NSWindowWillCloseNotification |
| + object:parentWindow_]; |
| } |
| return self; |
| } |
| @@ -117,10 +124,14 @@ class ExtensionLoadedNotificationObserver : public NotificationObserver { |
| } |
| - (void)close { |
| - [parentWindow_ removeChildWindow:[self window]]; |
| + [[[self window] parentWindow] removeChildWindow:[self window]]; |
| [super close]; |
| } |
| +- (void)parentWindowWillClose:(NSNotification*)notification { |
| + [self close]; |
| +} |
| + |
| - (void)windowWillClose:(NSNotification*)notification { |
| // Turn off page action icon preview when the window closes, unless we |
| // already removed it when the window resigned key status. |