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

Unified Diff: chrome/browser/views/frame/contents_container.h

Issue 3332022: Bunch of match preview tweaks: (Closed)
Patch Set: Add string16 include Created 10 years, 3 months 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
« no previous file with comments | « chrome/browser/views/frame/browser_view_layout.cc ('k') | chrome/browser/views/frame/contents_container.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/views/frame/contents_container.h
diff --git a/chrome/browser/views/frame/contents_container.h b/chrome/browser/views/frame/contents_container.h
new file mode 100644
index 0000000000000000000000000000000000000000..533ad3618c2b16f7f12dcee08fefe38aeab58fe6
--- /dev/null
+++ b/chrome/browser/views/frame/contents_container.h
@@ -0,0 +1,82 @@
+// Copyright (c) 2010 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_VIEWS_FRAME_CONTENTS_CONTAINER_H_
+#define CHROME_BROWSER_VIEWS_FRAME_CONTENTS_CONTAINER_H_
+#pragma once
+
+#include "views/view.h"
+
+class BrowserView;
+class TabContents;
+
+namespace views {
+class Widget;
+}
+
+// ContentsContainer is responsible for managing the TabContents views.
+// ContentsContainer has up to two children: one for the currently active
+// TabContents and one for the match preview TabContents.
+class ContentsContainer : public views::View {
+ public:
+ ContentsContainer(BrowserView* browser_view, views::View* active);
+ virtual ~ContentsContainer();
+
+ // Makes the preview view the active view and nulls out the old active view.
+ // It's assumed the caller will delete or remove the old active view
+ // separately.
+ void MakePreviewContentsActiveContents();
+
+ // Sets the preview view. This does not delete the old.
+ void SetPreview(views::View* preview, TabContents* preview_tab_contents);
+
+ TabContents* preview_tab_contents() const { return preview_tab_contents_; }
+
+ // Sets the active top margin.
+ void SetActiveTopMargin(int margin);
+
+ // View overrides:
+ virtual void Layout();
+
+ private:
+#if defined(OS_WIN)
+ class TearWindow;
+#else
+ typedef views::Widget TearWindow;
+#endif
+
+ // Creates and configures the tear window.
+ void CreateTearWindow();
+
+ // Creates and returns a new TearWindow.
+ TearWindow* CreateTearWindowImpl();
+
+ // Resets the bounds of the tear window.
+ void PositionTearWindow();
+
+ // Closes and deletes the tear window.
+ void DeleteTearWindow();
+
+ // Invoked when the tear window is destroyed.
+ void TearWindowDestroyed();
+
+ BrowserView* browser_view_;
+
+ views::View* active_;
+
+ views::View* preview_;
+
+ TabContents* preview_tab_contents_;
+
+ // Window used to show the page tear.
+ TearWindow* tear_window_;
+
+ // The margin between the top and the active view. This is used to make the
+ // preview overlap the bookmark bar on the new tab page.
+ int active_top_margin_;
+
+ DISALLOW_COPY_AND_ASSIGN(ContentsContainer);
+};
+
+#endif // CHROME_BROWSER_VIEWS_FRAME_CONTENTS_CONTAINER_H_
« no previous file with comments | « chrome/browser/views/frame/browser_view_layout.cc ('k') | chrome/browser/views/frame/contents_container.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698