Chromium Code Reviews| Index: chrome/browser/ui/views/frame/contents_layout_manager.h |
| diff --git a/chrome/browser/ui/views/frame/contents_layout_manager.h b/chrome/browser/ui/views/frame/contents_layout_manager.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..5284f2230127dac21c7ad8a06f0e2328126e1290 |
| --- /dev/null |
| +++ b/chrome/browser/ui/views/frame/contents_layout_manager.h |
| @@ -0,0 +1,45 @@ |
| +// Copyright 2013 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#ifndef CHROME_BROWSER_UI_VIEWS_FRAME_CONTENTS_LAYOUT_MANAGER_H_ |
| +#define CHROME_BROWSER_UI_VIEWS_FRAME_CONTENTS_LAYOUT_MANAGER_H_ |
| + |
| +#include "base/basictypes.h" |
| +#include "base/compiler_specific.h" |
| +#include "ui/gfx/size.h" |
| +#include "ui/views/layout/layout_manager.h" |
| + |
| +// ContainerLayoutManager is managing WebContents atop of the DevTools. |
|
sky
2013/12/06 17:25:44
ContentsLayoutManager positions the WebContents an
dgozman
2013/12/09 13:19:18
Done.
|
| +// It also supports the |
| +class ContentsLayoutManager : public views::LayoutManager { |
| + public: |
| + ContentsLayoutManager(views::View* devtools_view, views::View* contents_view); |
| + virtual ~ContentsLayoutManager(); |
| + |
| + // Sets the active top margin; both devtools_view and contents_view will be |
| + // pushed down vertically by |margin|. Returns true if the margin has changed |
| + // and InvalidateLayout() is necessary. |
| + bool SetActiveTopMargin(int margin); |
| + |
| + // Sets the contents offsets from the sides. Returns true if offsets have |
| + // changed and InvalidateLayout() is necessary. |
| + bool SetContentsViewOffsets( |
|
sky
2013/12/06 17:25:44
This can InvalidateLayout is you need it to? The V
dgozman
2013/12/09 13:19:18
Done.
|
| + const gfx::Size& top_left, const gfx::Size& bottom_right); |
|
sky
2013/12/06 17:25:44
How come this is two sizes? Isn't an Insets what y
dgozman
2013/12/09 13:19:18
Missed that class. Thank you! Done.
|
| + |
| + // views::LayoutManager overrides: |
| + virtual void Layout(views::View* host) OVERRIDE; |
| + virtual gfx::Size GetPreferredSize(views::View* host) OVERRIDE; |
| + |
| + private: |
| + views::View* devtools_view_; |
| + views::View* contents_view_; |
| + |
| + gfx::Size top_left_; |
| + gfx::Size bottom_right_; |
| + int active_top_margin_; |
| + |
| + DISALLOW_COPY_AND_ASSIGN(ContentsLayoutManager); |
| +}; |
| + |
| +#endif // CHROME_BROWSER_UI_VIEWS_FRAME_CONTENTS_LAYOUT_MANAGER_H_ |