| Index: chrome/browser/views/frame/opaque_non_client_view.cc
|
| ===================================================================
|
| --- chrome/browser/views/frame/opaque_non_client_view.cc (revision 3391)
|
| +++ chrome/browser/views/frame/opaque_non_client_view.cc (working copy)
|
| @@ -626,11 +626,12 @@
|
| LayoutClientView();
|
| }
|
|
|
| -void OpaqueNonClientView::GetPreferredSize(CSize* out) {
|
| - DCHECK(out);
|
| - frame_->client_view()->GetPreferredSize(out);
|
| - out->cx += 2 * kWindowHorizontalBorderSize;
|
| - out->cy += CalculateNonClientTopHeight() + kWindowVerticalBorderBottomSize;
|
| +gfx::Size OpaqueNonClientView::GetPreferredSize() {
|
| + gfx::Size prefsize = frame_->client_view()->GetPreferredSize();
|
| + prefsize.Enlarge(2 * kWindowHorizontalBorderSize,
|
| + CalculateNonClientTopHeight() +
|
| + kWindowVerticalBorderBottomSize);
|
| + return prefsize;
|
| }
|
|
|
| ChromeViews::View* OpaqueNonClientView::GetViewForPoint(
|
| @@ -875,73 +876,78 @@
|
| }
|
|
|
| void OpaqueNonClientView::LayoutWindowControls() {
|
| - CSize ps;
|
| + gfx::Size ps;
|
| if (frame_->IsMaximized() || frame_->IsMinimized()) {
|
| maximize_button_->SetVisible(false);
|
| restore_button_->SetVisible(true);
|
| }
|
|
|
| if (frame_->IsMaximized()) {
|
| - close_button_->GetPreferredSize(&ps);
|
| + ps = close_button_->GetPreferredSize();
|
| close_button_->SetImageAlignment(ChromeViews::Button::ALIGN_LEFT,
|
| ChromeViews::Button::ALIGN_TOP);
|
| close_button_->SetBounds(
|
| - width() - ps.cx - kWindowControlsRightZoomedOffset,
|
| - 0, ps.cx + kWindowControlsRightZoomedOffset,
|
| - ps.cy + kWindowControlsTopZoomedOffset);
|
| + width() - ps.width() - kWindowControlsRightZoomedOffset,
|
| + 0, ps.width() + kWindowControlsRightZoomedOffset,
|
| + ps.height() + kWindowControlsTopZoomedOffset);
|
|
|
| - restore_button_->GetPreferredSize(&ps);
|
| + ps = restore_button_->GetPreferredSize();
|
| restore_button_->SetImageAlignment(ChromeViews::Button::ALIGN_LEFT,
|
| ChromeViews::Button::ALIGN_TOP);
|
| - restore_button_->SetBounds(close_button_->x() - ps.cx, 0, ps.cx,
|
| - ps.cy + kWindowControlsTopZoomedOffset);
|
| + restore_button_->SetBounds(close_button_->x() - ps.width(), 0, ps.width(),
|
| + ps.height() + kWindowControlsTopZoomedOffset);
|
|
|
| - minimize_button_->GetPreferredSize(&ps);
|
| + ps = minimize_button_->GetPreferredSize();
|
| minimize_button_->SetImageAlignment(ChromeViews::Button::ALIGN_LEFT,
|
| ChromeViews::Button::ALIGN_TOP);
|
| - minimize_button_->SetBounds(restore_button_->x() - ps.cx, 0, ps.cx,
|
| - ps.cy + kWindowControlsTopZoomedOffset);
|
| + minimize_button_->SetBounds(restore_button_->x() - ps.width(), 0,
|
| + ps.width(),
|
| + ps.height() + kWindowControlsTopZoomedOffset);
|
| } else if (frame_->IsMinimized()) {
|
| - close_button_->GetPreferredSize(&ps);
|
| + ps = close_button_->GetPreferredSize();
|
| close_button_->SetImageAlignment(ChromeViews::Button::ALIGN_LEFT,
|
| ChromeViews::Button::ALIGN_BOTTOM);
|
| close_button_->SetBounds(
|
| - width() - ps.cx - kWindowControlsRightZoomedOffset,
|
| - 0, ps.cx + kWindowControlsRightZoomedOffset,
|
| - ps.cy + kWindowControlsTopZoomedOffset);
|
| + width() - ps.width() - kWindowControlsRightZoomedOffset,
|
| + 0, ps.width() + kWindowControlsRightZoomedOffset,
|
| + ps.height() + kWindowControlsTopZoomedOffset);
|
|
|
| - restore_button_->GetPreferredSize(&ps);
|
| + ps = restore_button_->GetPreferredSize();
|
| restore_button_->SetImageAlignment(ChromeViews::Button::ALIGN_LEFT,
|
| ChromeViews::Button::ALIGN_BOTTOM);
|
| - restore_button_->SetBounds(close_button_->x() - ps.cx, 0, ps.cx,
|
| - ps.cy + kWindowControlsTopZoomedOffset);
|
| + restore_button_->SetBounds(close_button_->x() - ps.width(), 0, ps.width(),
|
| + ps.height() + kWindowControlsTopZoomedOffset);
|
|
|
| - minimize_button_->GetPreferredSize(&ps);
|
| + ps = minimize_button_->GetPreferredSize();
|
| minimize_button_->SetImageAlignment(ChromeViews::Button::ALIGN_LEFT,
|
| ChromeViews::Button::ALIGN_BOTTOM);
|
| - minimize_button_->SetBounds(restore_button_->x() - ps.cx, 0, ps.cx,
|
| - ps.cy + kWindowControlsTopZoomedOffset);
|
| + minimize_button_->SetBounds(restore_button_->x() - ps.width(), 0,
|
| + ps.width(),
|
| + ps.height() + kWindowControlsTopZoomedOffset);
|
| } else {
|
| - close_button_->GetPreferredSize(&ps);
|
| + ps = close_button_->GetPreferredSize();
|
| close_button_->SetImageAlignment(ChromeViews::Button::ALIGN_LEFT,
|
| ChromeViews::Button::ALIGN_TOP);
|
| - close_button_->SetBounds(width() - kWindowControlsRightOffset - ps.cx,
|
| - kWindowControlsTopOffset, ps.cx, ps.cy);
|
| + close_button_->SetBounds(width() - kWindowControlsRightOffset - ps.width(),
|
| + kWindowControlsTopOffset, ps.width(),
|
| + ps.height());
|
|
|
| restore_button_->SetVisible(false);
|
|
|
| maximize_button_->SetVisible(true);
|
| - maximize_button_->GetPreferredSize(&ps);
|
| + ps = maximize_button_->GetPreferredSize();
|
| maximize_button_->SetImageAlignment(ChromeViews::Button::ALIGN_LEFT,
|
| ChromeViews::Button::ALIGN_TOP);
|
| - maximize_button_->SetBounds(close_button_->x() - ps.cx,
|
| - kWindowControlsTopOffset, ps.cx, ps.cy);
|
| + maximize_button_->SetBounds(close_button_->x() - ps.width(),
|
| + kWindowControlsTopOffset, ps.width(),
|
| + ps.height());
|
|
|
| - minimize_button_->GetPreferredSize(&ps);
|
| + ps = minimize_button_->GetPreferredSize();
|
| minimize_button_->SetImageAlignment(ChromeViews::Button::ALIGN_LEFT,
|
| ChromeViews::Button::ALIGN_TOP);
|
| - minimize_button_->SetBounds(maximize_button_->x() - ps.cx,
|
| - kWindowControlsTopOffset, ps.cx, ps.cy);
|
| + minimize_button_->SetBounds(maximize_button_->x() - ps.width(),
|
| + kWindowControlsTopOffset, ps.width(),
|
| + ps.height());
|
| }
|
| }
|
|
|
|
|