| 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" |
| 11 #include "base/memory/scoped_ptr.h" | 11 #include "base/memory/scoped_ptr.h" |
| 12 #include "ui/gfx/rect.h" | 12 #include "ui/gfx/rect.h" |
| 13 #include "ui/views/layout/layout_manager.h" | 13 #include "ui/views/layout/layout_manager.h" |
| 14 | 14 |
| 15 class BookmarkBarView; | 15 class BookmarkBarView; |
| 16 class Browser; | 16 class Browser; |
| 17 class BrowserViewLayoutDelegate; | 17 class BrowserViewLayoutDelegate; |
| 18 class ContentsContainer; | 18 class ContentsLayoutManager; |
| 19 class ImmersiveModeController; | 19 class ImmersiveModeController; |
| 20 class InfoBarContainerView; | 20 class InfoBarContainerView; |
| 21 class TabContentsContainer; | 21 class TabContentsContainer; |
| 22 class TabStrip; | 22 class TabStrip; |
| 23 | 23 |
| 24 namespace gfx { | 24 namespace gfx { |
| 25 class Point; | 25 class Point; |
| 26 class Size; | 26 class Size; |
| 27 } | 27 } |
| 28 | 28 |
| (...skipping 17 matching lines...) Expand all 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 views::ClientView* browser_view, | 51 views::ClientView* 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, | 56 views::View* contents_container, |
| 57 ContentsContainer* contents_container, | 57 ContentsLayoutManager* contents_layout_manager, |
| 58 ImmersiveModeController* immersive_mode_controller); | 58 ImmersiveModeController* immersive_mode_controller); |
| 59 | 59 |
| 60 // Sets or updates views that are not available when |this| is initialized. | 60 // Sets or updates views that are not available when |this| is initialized. |
| 61 void set_tab_strip(TabStrip* tab_strip) { | 61 void set_tab_strip(TabStrip* tab_strip) { |
| 62 tab_strip_ = tab_strip; | 62 tab_strip_ = tab_strip; |
| 63 } | 63 } |
| 64 void set_bookmark_bar(BookmarkBarView* bookmark_bar) { | 64 void set_bookmark_bar(BookmarkBarView* bookmark_bar) { |
| 65 bookmark_bar_ = bookmark_bar; | 65 bookmark_bar_ = bookmark_bar; |
| 66 } | 66 } |
| 67 void set_download_shelf(views::View* download_shelf) { | 67 void set_download_shelf(views::View* download_shelf) { |
| (...skipping 27 matching lines...) Expand all Loading... |
| 95 Browser* browser() { return browser_; } | 95 Browser* browser() { return browser_; } |
| 96 | 96 |
| 97 // Layout the following controls, starting at |top|, returns the coordinate | 97 // Layout the following controls, starting at |top|, returns the coordinate |
| 98 // of the bottom of the control, for laying out the next control. | 98 // of the bottom of the control, for laying out the next control. |
| 99 int LayoutTabStripRegion(int top); | 99 int LayoutTabStripRegion(int top); |
| 100 int LayoutToolbar(int top); | 100 int LayoutToolbar(int top); |
| 101 int LayoutBookmarkAndInfoBars(int top, int browser_view_y); | 101 int LayoutBookmarkAndInfoBars(int top, int browser_view_y); |
| 102 int LayoutBookmarkBar(int top); | 102 int LayoutBookmarkBar(int top); |
| 103 int LayoutInfoBar(int top); | 103 int LayoutInfoBar(int top); |
| 104 | 104 |
| 105 // Layout the |contents_split_| view between the coordinates |top| and | 105 // Layout the |contents_container_| view between the coordinates |top| and |
| 106 // |bottom|. See browser_view.h for details of the relationship between | 106 // |bottom|. See browser_view.h for details of the relationship between |
| 107 // |contents_split_| and other views. | 107 // |contents_container_| and other views. |
| 108 void LayoutContentsSplitView(int top, int bottom); | 108 void LayoutContentsContainerView(int top, int bottom); |
| 109 | 109 |
| 110 // Updates |top_container_|'s bounds. The new bounds depend on the size of | 110 // Updates |top_container_|'s bounds. The new bounds depend on the size of |
| 111 // the bookmark bar and the toolbar. | 111 // the bookmark bar and the toolbar. |
| 112 void UpdateTopContainerBounds(); | 112 void UpdateTopContainerBounds(); |
| 113 | 113 |
| 114 // Returns the vertical offset for the web contents to account for a | 114 // Returns the vertical offset for the web contents to account for a |
| 115 // detached bookmarks bar. | 115 // detached bookmarks bar. |
| 116 int GetContentsOffsetForBookmarkBar(); | 116 int GetContentsOffsetForBookmarkBar(); |
| 117 | 117 |
| 118 // Returns the top margin to adjust the contents_container_ by. This is used | 118 // Returns the top margin to adjust the contents_container_ by. This is used |
| (...skipping 18 matching lines...) Expand all Loading... |
| 137 views::ClientView* browser_view_; | 137 views::ClientView* browser_view_; |
| 138 | 138 |
| 139 // Child views that the layout manager manages. | 139 // Child views that the layout manager manages. |
| 140 // NOTE: If you add a view, try to add it as a views::View, which makes | 140 // NOTE: If you add a view, try to add it as a views::View, which makes |
| 141 // testing much easier. | 141 // testing much easier. |
| 142 views::View* top_container_; | 142 views::View* top_container_; |
| 143 TabStrip* tab_strip_; | 143 TabStrip* tab_strip_; |
| 144 views::View* toolbar_; | 144 views::View* toolbar_; |
| 145 BookmarkBarView* bookmark_bar_; | 145 BookmarkBarView* bookmark_bar_; |
| 146 InfoBarContainerView* infobar_container_; | 146 InfoBarContainerView* infobar_container_; |
| 147 views::View* contents_split_; | 147 views::View* contents_container_; |
| 148 ContentsContainer* contents_container_; | 148 ContentsLayoutManager* contents_layout_manager_; |
| 149 views::View* download_shelf_; | 149 views::View* download_shelf_; |
| 150 | 150 |
| 151 ImmersiveModeController* immersive_mode_controller_; | 151 ImmersiveModeController* immersive_mode_controller_; |
| 152 | 152 |
| 153 // The bounds within which the vertically-stacked contents of the BrowserView | 153 // The bounds within which the vertically-stacked contents of the BrowserView |
| 154 // should be laid out within. This is just the local bounds of the | 154 // should be laid out within. This is just the local bounds of the |
| 155 // BrowserView. | 155 // BrowserView. |
| 156 // TODO(jamescook): Remove this and just use browser_view_->GetLocalBounds(). | 156 // TODO(jamescook): Remove this and just use browser_view_->GetLocalBounds(). |
| 157 gfx::Rect vertical_layout_rect_; | 157 gfx::Rect vertical_layout_rect_; |
| 158 | 158 |
| 159 // The host for use in positioning the web contents modal dialog. | 159 // The host for use in positioning the web contents modal dialog. |
| 160 scoped_ptr<WebContentsModalDialogHostViews> dialog_host_; | 160 scoped_ptr<WebContentsModalDialogHostViews> dialog_host_; |
| 161 | 161 |
| 162 // The distance the web contents modal dialog is from the top of the window, | 162 // The distance the web contents modal dialog is from the top of the window, |
| 163 // in pixels. | 163 // in pixels. |
| 164 int web_contents_modal_dialog_top_y_; | 164 int web_contents_modal_dialog_top_y_; |
| 165 | 165 |
| 166 DISALLOW_COPY_AND_ASSIGN(BrowserViewLayout); | 166 DISALLOW_COPY_AND_ASSIGN(BrowserViewLayout); |
| 167 }; | 167 }; |
| 168 | 168 |
| 169 #endif // CHROME_BROWSER_UI_VIEWS_FRAME_BROWSER_VIEW_LAYOUT_H_ | 169 #endif // CHROME_BROWSER_UI_VIEWS_FRAME_BROWSER_VIEW_LAYOUT_H_ |
| OLD | NEW |