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

Side by Side Diff: chrome/browser/ui/views/frame/browser_non_client_frame_view_ash.cc

Issue 1322323006: Change toolbar height for material design on Ash (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Peter's comments Created 5 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 unified diff | Download patch
OLDNEW
1 // Copyright 2012 The Chromium Authors. All rights reserved. 1 // Copyright 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/ui/views/frame/browser_non_client_frame_view_ash.h" 5 #include "chrome/browser/ui/views/frame/browser_non_client_frame_view_ash.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "ash/frame/caption_buttons/frame_caption_button_container_view.h" 9 #include "ash/frame/caption_buttons/frame_caption_button_container_view.h"
10 #include "ash/frame/default_header_painter.h" 10 #include "ash/frame/default_header_painter.h"
(...skipping 615 matching lines...) Expand 10 before | Expand all | Expand 10 after
626 if (toolbar_bounds.IsEmpty()) 626 if (toolbar_bounds.IsEmpty())
627 return; 627 return;
628 gfx::Point toolbar_origin(toolbar_bounds.origin()); 628 gfx::Point toolbar_origin(toolbar_bounds.origin());
629 View::ConvertPointToTarget(browser_view(), this, &toolbar_origin); 629 View::ConvertPointToTarget(browser_view(), this, &toolbar_origin);
630 toolbar_bounds.set_origin(toolbar_origin); 630 toolbar_bounds.set_origin(toolbar_origin);
631 631
632 int x = toolbar_bounds.x(); 632 int x = toolbar_bounds.x();
633 int w = toolbar_bounds.width(); 633 int w = toolbar_bounds.width();
634 int y = toolbar_bounds.y(); 634 int y = toolbar_bounds.y();
635 int h = toolbar_bounds.height(); 635 int h = toolbar_bounds.height();
636
637 // Gross hack: We split the toolbar images into two pieces, since sometimes
638 // (popup mode) the toolbar isn't tall enough to show the whole image. The
639 // split happens between the top shadow section and the bottom gradient
640 // section so that we never break the gradient.
641 // NOTE(pkotwicz): If the computation for |bottom_y| is changed, Layout() must
642 // be changed as well.
643 int split_point = kFrameShadowThickness * 2;
644 int bottom_y = y + split_point;
645 ui::ThemeProvider* tp = GetThemeProvider(); 636 ui::ThemeProvider* tp = GetThemeProvider();
646 int bottom_edge_height = h - split_point;
647
648 canvas->FillRect(gfx::Rect(x, bottom_y, w, bottom_edge_height),
649 tp->GetColor(ThemeProperties::COLOR_TOOLBAR));
650
651 // Paint the main toolbar image. Since this image is also used to draw the
652 // tab background, we must use the tab strip offset to compute the image
653 // source y position. If you have to debug this code use an image editor
654 // to paint a diagonal line through the toolbar image and ensure it lines up
655 // across the tab and toolbar.
656 gfx::ImageSkia* theme_toolbar = tp->GetImageSkiaNamed(IDR_THEME_TOOLBAR);
657 canvas->TileImageInt(
658 *theme_toolbar,
659 x + GetThemeBackgroundXInset(),
660 bottom_y - GetTopInset(),
661 x, bottom_y,
662 w, theme_toolbar->height());
663 637
664 if (ui::MaterialDesignController::IsModeMaterial()) { 638 if (ui::MaterialDesignController::IsModeMaterial()) {
639 // Paint the main toolbar image. Since this image is also used to draw the
640 // tab background, we must use the tab strip offset to compute the image
641 // source y position. If you have to debug this code use an image editor
642 // to paint a diagonal line through the toolbar image and ensure it lines up
643 // across the tab and toolbar.
644 gfx::ImageSkia* theme_toolbar = tp->GetImageSkiaNamed(IDR_THEME_TOOLBAR);
645 canvas->TileImageInt(
646 *theme_toolbar,
647 x + GetThemeBackgroundXInset(),
648 y - GetTopInset(),
649 x, y,
650 w, theme_toolbar->height());
651
665 // Draw the content/toolbar separator. 652 // Draw the content/toolbar separator.
666 toolbar_bounds.Inset(kClientEdgeThickness, 0); 653 toolbar_bounds.Inset(kClientEdgeThickness, 0);
667 BrowserView::Paint1pxHorizontalLine( 654 BrowserView::Paint1pxHorizontalLine(
668 canvas, 655 canvas,
669 ThemeProperties::GetDefaultColor( 656 ThemeProperties::GetDefaultColor(
670 ThemeProperties::COLOR_TOOLBAR_SEPARATOR), 657 ThemeProperties::COLOR_TOOLBAR_SEPARATOR),
671 toolbar_bounds); 658 toolbar_bounds);
672 } else { 659 } else {
660 // Gross hack: We split the toolbar images into two pieces, since sometimes
661 // (popup mode) the toolbar isn't tall enough to show the whole image. The
662 // split happens between the top shadow section and the bottom gradient
663 // section so that we never break the gradient.
664 // NOTE(pkotwicz): If the computation for |bottom_y| is changed, Layout()
665 // must be changed as well.
666 int split_point = kFrameShadowThickness * 2;
667 int bottom_y = y + split_point;
668 int bottom_edge_height = h - split_point;
669
670 canvas->FillRect(gfx::Rect(x, bottom_y, w, bottom_edge_height),
671 tp->GetColor(ThemeProperties::COLOR_TOOLBAR));
672
673 // Paint the main toolbar image. Since this image is also used to draw the
674 // tab background, we must use the tab strip offset to compute the image
675 // source y position. If you have to debug this code use an image editor
676 // to paint a diagonal line through the toolbar image and ensure it lines up
677 // across the tab and toolbar.
678 gfx::ImageSkia* theme_toolbar = tp->GetImageSkiaNamed(IDR_THEME_TOOLBAR);
679 canvas->TileImageInt(
680 *theme_toolbar,
681 x + GetThemeBackgroundXInset(),
682 bottom_y - GetTopInset(),
683 x, bottom_y,
684 w, theme_toolbar->height());
685
673 // The pre-material design content area line has a shadow that extends a 686 // The pre-material design content area line has a shadow that extends a
674 // couple of pixels above the toolbar bounds. 687 // couple of pixels above the toolbar bounds.
675 const int kContentShadowHeight = 2; 688 const int kContentShadowHeight = 2;
676 gfx::ImageSkia* toolbar_top = tp->GetImageSkiaNamed(IDR_TOOLBAR_SHADE_TOP); 689 gfx::ImageSkia* toolbar_top = tp->GetImageSkiaNamed(IDR_TOOLBAR_SHADE_TOP);
677 canvas->TileImageInt(*toolbar_top, 690 canvas->TileImageInt(*toolbar_top,
678 0, 0, 691 0, 0,
679 x, y - kContentShadowHeight, 692 x, y - kContentShadowHeight,
680 w, split_point + kContentShadowHeight + 1); 693 w, split_point + kContentShadowHeight + 1);
681 694
682 // Draw the "lightening" shade line around the edges of the toolbar. 695 // Draw the "lightening" shade line around the edges of the toolbar.
(...skipping 23 matching lines...) Expand all
706 } 719 }
707 } 720 }
708 721
709 void BrowserNonClientFrameViewAsh::PaintContentEdge(gfx::Canvas* canvas) { 722 void BrowserNonClientFrameViewAsh::PaintContentEdge(gfx::Canvas* canvas) {
710 DCHECK(!UsePackagedAppHeaderStyle() && !UseWebAppHeaderStyle()); 723 DCHECK(!UsePackagedAppHeaderStyle() && !UseWebAppHeaderStyle());
711 canvas->FillRect(gfx::Rect(0, caption_button_container_->bounds().bottom(), 724 canvas->FillRect(gfx::Rect(0, caption_button_container_->bounds().bottom(),
712 width(), kClientEdgeThickness), 725 width(), kClientEdgeThickness),
713 ThemeProperties::GetDefaultColor( 726 ThemeProperties::GetDefaultColor(
714 ThemeProperties::COLOR_TOOLBAR_SEPARATOR)); 727 ThemeProperties::COLOR_TOOLBAR_SEPARATOR));
715 } 728 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698