| Index: chrome/browser/cocoa/infobar_container_controller.h
|
| ===================================================================
|
| --- chrome/browser/cocoa/infobar_container_controller.h (revision 30850)
|
| +++ chrome/browser/cocoa/infobar_container_controller.h (working copy)
|
| @@ -9,18 +9,27 @@
|
| #import "chrome/browser/cocoa/view_resizer.h"
|
| #include "chrome/common/notification_registrar.h"
|
|
|
| +@class InfoBarController;
|
| class InfoBarDelegate;
|
| class InfoBarNotificationObserver;
|
| class TabContents;
|
| class TabStripModel;
|
| class TabStripModelObserverBridge;
|
|
|
| +// Protocol for basic container methods, as needed by an InfoBarController.
|
| +// This protocol exists to make mocking easier in unittests.
|
| +@protocol InfoBarContainer
|
| +- (void)removeDelegate:(InfoBarDelegate*)delegate;
|
| +- (void)removeController:(InfoBarController*)controller;
|
| +@end
|
| +
|
| // Controller for the infobar container view, which is the superview
|
| // of all the infobar views. This class owns zero or more
|
| // InfoBarControllers, which manage the infobar views. This class
|
| // also receives tab strip model notifications and handles
|
| // adding/removing infobars when needed.
|
| -@interface InfoBarContainerController : NSViewController {
|
| +@interface InfoBarContainerController : NSViewController <ViewResizer,
|
| + InfoBarContainer> {
|
| @private
|
| // Needed to send resize messages when infobars are added or removed.
|
| id<ViewResizer> resizeDelegate_; // weak
|
| @@ -51,21 +60,26 @@
|
| // infobar was closed.
|
| - (void)removeDelegate:(InfoBarDelegate*)delegate;
|
|
|
| +// Removes |controller| from the list of controllers in this container and
|
| +// removes its view from the view hierarchy. This method is safe to call while
|
| +// |controller| is still on the call stack.
|
| +- (void)removeController:(InfoBarController*)controller;
|
| +
|
| @end
|
|
|
|
|
| @interface InfoBarContainerController (ForTheObserverAndTesting)
|
|
|
| -// Adds an infobar view for the given delegate. Callers must call
|
| -// positionInfoBarsAndRedraw after calling this method.
|
| -- (void)addInfoBar:(InfoBarDelegate*)delegate;
|
| +// Adds an infobar view for the given delegate.
|
| +- (void)addInfoBar:(InfoBarDelegate*)delegate animate:(BOOL)animate;
|
|
|
| -// Removes all the infobar views for a given delegate. Callers must
|
| -// call positionInfoBarsAndRedraw after calling this method.
|
| -- (void)removeInfoBarsForDelegate:(InfoBarDelegate*)delegate;
|
| +// Closes all the infobar views for a given delegate, either immediately or by
|
| +// starting a close animation.
|
| +- (void)closeInfoBarsForDelegate:(InfoBarDelegate*)delegate
|
| + animate:(BOOL)animate;
|
|
|
| // Replaces all info bars for the delegate with a new info bar.
|
| -// This simply calls removeInfoBarsForDelegate: and then addInfoBar:.
|
| +// This simply calls closeInfoBarsForDelegate: and then addInfoBar:.
|
| - (void)replaceInfoBarsForDelegate:(InfoBarDelegate*)old_delegate
|
| with:(InfoBarDelegate*)new_delegate;
|
|
|
|
|