1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef CHROME_BROWSER_UI_VIEWS_FRAME_CONTENTS_LAYOUT_MANAGER_H_
6 #define CHROME_BROWSER_UI_VIEWS_FRAME_CONTENTS_LAYOUT_MANAGER_H_
8 #include "base/basictypes.h"
9 #include "base/compiler_specific.h"
10 #include "ui/gfx/insets.h"
11 #include "ui/views/layout/layout_manager.h"
13 // ContentsLayoutManager positions the WebContents and devtools WebContents.
14 class ContentsLayoutManager
: public views::LayoutManager
{
16 ContentsLayoutManager(views::View
* devtools_view
, views::View
* contents_view
);
17 virtual ~ContentsLayoutManager();
19 // Sets the active top margin; both devtools_view and contents_view will be
20 // pushed down vertically by |margin|.
21 void SetActiveTopMargin(int margin
);
23 // Sets the contents insets from the sides.
24 void SetContentsViewInsets(const gfx::Insets
& insets
);
26 // views::LayoutManager overrides:
27 virtual void Layout(views::View
* host
) OVERRIDE
;
28 virtual gfx::Size
GetPreferredSize(views::View
* host
) OVERRIDE
;
29 virtual void Installed(views::View
* host
) OVERRIDE
;
30 virtual void Uninstalled(views::View
* host
) OVERRIDE
;
33 views::View
* devtools_view_
;
34 views::View
* contents_view_
;
39 int active_top_margin_
;
41 DISALLOW_COPY_AND_ASSIGN(ContentsLayoutManager
);
44 #endif // CHROME_BROWSER_UI_VIEWS_FRAME_CONTENTS_LAYOUT_MANAGER_H_