OLD | NEW |
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef CHROME_BROWSER_COCOA_BROWSER_WINDOW_CONTROLLER_H_ | 5 #ifndef CHROME_BROWSER_COCOA_BROWSER_WINDOW_CONTROLLER_H_ |
6 #define CHROME_BROWSER_COCOA_BROWSER_WINDOW_CONTROLLER_H_ | 6 #define CHROME_BROWSER_COCOA_BROWSER_WINDOW_CONTROLLER_H_ |
7 | 7 |
8 // A class acting as the Objective-C controller for the Browser | 8 // A class acting as the Objective-C controller for the Browser |
9 // object. Handles interactions between Cocoa and the cross-platform | 9 // object. Handles interactions between Cocoa and the cross-platform |
10 // code. Each window has a single toolbar and, by virtue of being a | 10 // code. Each window has a single toolbar and, by virtue of being a |
11 // TabWindowController, a tab strip along the top. | 11 // TabWindowController, a tab strip along the top. |
12 | 12 |
13 #import <Cocoa/Cocoa.h> | 13 #import <Cocoa/Cocoa.h> |
14 | 14 |
15 #include "base/scoped_nsobject.h" | 15 #include "base/scoped_nsobject.h" |
16 #include "base/scoped_ptr.h" | 16 #include "base/scoped_ptr.h" |
17 #import "chrome/browser/cocoa/tab_window_controller.h" | 17 #import "chrome/browser/cocoa/tab_window_controller.h" |
18 #import "chrome/browser/cocoa/bookmark_bar_controller.h" | 18 #import "chrome/browser/cocoa/bookmark_bar_controller.h" |
19 #import "third_party/GTM/AppKit/GTMTheme.h" | 19 #import "third_party/GTM/AppKit/GTMTheme.h" |
20 | 20 |
21 class Browser; | 21 class Browser; |
22 class BrowserWindow; | 22 class BrowserWindow; |
23 class BrowserWindowCocoa; | 23 class BrowserWindowCocoa; |
24 @class DownloadShelfController; | 24 @class DownloadShelfController; |
25 @class FindBarCocoaController; | 25 @class FindBarCocoaController; |
| 26 @class InfoBarContainerController; |
26 class LocationBar; | 27 class LocationBar; |
27 class StatusBubble; | 28 class StatusBubble; |
28 class TabContents; | 29 class TabContents; |
29 @class TabContentsController; | 30 @class TabContentsController; |
30 @class TabStripController; | 31 @class TabStripController; |
31 class TabStripModelObserverBridge; | 32 class TabStripModelObserverBridge; |
32 @class TabStripView; | 33 @class TabStripView; |
33 @class ToolbarController; | 34 @class ToolbarController; |
34 @class TitlebarController; | 35 @class TitlebarController; |
35 | 36 |
(...skipping 12 matching lines...) Expand all Loading... |
48 // their destruction sequence. | 49 // their destruction sequence. |
49 scoped_ptr<Browser> browser_; | 50 scoped_ptr<Browser> browser_; |
50 scoped_nsobject<NSWindow> window_; | 51 scoped_nsobject<NSWindow> window_; |
51 scoped_nsobject<NSWindow> fullscreen_window_; | 52 scoped_nsobject<NSWindow> fullscreen_window_; |
52 scoped_ptr<TabStripModelObserverBridge> tabObserver_; | 53 scoped_ptr<TabStripModelObserverBridge> tabObserver_; |
53 scoped_ptr<BrowserWindowCocoa> windowShim_; | 54 scoped_ptr<BrowserWindowCocoa> windowShim_; |
54 scoped_nsobject<ToolbarController> toolbarController_; | 55 scoped_nsobject<ToolbarController> toolbarController_; |
55 scoped_nsobject<TitlebarController> titlebarController_; | 56 scoped_nsobject<TitlebarController> titlebarController_; |
56 scoped_nsobject<TabStripController> tabStripController_; | 57 scoped_nsobject<TabStripController> tabStripController_; |
57 scoped_nsobject<FindBarCocoaController> findBarCocoaController_; | 58 scoped_nsobject<FindBarCocoaController> findBarCocoaController_; |
| 59 scoped_nsobject<InfoBarContainerController> infoBarContainerController_; |
58 scoped_ptr<StatusBubble> statusBubble_; | 60 scoped_ptr<StatusBubble> statusBubble_; |
59 scoped_nsobject<DownloadShelfController> downloadShelfController_; | 61 scoped_nsobject<DownloadShelfController> downloadShelfController_; |
60 scoped_nsobject<GTMTheme> theme_; | 62 scoped_nsobject<GTMTheme> theme_; |
61 BOOL ownsBrowser_; // Only ever NO when testing | 63 BOOL ownsBrowser_; // Only ever NO when testing |
62 BOOL fullscreen_; | 64 BOOL fullscreen_; |
63 } | 65 } |
64 | 66 |
65 // Load the browser window nib and do any Cocoa-specific initialization. | 67 // Load the browser window nib and do any Cocoa-specific initialization. |
66 // Takes ownership of |browser|. | 68 // Takes ownership of |browser|. |
67 - (id)initWithBrowser:(Browser*)browser; | 69 - (id)initWithBrowser:(Browser*)browser; |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
115 // browser window. Must only be called once per | 117 // browser window. Must only be called once per |
116 // BrowserWindowController. | 118 // BrowserWindowController. |
117 - (void)addFindBar:(FindBarCocoaController*)findBarCocoaController; | 119 - (void)addFindBar:(FindBarCocoaController*)findBarCocoaController; |
118 | 120 |
119 // Enters (or exits) fullscreen mode. | 121 // Enters (or exits) fullscreen mode. |
120 - (void)setFullscreen:(BOOL)fullscreen; | 122 - (void)setFullscreen:(BOOL)fullscreen; |
121 | 123 |
122 // Returns fullscreen state. | 124 // Returns fullscreen state. |
123 - (BOOL)isFullscreen; | 125 - (BOOL)isFullscreen; |
124 | 126 |
| 127 // Sent when the infobar view has been resized and other content needs |
| 128 // to be shifted around it. |
| 129 - (void)infoBarResized:(float)newHeight; |
| 130 |
125 // The user changed the theme. | 131 // The user changed the theme. |
126 - (void)userChangedTheme; | 132 - (void)userChangedTheme; |
127 | 133 |
128 // Executes the command in the context of the current browser. | 134 // Executes the command in the context of the current browser. |
129 // |command| is an integer value containing one of the constants defined in the | 135 // |command| is an integer value containing one of the constants defined in the |
130 // "chrome/app/chrome_dll_resource.h" file. | 136 // "chrome/app/chrome_dll_resource.h" file. |
131 - (void)executeCommand:(int)command; | 137 - (void)executeCommand:(int)command; |
132 | 138 |
133 @end | 139 @end |
134 | 140 |
135 | 141 |
136 @interface BrowserWindowController(TestingAPI) | 142 @interface BrowserWindowController(TestingAPI) |
137 | 143 |
138 // Allows us to initWithBrowser withOUT taking ownership of the browser. | 144 // Allows us to initWithBrowser withOUT taking ownership of the browser. |
139 - (id)initWithBrowser:(Browser*)browser takeOwnership:(BOOL)ownIt; | 145 - (id)initWithBrowser:(Browser*)browser takeOwnership:(BOOL)ownIt; |
140 | 146 |
141 // Return an autoreleased NSWindow suitable for fullscreen use. | 147 // Return an autoreleased NSWindow suitable for fullscreen use. |
142 - (NSWindow*)fullscreenWindow; | 148 - (NSWindow*)fullscreenWindow; |
143 | 149 |
144 @end // BrowserWindowController(TestingAPI) | 150 @end // BrowserWindowController(TestingAPI) |
145 | 151 |
146 #endif // CHROME_BROWSER_COCOA_BROWSER_WINDOW_CONTROLLER_H_ | 152 #endif // CHROME_BROWSER_COCOA_BROWSER_WINDOW_CONTROLLER_H_ |
OLD | NEW |