| 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) {
|
|
|