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

Unified Diff: chrome/browser/ui/views/frame/browser_view.cc

Issue 6247001: Re-land 71230.... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 9 years, 11 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/ui/views/frame/browser_view.h ('k') | chrome/browser/ui/views/frame/browser_view_layout.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/ui/views/frame/browser_view.cc
===================================================================
--- chrome/browser/ui/views/frame/browser_view.cc (revision 71256)
+++ chrome/browser/ui/views/frame/browser_view.cc (working copy)
@@ -1348,10 +1348,8 @@
}
void BrowserView::ShowInstant(TabContents* preview_contents) {
- if (!preview_container_) {
+ if (!preview_container_)
preview_container_ = new TabContentsContainer();
- preview_container_->set_reserved_area_delegate(this);
- }
contents_->SetPreview(preview_container_, preview_contents);
preview_container_->ChangeTabContents(preview_contents);
@@ -1825,41 +1823,12 @@
SelectedTabToolbarSizeChanged(is_animating);
}
-void BrowserView::UpdateReservedContentsRect(
- const TabContentsContainer* source) {
- RenderWidgetHostView* render_widget_host_view =
- source->tab_contents() ? source->tab_contents()->GetRenderWidgetHostView()
- : NULL;
- if (!render_widget_host_view)
- return;
-
- gfx::Rect reserved_rect;
-
- if (!frame_->GetWindow()->IsMaximized() &&
- !frame_->GetWindow()->IsFullscreen()) {
- gfx::Size resize_corner_size = ResizeCorner::GetSize();
- if (!resize_corner_size.IsEmpty()) {
- gfx::Point resize_corner_origin;
- gfx::Rect bounds = GetLocalBounds(false);
- resize_corner_origin.set_x(bounds.right() - resize_corner_size.width());
- resize_corner_origin.set_y(bounds.bottom() - resize_corner_size.height());
-
- View::ConvertPointToView(this, source, &resize_corner_origin);
-
- gfx::Size container_size = source->size();
-
- if (resize_corner_origin.x() < container_size.width() &&
- resize_corner_origin.y() < container_size.height()) {
- reserved_rect = gfx::Rect(resize_corner_origin, resize_corner_size);
- }
- }
- }
-
- // TODO(alekseys): for source == contents_container_, consult SidebarTabView
- // for the current size to reserve. Something like this:
- // reserved_rect = reserved_rect.Union(SidebarTabView::GetCurrentBounds());
-
- render_widget_host_view->set_reserved_contents_rect(reserved_rect);
+bool BrowserView::SplitHandleMoved(views::SingleSplitView* view) {
+ for (int i = 0; i < view->GetChildViewCount(); ++i)
+ view->GetChildViewAt(i)->InvalidateLayout();
+ SchedulePaint();
+ Layout();
+ return false;
}
views::LayoutManager* BrowserView::CreateLayoutManager() const {
@@ -1922,7 +1891,6 @@
AddChildView(infobar_container_);
contents_container_ = new TabContentsContainer;
- contents_container_->set_reserved_area_delegate(this);
contents_ = new ContentsContainer(contents_container_);
SkColor bg_color = GetWidget()->GetThemeProvider()->
@@ -1931,14 +1899,14 @@
bool sidebar_allowed = SidebarManager::IsSidebarAllowed();
if (sidebar_allowed) {
sidebar_container_ = new TabContentsContainer;
- sidebar_container_->set_reserved_area_delegate(this);
sidebar_container_->SetID(VIEW_ID_SIDE_BAR_CONTAINER);
sidebar_container_->SetVisible(false);
sidebar_split_ = new views::SingleSplitView(
contents_,
sidebar_container_,
- views::SingleSplitView::HORIZONTAL_SPLIT);
+ views::SingleSplitView::HORIZONTAL_SPLIT,
+ this);
sidebar_split_->SetID(VIEW_ID_SIDE_BAR_SPLIT);
sidebar_split_->SetAccessibleName(
UTF16ToWide(l10n_util::GetStringUTF16(IDS_ACCNAME_SIDE_BAR)));
@@ -1947,7 +1915,6 @@
}
devtools_container_ = new TabContentsContainer;
- devtools_container_->set_reserved_area_delegate(this);
devtools_container_->SetID(VIEW_ID_DEV_TOOLS_DOCKED);
devtools_container_->SetVisible(false);
@@ -1958,7 +1925,8 @@
contents_split_ = new views::SingleSplitView(
contents_view,
devtools_container_,
- views::SingleSplitView::VERTICAL_SPLIT);
+ views::SingleSplitView::VERTICAL_SPLIT,
+ this);
contents_split_->SetID(VIEW_ID_CONTENTS_SPLIT);
contents_split_->SetAccessibleName(
UTF16ToWide(l10n_util::GetStringUTF16(IDS_ACCNAME_WEB_CONTENTS)));
@@ -2102,7 +2070,8 @@
sidebar_split_->width() - sidebar_width);
sidebar_container_->SetVisible(true);
- sidebar_split_->Layout();
+ sidebar_split_->InvalidateLayout();
+ Layout();
} else if (should_hide) {
// Store split offset when hiding sidebar only.
g_browser_process->local_state()->SetInteger(
@@ -2110,7 +2079,8 @@
sidebar_split_->width() - sidebar_split_->divider_offset());
sidebar_container_->SetVisible(false);
- sidebar_split_->Layout();
+ sidebar_split_->InvalidateLayout();
+ Layout();
}
}
@@ -2147,7 +2117,8 @@
contents_split_->set_divider_offset(split_offset);
devtools_container_->SetVisible(true);
- contents_split_->Layout();
+ contents_split_->InvalidateLayout();
+ Layout();
} else if (should_hide) {
// Store split offset when hiding devtools window only.
g_browser_process->local_state()->SetInteger(
@@ -2157,7 +2128,8 @@
devtools_focus_tracker_->FocusLastFocusedExternalView();
devtools_container_->SetVisible(false);
- contents_split_->Layout();
+ contents_split_->InvalidateLayout();
+ Layout();
}
}
@@ -2567,6 +2539,10 @@
UpdateUIForContents(new_contents);
}
+gfx::Size BrowserView::GetResizeCornerSize() const {
+ return ResizeCorner::GetSize();
+}
+
#if !defined(OS_CHROMEOS)
// static
BrowserWindow* BrowserWindow::CreateBrowserWindow(Browser* browser) {
« no previous file with comments | « chrome/browser/ui/views/frame/browser_view.h ('k') | chrome/browser/ui/views/frame/browser_view_layout.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698