Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3943)

Unified Diff: chrome/browser/ui/views/frame/contents_layout_manager.h

Issue 63173016: DevTools: place DevTools WebContents underneath inspected WebContents. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Views fixes Created 7 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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_

Powered by Google App Engine
This is Rietveld 408576698