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_ |