Index: chrome/browser/ui/cocoa/info_bubble_window.h |
diff --git a/chrome/browser/ui/cocoa/info_bubble_window.h b/chrome/browser/ui/cocoa/info_bubble_window.h |
index 182e3c93d87d9ca2d30addb474f27f4c67c5dc8f..6e23d455ced9b30a76a450111282bb7bbea1dd5e 100644 |
--- a/chrome/browser/ui/cocoa/info_bubble_window.h |
+++ b/chrome/browser/ui/cocoa/info_bubble_window.h |
@@ -4,10 +4,12 @@ |
#import <Cocoa/Cocoa.h> |
+#import "base/mac/scoped_nsobject.h" |
#include "base/memory/scoped_ptr.h" |
#import "chrome/browser/ui/cocoa/chrome_event_processing_window.h" |
class AppNotificationBridge; |
+@class WindowAnimationController; |
namespace info_bubble { |
@@ -24,9 +26,6 @@ typedef NSUInteger AllowedAnimations; |
// button or that pops up within our first-run UI. |
@interface InfoBubbleWindow : ChromeEventProcessingWindow { |
@private |
- // Is self in the process of closing. |
- BOOL closing_; |
- |
// Specifies if window order in and order out animations are allowed. By |
// default both types of animations are allowed. |
info_bubble::AllowedAnimations allowedAnimations_; |
@@ -42,12 +41,19 @@ typedef NSUInteger AllowedAnimations; |
// Bridge to proxy Chrome notifications to the window. |
scoped_ptr<AppNotificationBridge> notificationBridge_; |
+ |
+ // Controller for closing the window (note: creates a reference cycle during |
+ // the close animation). |
+ base::scoped_nsobject<WindowAnimationController> animation_controller_; |
} |
@property(nonatomic) info_bubble::AllowedAnimations allowedAnimations; |
@property(nonatomic) BOOL canBecomeKeyWindow; |
@property(nonatomic) BOOL allowShareParentKeyState; |
+// Start the animation to hide the window, then close it. |
+- (void)animateClose; |
+ |
// Returns YES if the window is in the process of closing. |
// Can't use "windowWillClose" notification because that will be sent |
// after the closing animation has completed. |