Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(901)

Side by Side Diff: chrome/browser/cocoa/toolbar_controller.h

Issue 194110: Convert the AutocompletePopupPositioner into a BubblePositioner in preparatio... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 11 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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_TOOLBAR_CONTROLLER_H_ 5 #ifndef CHROME_BROWSER_COCOA_TOOLBAR_CONTROLLER_H_
6 #define CHROME_BROWSER_COCOA_TOOLBAR_CONTROLLER_H_ 6 #define CHROME_BROWSER_COCOA_TOOLBAR_CONTROLLER_H_
7 7
8 #import <Cocoa/Cocoa.h> 8 #import <Cocoa/Cocoa.h>
9 9
10 #include "base/scoped_ptr.h" 10 #include "base/scoped_ptr.h"
11 #include "base/scoped_nsobject.h" 11 #include "base/scoped_nsobject.h"
12 #import "chrome/browser/cocoa/command_observer_bridge.h" 12 #import "chrome/browser/cocoa/command_observer_bridge.h"
13 #import "chrome/browser/cocoa/bookmark_bar_controller.h" 13 #import "chrome/browser/cocoa/bookmark_bar_controller.h"
14 #import "chrome/browser/cocoa/delayedmenu_button.h" 14 #import "chrome/browser/cocoa/delayedmenu_button.h"
15 #import "chrome/browser/cocoa/view_resizer.h" 15 #import "chrome/browser/cocoa/view_resizer.h"
16 #include "chrome/common/pref_member.h" 16 #include "chrome/common/pref_member.h"
17 17
18 class AutocompletePopupPositioner;
19 @class AutocompleteTextField; 18 @class AutocompleteTextField;
20 @class AutocompleteTextFieldEditor; 19 @class AutocompleteTextFieldEditor;
21 @class BackForwardMenuController; 20 @class BackForwardMenuController;
21 class Browser;
22 class BubblePositioner;
23 class CommandUpdater;
22 @class DelayedMenuButton; 24 @class DelayedMenuButton;
23 @class MenuButton;
24 class Browser;
25 class CommandUpdater;
26 class LocationBar; 25 class LocationBar;
27 class LocationBarViewMac; 26 class LocationBarViewMac;
27 @class MenuButton;
28 namespace ToolbarControllerInternal { 28 namespace ToolbarControllerInternal {
29 class PrefObserverBridge; 29 class PrefObserverBridge;
30 } 30 }
31 class Profile; 31 class Profile;
32 class TabContents; 32 class TabContents;
33 class ToolbarModel; 33 class ToolbarModel;
34 class ToolbarView; 34 class ToolbarView;
35 35
36 // A controller for the toolbar in the browser window. Manages 36 // A controller for the toolbar in the browser window. Manages
37 // updating the state for location bar and back/fwd/reload/go buttons. 37 // updating the state for location bar and back/fwd/reload/go buttons.
38 // Manages the bookmark bar and it's position in the window relative to 38 // Manages the bookmark bar and its position in the window relative to
39 // the web content view. 39 // the web content view.
40 40
41 @interface ToolbarController : 41 @interface ToolbarController :
42 NSViewController<CommandObserverProtocol, ViewResizer> { 42 NSViewController<CommandObserverProtocol, ViewResizer> {
43 @private 43 @private
44 ToolbarModel* toolbarModel_; // weak, one per window 44 ToolbarModel* toolbarModel_; // weak, one per window
45 CommandUpdater* commands_; // weak, one per window 45 CommandUpdater* commands_; // weak, one per window
46 Profile* profile_; // weak, one per window 46 Profile* profile_; // weak, one per window
47 Browser* browser_; // weak, one per window 47 Browser* browser_; // weak, one per window
48 scoped_ptr<CommandObserverBridge> commandObserver_; 48 scoped_ptr<CommandObserverBridge> commandObserver_;
49 scoped_ptr<LocationBarViewMac> locationBarView_; 49 scoped_ptr<LocationBarViewMac> locationBarView_;
50 scoped_nsobject<AutocompleteTextFieldEditor> autocompleteTextFieldEditor_; 50 scoped_nsobject<AutocompleteTextFieldEditor> autocompleteTextFieldEditor_;
51 scoped_nsobject<BookmarkBarController> bookmarkBarController_; 51 scoped_nsobject<BookmarkBarController> bookmarkBarController_;
52 id<ViewResizer> resizeDelegate_; // weak 52 id<ViewResizer> resizeDelegate_; // weak
53 id<BookmarkURLOpener> bookmarkBarDelegate_; // weak 53 id<BookmarkURLOpener> bookmarkBarDelegate_; // weak
54 scoped_nsobject<BackForwardMenuController> backMenuController_; 54 scoped_nsobject<BackForwardMenuController> backMenuController_;
55 scoped_nsobject<BackForwardMenuController> forwardMenuController_; 55 scoped_nsobject<BackForwardMenuController> forwardMenuController_;
56 56
57 // Used for monitoring the optional toolbar button prefs. 57 // Used for monitoring the optional toolbar button prefs.
58 scoped_ptr<ToolbarControllerInternal::PrefObserverBridge> prefObserver_; 58 scoped_ptr<ToolbarControllerInternal::PrefObserverBridge> prefObserver_;
59 // Used to positioner the omnibox popup view. 59 // Used to position the omnibox bubble.
60 scoped_ptr<AutocompletePopupPositioner> popupPositioner_; 60 scoped_ptr<BubblePositioner> bubblePositioner_;
61 BooleanPrefMember showHomeButton_; 61 BooleanPrefMember showHomeButton_;
62 BooleanPrefMember showPageOptionButtons_; 62 BooleanPrefMember showPageOptionButtons_;
63 BOOL hasToolbar_; // if NO, we only have the location bar. 63 BOOL hasToolbar_; // if NO, we only have the location bar.
64 64
65 // We have an extra retain in the locationBar_. 65 // We have an extra retain in the locationBar_.
66 // See comments in awakeFromNib for more info. 66 // See comments in awakeFromNib for more info.
67 scoped_nsobject<AutocompleteTextField> locationBarRetainer_; 67 scoped_nsobject<AutocompleteTextField> locationBarRetainer_;
68 68
69 // Tracking area for mouse enter/exit/moved in the toolbar. 69 // Tracking area for mouse enter/exit/moved in the toolbar.
70 scoped_nsobject<NSTrackingArea> trackingArea_; 70 scoped_nsobject<NSTrackingArea> trackingArea_;
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
139 - (NSRect)starButtonInWindowCoordinates; 139 - (NSRect)starButtonInWindowCoordinates;
140 140
141 @end 141 @end
142 142
143 // A set of private methods used by tests, in the absence of "friends" in ObjC. 143 // A set of private methods used by tests, in the absence of "friends" in ObjC.
144 @interface ToolbarController(PrivateTestMethods) 144 @interface ToolbarController(PrivateTestMethods)
145 // Returns an array of views in the order of the outlets above. 145 // Returns an array of views in the order of the outlets above.
146 - (NSArray*)toolbarViews; 146 - (NSArray*)toolbarViews;
147 - (void)showOptionalHomeButton; 147 - (void)showOptionalHomeButton;
148 - (void)showOptionalPageWrenchButtons; 148 - (void)showOptionalPageWrenchButtons;
149 - (gfx::Rect)autocompletePopupPosition; 149 - (gfx::Rect)locationStackBounds;
150 // Return a hover button for the current event. 150 // Return a hover button for the current event.
151 - (NSButton*)hoverButtonForEvent:(NSEvent*)theEvent; 151 - (NSButton*)hoverButtonForEvent:(NSEvent*)theEvent;
152 @end 152 @end
153 153
154 #endif // CHROME_BROWSER_COCOA_TOOLBAR_CONTROLLER_H_ 154 #endif // CHROME_BROWSER_COCOA_TOOLBAR_CONTROLLER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698