| Index: chrome/browser/cocoa/tab_strip_controller.mm
|
| ===================================================================
|
| --- chrome/browser/cocoa/tab_strip_controller.mm (revision 11933)
|
| +++ chrome/browser/cocoa/tab_strip_controller.mm (working copy)
|
| @@ -6,6 +6,8 @@
|
|
|
| #import "base/sys_string_conversions.h"
|
| #import "chrome/app/chrome_dll_resource.h"
|
| +#import "chrome/browser/browser.h"
|
| +#import "chrome/browser/cocoa/bookmark_bar_state_controller.h"
|
| #import "chrome/browser/cocoa/tab_strip_view.h"
|
| #import "chrome/browser/cocoa/tab_cell.h"
|
| #import "chrome/browser/cocoa/tab_contents_controller.h"
|
| @@ -63,19 +65,19 @@
|
| @implementation TabStripController
|
|
|
| - (id)initWithView:(TabStripView*)view
|
| - tabModel:(TabStripModel*)tabModel
|
| - toolbarModel:(ToolbarModel*)toolbarModel
|
| - commands:(CommandUpdater*)commands {
|
| - DCHECK(view && tabModel && toolbarModel);
|
| + browser:(Browser*)browser {
|
| + DCHECK(view && browser);
|
| if ((self = [super init])) {
|
| tabView_ = view;
|
| - tabModel_ = tabModel;
|
| - toolbarModel_ = toolbarModel;
|
| - commands_ = commands;
|
| - bridge_ = new TabStripBridge(tabModel, self);
|
| + tabModel_ = browser->tabstrip_model();
|
| + toolbarModel_ = browser->toolbar_model();
|
| + bookmarkModel_ = browser->profile()->GetBookmarkModel();
|
| + commands_ = browser->command_updater();
|
| + bridge_ = new TabStripBridge(tabModel_, self);
|
| tabContentsArray_ = [[NSMutableArray alloc] init];
|
| tabArray_ = [[NSMutableArray alloc] init];
|
| -
|
| + bookmarkBarStateController_ = [[BookmarkBarStateController alloc]
|
| + initWithBrowser:browser];
|
| // Take the only child view present in the nib as the new tab button. For
|
| // some reason, if the view is present in the nib apriori, it draws
|
| // correctly. If we create it in code and add it to the tab view, it draws
|
| @@ -93,6 +95,7 @@
|
|
|
| - (void)dealloc {
|
| delete bridge_;
|
| + [bookmarkBarStateController_ release];
|
| [tabContentsArray_ release];
|
| [tabArray_ release];
|
| [super dealloc];
|
| @@ -224,8 +227,11 @@
|
| bundle:nil
|
| contents:contents
|
| commands:commands_
|
| - toolbarModel:toolbarModel_]
|
| + toolbarModel:toolbarModel_
|
| + bookmarkModel:bookmarkModel_]
|
| autorelease];
|
| + if ([self isBookmarkBarVisible])
|
| + [contentsController toggleBookmarkBar:YES];
|
| [tabContentsArray_ insertObject:contentsController atIndex:index];
|
|
|
| // Make a new tab and add it to the strip. Keep track of its controller.
|
| @@ -387,6 +393,21 @@
|
| [selectedController focusLocationBar];
|
| }
|
|
|
| +- (BOOL)isBookmarkBarVisible {
|
| + return [bookmarkBarStateController_ visible];
|
| +}
|
| +
|
| +// Called from BrowserWindowController
|
| +- (void)toggleBookmarkBar {
|
| + [bookmarkBarStateController_ toggleBookmarkBar];
|
| + BOOL visible = [self isBookmarkBarVisible];
|
| + for (TabContentsController *controller in tabContentsArray_) {
|
| + [controller toggleBookmarkBar:visible];
|
| + }
|
| +
|
| +}
|
| +
|
| +
|
| @end
|
|
|
| //--------------------------------------------------------------------------
|
|
|