| Index: chrome/browser/ui/views/frame/opaque_browser_frame_view.cc
|
| diff --git a/chrome/browser/ui/views/frame/opaque_browser_frame_view.cc b/chrome/browser/ui/views/frame/opaque_browser_frame_view.cc
|
| index edf02a0f07ce54d1255879e9f45f6dba1c0ea7ec..ffddf48ce6ab3aeeaed621830853f73b0f1629b9 100644
|
| --- a/chrome/browser/ui/views/frame/opaque_browser_frame_view.cc
|
| +++ b/chrome/browser/ui/views/frame/opaque_browser_frame_view.cc
|
| @@ -61,13 +61,13 @@ using content::WebContents;
|
|
|
| namespace {
|
|
|
| +const int kContentEdgeShadowThickness =
|
| + OpaqueBrowserFrameViewLayout::kContentEdgeShadowThickness;
|
| +
|
| // In the window corners, the resize areas don't actually expand bigger, but the
|
| // 16 px at the end of each edge triggers diagonal resizing.
|
| const int kResizeAreaCornerSize = 16;
|
|
|
| -// The content edge images have a shadow built into them.
|
| -const int kContentEdgeShadowThickness = 2;
|
| -
|
| #if !defined(OS_WIN)
|
| // The icon never shrinks below 16 px on a side.
|
| const int kIconMinimumSize = 16;
|
| @@ -729,26 +729,25 @@ void OpaqueBrowserFrameView::PaintClientEdge(gfx::Canvas* canvas) const {
|
| int y = client_bounds.y();
|
| const int w = client_bounds.width();
|
| const int right = client_bounds.right();
|
| - const bool normal_mode = browser_view()->IsTabStripVisible();
|
| + const bool tabstrip_visible = browser_view()->IsTabStripVisible();
|
| const bool md = ui::MaterialDesignController::IsModeMaterial();
|
| const ui::ThemeProvider* tp = GetThemeProvider();
|
| const SkColor toolbar_color =
|
| - normal_mode
|
| + tabstrip_visible
|
| ? tp->GetColor(ThemeProperties::COLOR_TOOLBAR)
|
| : ThemeProperties::GetDefaultColor(ThemeProperties::COLOR_TOOLBAR,
|
| browser_view()->IsOffTheRecord());
|
|
|
| const gfx::Rect toolbar_bounds(browser_view()->GetToolbarBounds());
|
| int img_y_offset = 0;
|
| - if (normal_mode) {
|
| + if (tabstrip_visible) {
|
| // Pre-Material Design, the client edge images start below the toolbar. In
|
| // MD the client edge images start at the top of the toolbar.
|
| y += md ? toolbar_bounds.y() : toolbar_bounds.bottom();
|
| } else {
|
| // The toolbar isn't going to draw a top edge for us, so draw one ourselves.
|
| if (IsToolbarVisible()) {
|
| - y += toolbar_bounds.y() + kContentEdgeShadowThickness +
|
| - kClientEdgeThickness;
|
| + y += toolbar_bounds.y() + kClientEdgeThickness;
|
| }
|
| client_bounds.set_y(y);
|
| client_bounds.Inset(-kClientEdgeThickness, -kClientEdgeThickness,
|
| @@ -789,17 +788,18 @@ void OpaqueBrowserFrameView::PaintClientEdge(gfx::Canvas* canvas) const {
|
|
|
| const int img_y = y + img_y_offset;
|
| const int bottom = std::max(y, height() - NonClientBorderThickness());
|
| - int height = bottom - img_y;
|
| + const int height = bottom - y;
|
| + const int img_h = bottom - img_y;
|
|
|
| // Draw the client edge images. For non-MD, we fill the toolbar color
|
| // underneath these images so they will lighten/darken it appropriately to
|
| // create a "3D shaded" effect. For MD, where we want a flatter appearance,
|
| // we do the filling afterwards so the user sees the unmodified toolbar color.
|
| if (!md)
|
| - FillClientEdgeRects(x, y, right, bottom, toolbar_color, canvas);
|
| + FillClientEdgeRects(x, y, w, height, toolbar_color, canvas);
|
| gfx::ImageSkia* right_image = tp->GetImageSkiaNamed(IDR_CONTENT_RIGHT_SIDE);
|
| const int img_w = right_image->width();
|
| - canvas->TileImageInt(*right_image, right, img_y, img_w, height);
|
| + canvas->TileImageInt(*right_image, right, img_y, img_w, img_h);
|
| canvas->DrawImageInt(*tp->GetImageSkiaNamed(IDR_CONTENT_BOTTOM_RIGHT_CORNER),
|
| right, bottom);
|
| gfx::ImageSkia* bottom_image =
|
| @@ -808,22 +808,23 @@ void OpaqueBrowserFrameView::PaintClientEdge(gfx::Canvas* canvas) const {
|
| canvas->DrawImageInt(*tp->GetImageSkiaNamed(IDR_CONTENT_BOTTOM_LEFT_CORNER),
|
| x - img_w, bottom);
|
| canvas->TileImageInt(*tp->GetImageSkiaNamed(IDR_CONTENT_LEFT_SIDE), x - img_w,
|
| - img_y, img_w, height);
|
| + img_y, img_w, img_h);
|
| if (md)
|
| - FillClientEdgeRects(x, y, right, bottom, toolbar_color, canvas);
|
| + FillClientEdgeRects(x, y, w, height, toolbar_color, canvas);
|
| }
|
|
|
| void OpaqueBrowserFrameView::FillClientEdgeRects(int x,
|
| int y,
|
| - int right,
|
| - int bottom,
|
| + int w,
|
| + int h,
|
| SkColor color,
|
| gfx::Canvas* canvas) const {
|
| - gfx::Rect side(x - kClientEdgeThickness, y, kClientEdgeThickness,
|
| - bottom + kClientEdgeThickness - y);
|
| + x -= kClientEdgeThickness;
|
| + gfx::Rect side(x, y, kClientEdgeThickness, h);
|
| canvas->FillRect(side, color);
|
| - canvas->FillRect(gfx::Rect(x, bottom, right - x, kClientEdgeThickness),
|
| + canvas->FillRect(gfx::Rect(x, y + h, w + (2 * kClientEdgeThickness),
|
| + kClientEdgeThickness),
|
| color);
|
| - side.set_x(right);
|
| + side.Offset(w + kClientEdgeThickness, 0);
|
| canvas->FillRect(side, color);
|
| }
|
|
|