OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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_UI_VIEWS_FRAME_BROWSER_VIEW_LAYOUT_H_ | 5 #ifndef CHROME_BROWSER_UI_VIEWS_FRAME_BROWSER_VIEW_LAYOUT_H_ |
6 #define CHROME_BROWSER_UI_VIEWS_FRAME_BROWSER_VIEW_LAYOUT_H_ | 6 #define CHROME_BROWSER_UI_VIEWS_FRAME_BROWSER_VIEW_LAYOUT_H_ |
7 | 7 |
8 #include "base/basictypes.h" | 8 #include "base/basictypes.h" |
9 #include "base/compiler_specific.h" | 9 #include "base/compiler_specific.h" |
10 #include "base/gtest_prod_util.h" | 10 #include "base/gtest_prod_util.h" |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
46 | 46 |
47 // Sets all the views to be managed. Takes ownership of |delegate|. | 47 // Sets all the views to be managed. Takes ownership of |delegate|. |
48 // |browser_view| may be NULL in tests. | 48 // |browser_view| may be NULL in tests. |
49 void Init(BrowserViewLayoutDelegate* delegate, | 49 void Init(BrowserViewLayoutDelegate* delegate, |
50 Browser* browser, | 50 Browser* browser, |
51 BrowserView* browser_view, | 51 BrowserView* browser_view, |
52 views::View* top_container, | 52 views::View* top_container, |
53 TabStrip* tab_strip, | 53 TabStrip* tab_strip, |
54 views::View* toolbar, | 54 views::View* toolbar, |
55 InfoBarContainerView* infobar_container, | 55 InfoBarContainerView* infobar_container, |
56 views::View* contents_split, | |
57 ContentsContainer* contents_container, | 56 ContentsContainer* contents_container, |
58 ImmersiveModeController* immersive_mode_controller); | 57 ImmersiveModeController* immersive_mode_controller); |
59 | 58 |
60 // Sets or updates views that are not available when |this| is initialized. | 59 // Sets or updates views that are not available when |this| is initialized. |
61 void set_tab_strip(TabStrip* tab_strip) { | 60 void set_tab_strip(TabStrip* tab_strip) { |
62 tab_strip_ = tab_strip; | 61 tab_strip_ = tab_strip; |
63 } | 62 } |
64 void set_bookmark_bar(BookmarkBarView* bookmark_bar) { | 63 void set_bookmark_bar(BookmarkBarView* bookmark_bar) { |
65 bookmark_bar_ = bookmark_bar; | 64 bookmark_bar_ = bookmark_bar; |
66 } | 65 } |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
98 // TabStrip, for laying out subsequent controls. | 97 // TabStrip, for laying out subsequent controls. |
99 int LayoutTabStripRegion(views::View* browser_view); | 98 int LayoutTabStripRegion(views::View* browser_view); |
100 | 99 |
101 // Layout the following controls, starting at |top|, returns the coordinate | 100 // Layout the following controls, starting at |top|, returns the coordinate |
102 // of the bottom of the control, for laying out the next control. | 101 // of the bottom of the control, for laying out the next control. |
103 int LayoutToolbar(int top); | 102 int LayoutToolbar(int top); |
104 int LayoutBookmarkAndInfoBars(int top, int browser_view_y); | 103 int LayoutBookmarkAndInfoBars(int top, int browser_view_y); |
105 int LayoutBookmarkBar(int top); | 104 int LayoutBookmarkBar(int top); |
106 int LayoutInfoBar(int top); | 105 int LayoutInfoBar(int top); |
107 | 106 |
108 // Layout the |contents_split_| view between the coordinates |top| and | 107 // Layout the |contents_container_| view between the coordinates |top| and |
109 // |bottom|. See browser_view.h for details of the relationship between | 108 // |bottom|. See browser_view.h for details of the relationship between |
110 // |contents_split_| and other views. | 109 // |contents_container_| and other views. |
111 void LayoutContentsSplitView(int top, int bottom); | 110 void LayoutContentsContainerView(int top, int bottom); |
112 | 111 |
113 // Updates |top_container_|'s bounds. The new bounds depend on the size of | 112 // Updates |top_container_|'s bounds. The new bounds depend on the size of |
114 // the bookmark bar and the toolbar. | 113 // the bookmark bar and the toolbar. |
115 void UpdateTopContainerBounds(); | 114 void UpdateTopContainerBounds(); |
116 | 115 |
117 // Returns the vertical offset for the web contents to account for a | 116 // Returns the vertical offset for the web contents to account for a |
118 // detached bookmarks bar. | 117 // detached bookmarks bar. |
119 int GetContentsOffsetForBookmarkBar(); | 118 int GetContentsOffsetForBookmarkBar(); |
120 | 119 |
121 // Returns the top margin to adjust the contents_container_ by. This is used | 120 // Returns the top margin to adjust the contents_container_ by. This is used |
(...skipping 19 matching lines...) Expand all Loading... |
141 BrowserView* browser_view_; | 140 BrowserView* browser_view_; |
142 | 141 |
143 // Child views that the layout manager manages. | 142 // Child views that the layout manager manages. |
144 // NOTE: If you add a view, try to add it as a views::View, which makes | 143 // NOTE: If you add a view, try to add it as a views::View, which makes |
145 // testing much easier. | 144 // testing much easier. |
146 views::View* top_container_; | 145 views::View* top_container_; |
147 TabStrip* tab_strip_; | 146 TabStrip* tab_strip_; |
148 views::View* toolbar_; | 147 views::View* toolbar_; |
149 BookmarkBarView* bookmark_bar_; | 148 BookmarkBarView* bookmark_bar_; |
150 InfoBarContainerView* infobar_container_; | 149 InfoBarContainerView* infobar_container_; |
151 views::View* contents_split_; | |
152 ContentsContainer* contents_container_; | 150 ContentsContainer* contents_container_; |
153 views::View* download_shelf_; | 151 views::View* download_shelf_; |
154 | 152 |
155 ImmersiveModeController* immersive_mode_controller_; | 153 ImmersiveModeController* immersive_mode_controller_; |
156 | 154 |
157 // The bounds within which the vertically-stacked contents of the BrowserView | 155 // The bounds within which the vertically-stacked contents of the BrowserView |
158 // should be laid out within. This is just the local bounds of the | 156 // should be laid out within. This is just the local bounds of the |
159 // BrowserView. | 157 // BrowserView. |
160 // TODO(jamescook): Remove this and just use browser_view_->GetLocalBounds(). | 158 // TODO(jamescook): Remove this and just use browser_view_->GetLocalBounds(). |
161 gfx::Rect vertical_layout_rect_; | 159 gfx::Rect vertical_layout_rect_; |
162 | 160 |
163 // The host for use in positioning the web contents modal dialog. | 161 // The host for use in positioning the web contents modal dialog. |
164 scoped_ptr<WebContentsModalDialogHostViews> dialog_host_; | 162 scoped_ptr<WebContentsModalDialogHostViews> dialog_host_; |
165 | 163 |
166 // The distance the web contents modal dialog is from the top of the window, | 164 // The distance the web contents modal dialog is from the top of the window, |
167 // in pixels. | 165 // in pixels. |
168 int web_contents_modal_dialog_top_y_; | 166 int web_contents_modal_dialog_top_y_; |
169 | 167 |
170 DISALLOW_COPY_AND_ASSIGN(BrowserViewLayout); | 168 DISALLOW_COPY_AND_ASSIGN(BrowserViewLayout); |
171 }; | 169 }; |
172 | 170 |
173 #endif // CHROME_BROWSER_UI_VIEWS_FRAME_BROWSER_VIEW_LAYOUT_H_ | 171 #endif // CHROME_BROWSER_UI_VIEWS_FRAME_BROWSER_VIEW_LAYOUT_H_ |
OLD | NEW |