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. |
+ 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. |