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

Unified Diff: chrome/browser/views/frame/browser_view_layout.cc

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.h ('k') | chrome/browser/views/frame/contents_container.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/views/frame/browser_view_layout.cc
diff --git a/chrome/browser/views/frame/browser_view_layout.cc b/chrome/browser/views/frame/browser_view_layout.cc
index 0abd70e78f2e63aa83e72006632c3388f67b41b5..ae71abe1ff8f2ffe7e675e466f915b223a89ec00 100644
--- a/chrome/browser/views/frame/browser_view_layout.cc
+++ b/chrome/browser/views/frame/browser_view_layout.cc
@@ -12,6 +12,7 @@
#include "chrome/browser/views/download_shelf_view.h"
#include "chrome/browser/views/frame/browser_frame.h"
#include "chrome/browser/views/frame/browser_view.h"
+#include "chrome/browser/views/frame/contents_container.h"
#include "chrome/browser/views/tabs/side_tab_strip.h"
#include "chrome/browser/views/tabs/tab_strip.h"
#include "chrome/browser/views/toolbar_view.h"
@@ -206,15 +207,18 @@ void BrowserViewLayout::Uninstalled(views::View* host) {}
void BrowserViewLayout::ViewAdded(views::View* host, views::View* view) {
switch (view->GetID()) {
case VIEW_ID_CONTENTS_SPLIT: {
- contents_split_ = view;
- if (SidebarManager::IsSidebarAllowed()) {
- views::View* sidebar_split = contents_split_->GetChildViewAt(0);
- contents_container_ = sidebar_split->GetChildViewAt(0);
- } else {
- contents_container_ = contents_split_->GetChildViewAt(0);
- }
+ contents_split_ = view;
+ // TODO: this is fragile, fix.
+ if (SidebarManager::IsSidebarAllowed()) {
+ views::View* sidebar_split = contents_split_->GetChildViewAt(0);
+ contents_container_ = static_cast<ContentsContainer*>(
+ sidebar_split->GetChildViewAt(0));
+ } else {
+ contents_container_ = static_cast<ContentsContainer*>(
+ contents_split_->GetChildViewAt(0));
}
break;
+ }
case VIEW_ID_INFO_BAR_CONTAINER:
infobar_container_ = view;
break;
@@ -252,6 +256,10 @@ void BrowserViewLayout::Layout(views::View* host) {
top = LayoutToolbar(top);
top = LayoutBookmarkAndInfoBars(top);
int bottom = LayoutDownloadShelf(browser_view_->height());
+ int active_top_margin = GetTopMarginForActiveContent();
+ top -= active_top_margin;
+ bottom += active_top_margin;
+ contents_container_->SetActiveTopMargin(active_top_margin);
LayoutTabContents(top, bottom);
// This must be done _after_ we lay out the TabContents since this
// code calls back into us to find the bounding box the find bar
@@ -276,6 +284,14 @@ gfx::Size BrowserViewLayout::GetPreferredSize(views::View* host) {
//////////////////////////////////////////////////////////////////////////////
// BrowserViewLayout, private:
+Browser* BrowserViewLayout::browser() {
+ return browser_view_->browser();
+}
+
+const Browser* BrowserViewLayout::browser() const {
+ return browser_view_->browser();
+}
+
int BrowserViewLayout::LayoutTabStrip() {
if (!browser_view_->IsTabStripVisible()) {
tabstrip_->SetVisible(false);
@@ -357,13 +373,31 @@ int BrowserViewLayout::LayoutInfoBar(int top) {
return top + height;
}
-// Layout the TabContents container, between the coordinates |top| and
-// |bottom|.
void BrowserViewLayout::LayoutTabContents(int top, int bottom) {
contents_split_->SetBounds(vertical_layout_rect_.x(), top,
vertical_layout_rect_.width(), bottom - top);
}
+int BrowserViewLayout::GetTopMarginForActiveContent() {
+ if (!active_bookmark_bar_ || !browser_view_->IsBookmarkBarVisible() ||
+ !active_bookmark_bar_->IsDetached()) {
+ return 0;
+ }
+
+ if (contents_split_->GetChildViewAt(1) &&
+ contents_split_->GetChildViewAt(1)->IsVisible())
+ return 0;
+
+ if (SidebarManager::IsSidebarAllowed()) {
+ views::View* sidebar_split = contents_split_->GetChildViewAt(0);
+ if (sidebar_split->GetChildViewAt(1) &&
+ sidebar_split->GetChildViewAt(1)->IsVisible())
+ return 0;
+ }
+
+ return active_bookmark_bar_->height();
+}
+
int BrowserViewLayout::LayoutDownloadShelf(int bottom) {
// Re-layout the shelf either if it is visible or if it's close animation
// is currently running.
« no previous file with comments | « chrome/browser/views/frame/browser_view_layout.h ('k') | chrome/browser/views/frame/contents_container.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698