Index: chrome/browser/ui/views/frame/browser_non_client_frame_view_mus.cc |
diff --git a/chrome/browser/ui/views/frame/browser_non_client_frame_view_mus.cc b/chrome/browser/ui/views/frame/browser_non_client_frame_view_mus.cc |
index da83c69d549f33367b81f191b5ef7d647af29e2c..dbf729a0f24cd9700aad3ccf9728e43b40154b8d 100644 |
--- a/chrome/browser/ui/views/frame/browser_non_client_frame_view_mus.cc |
+++ b/chrome/browser/ui/views/frame/browser_non_client_frame_view_mus.cc |
@@ -6,12 +6,9 @@ |
#include <algorithm> |
-#include "chrome/app/chrome_command_ids.h" |
-#include "chrome/browser/extensions/extension_util.h" |
#include "chrome/browser/profiles/profiles_state.h" |
#include "chrome/browser/themes/theme_properties.h" |
#include "chrome/browser/ui/browser.h" |
-#include "chrome/browser/ui/browser_commands.h" |
#include "chrome/browser/ui/layout_constants.h" |
#include "chrome/browser/ui/views/frame/browser_frame.h" |
#include "chrome/browser/ui/views/frame/browser_frame_mus.h" |
@@ -24,17 +21,13 @@ |
#include "chrome/browser/ui/views/tabs/tab_strip.h" |
#include "chrome/browser/web_applications/web_app.h" |
#include "chrome/grit/theme_resources.h" |
-#include "components/signin/core/common/profile_management_switches.h" |
#include "content/public/browser/web_contents.h" |
-#include "extensions/browser/extension_registry.h" |
#include "services/ui/public/cpp/window.h" |
#include "ui/accessibility/ax_view_state.h" |
#include "ui/aura/client/aura_constants.h" |
#include "ui/aura/window.h" |
#include "ui/base/hit_test.h" |
#include "ui/base/layout.h" |
-#include "ui/base/material_design/material_design_controller.h" |
-#include "ui/base/resource/resource_bundle.h" |
#include "ui/base/theme_provider.h" |
#include "ui/compositor/layer_animator.h" |
#include "ui/gfx/canvas.h" |
@@ -434,17 +427,12 @@ void BrowserNonClientFrameViewMus::LayoutIncognitoButton() { |
int avatar_bottom = GetTopInset(false) + browser_view()->GetTabStripHeight() - |
avatar_insets.bottom(); |
int avatar_y = avatar_bottom - incognito_icon.height(); |
- if (!ui::MaterialDesignController::IsModeMaterial() && |
- browser_view()->IsTabStripVisible() && |
- (frame()->IsMaximized() || frame()->IsFullscreen())) { |
- avatar_y = GetTopInset(false) + kContentShadowHeight; |
- } |
// Hide the incognito icon in immersive fullscreen when the tab light bar is |
// visible because the header is too short for the icognito icon to be |
// recognizable. |
bool avatar_visible = !UseImmersiveLightbarHeaderStyle(); |
- int avatar_height = avatar_visible ? avatar_bottom - avatar_y : 0; |
+ int avatar_height = avatar_visible ? incognito_icon.height() : 0; |
gfx::Rect avatar_bounds(avatar_insets.left(), avatar_y, |
incognito_icon.width(), avatar_height); |
@@ -485,107 +473,37 @@ void BrowserNonClientFrameViewMus::PaintToolbarBackground(gfx::Canvas* canvas) { |
gfx::Point toolbar_origin(toolbar_bounds.origin()); |
View::ConvertPointToTarget(browser_view(), this, &toolbar_origin); |
toolbar_bounds.set_origin(toolbar_origin); |
- |
- int x = toolbar_bounds.x(); |
- int w = toolbar_bounds.width(); |
- int y = toolbar_bounds.y(); |
const ui::ThemeProvider* tp = GetThemeProvider(); |
- if (ui::MaterialDesignController::IsModeMaterial()) { |
- if (tp->HasCustomImage(IDR_THEME_TOOLBAR)) { |
- // Paint the main toolbar image. Since this image is also used to draw |
- // the tab background, we must use the tab strip offset to compute the |
- // image source y position. If you have to debug this code use an image |
- // editor to paint a diagonal line through the toolbar image and ensure it |
- // lines up across the tab and toolbar. |
- gfx::ImageSkia* theme_toolbar = tp->GetImageSkiaNamed(IDR_THEME_TOOLBAR); |
- canvas->TileImageInt(*theme_toolbar, x + GetThemeBackgroundXInset(), |
- y - GetTopInset(false), x, y, w, |
- theme_toolbar->height()); |
- } else { |
- canvas->FillRect(toolbar_bounds, |
- tp->GetColor(ThemeProperties::COLOR_TOOLBAR)); |
- } |
- |
- // Draw the separator line atop the toolbar, on the left and right of the |
- // tabstrip. |
- // TODO(tdanderson): Draw the separator line for non-tabbed windows. |
- if (browser_view()->IsTabStripVisible()) { |
- gfx::Rect separator_rect(x, y, w, 0); |
- gfx::ScopedCanvas scoped_canvas(canvas); |
- gfx::Rect tabstrip_bounds( |
- GetBoundsForTabStrip(browser_view()->tabstrip())); |
- tabstrip_bounds.set_x(GetMirroredXForRect(tabstrip_bounds)); |
- canvas->ClipRect(tabstrip_bounds, SkRegion::kDifference_Op); |
- separator_rect.set_y(tabstrip_bounds.bottom()); |
- BrowserView::Paint1pxHorizontalLine(canvas, GetToolbarTopSeparatorColor(), |
- separator_rect, true); |
- } |
- |
- // Draw the content/toolbar separator. |
- toolbar_bounds.Inset(kClientEdgeThickness, 0); |
- BrowserView::Paint1pxHorizontalLine( |
- canvas, tp->GetColor(ThemeProperties::COLOR_TOOLBAR_BOTTOM_SEPARATOR), |
- toolbar_bounds, true); |
+ // Background. |
+ if (tp->HasCustomImage(IDR_THEME_TOOLBAR)) { |
+ const int bg_y = GetTopInset(false) + GetLayoutInsets(TAB).top(); |
+ const int x = toolbar_bounds.x(); |
+ const int y = toolbar_bounds.y(); |
+ canvas->TileImageInt(*tp->GetImageSkiaNamed(IDR_THEME_TOOLBAR), |
+ x + GetThemeBackgroundXInset(), y - bg_y, x, y, |
+ toolbar_bounds.width(), toolbar_bounds.height()); |
} else { |
- // NOTE: this ifdef can't be OS_CHROMEOS as we want to see how it looks on |
- // windows as well. |
-#if defined(USE_ASH) |
- int h = toolbar_bounds.height(); |
- // Gross hack: We split the toolbar images into two pieces, since sometimes |
- // (popup mode) the toolbar isn't tall enough to show the whole image. The |
- // split happens between the top shadow section and the bottom gradient |
- // section so that we never break the gradient. |
- // NOTE(pkotwicz): If the computation for |bottom_y| is changed, Layout() |
- // must be changed as well. |
- int split_point = kFrameShadowThickness * 2; |
- int bottom_y = y + split_point; |
- int bottom_edge_height = h - split_point; |
- |
- canvas->FillRect(gfx::Rect(x, bottom_y, w, bottom_edge_height), |
+ canvas->FillRect(toolbar_bounds, |
tp->GetColor(ThemeProperties::COLOR_TOOLBAR)); |
- |
- // Paint the main toolbar image. Since this image is also used to draw the |
- // tab background, we must use the tab strip offset to compute the image |
- // source y position. If you have to debug this code use an image editor |
- // to paint a diagonal line through the toolbar image and ensure it lines up |
- // across the tab and toolbar. |
- gfx::ImageSkia* theme_toolbar = tp->GetImageSkiaNamed(IDR_THEME_TOOLBAR); |
- canvas->TileImageInt(*theme_toolbar, x + GetThemeBackgroundXInset(), |
- bottom_y - GetTopInset(false), x, bottom_y, w, |
- theme_toolbar->height()); |
- |
- // The pre-material design content area line has a shadow that extends a |
- // couple of pixels above the toolbar bounds. |
- const int kContentShadowHeight = 2; |
- gfx::ImageSkia* toolbar_top = tp->GetImageSkiaNamed(IDR_TOOLBAR_SHADE_TOP); |
- canvas->TileImageInt(*toolbar_top, 0, 0, x, y - kContentShadowHeight, w, |
- split_point + kContentShadowHeight + 1); |
- |
- // Draw the "lightening" shade line around the edges of the toolbar. |
- gfx::ImageSkia* toolbar_left = |
- tp->GetImageSkiaNamed(IDR_TOOLBAR_SHADE_LEFT); |
- canvas->TileImageInt(*toolbar_left, 0, 0, x + kClientEdgeThickness, |
- y + kClientEdgeThickness + kContentShadowHeight, |
- toolbar_left->width(), theme_toolbar->height()); |
- gfx::ImageSkia* toolbar_right = |
- tp->GetImageSkiaNamed(IDR_TOOLBAR_SHADE_RIGHT); |
- canvas->TileImageInt(*toolbar_right, 0, 0, |
- w - toolbar_right->width() - 2 * kClientEdgeThickness, |
- y + kClientEdgeThickness + kContentShadowHeight, |
- toolbar_right->width(), theme_toolbar->height()); |
- |
- // Draw the content/toolbar separator. |
- canvas->FillRect( |
- gfx::Rect(x + kClientEdgeThickness, |
- toolbar_bounds.bottom() - kClientEdgeThickness, |
- w - (2 * kClientEdgeThickness), kClientEdgeThickness), |
- tp->GetColor(ThemeProperties::COLOR_TOOLBAR_BOTTOM_SEPARATOR)); |
-#else |
- // This is the case for running on non-chromeos. Decide how we want this to |
- // look. |
-#endif |
} |
+ |
+ // Top stroke. |
+ gfx::ScopedCanvas scoped_canvas(canvas); |
+ gfx::Rect tabstrip_bounds(GetBoundsForTabStrip(browser_view()->tabstrip())); |
+ tabstrip_bounds.set_x(GetMirroredXForRect(tabstrip_bounds)); |
+ canvas->ClipRect(tabstrip_bounds, SkRegion::kDifference_Op); |
+ const gfx::Rect separator_rect(toolbar_bounds.x(), tabstrip_bounds.bottom(), |
+ toolbar_bounds.width(), 0); |
+ BrowserView::Paint1pxHorizontalLine(canvas, GetToolbarTopSeparatorColor(), |
+ separator_rect, true); |
+ |
+ // Toolbar/content separator. |
+ toolbar_bounds.Inset(kClientEdgeThickness, 0); |
+ BrowserView::Paint1pxHorizontalLine( |
+ canvas, tp->GetColor(ThemeProperties::COLOR_TOOLBAR_BOTTOM_SEPARATOR), |
+ toolbar_bounds, |
+ true); |
} |
void BrowserNonClientFrameViewMus::PaintContentEdge(gfx::Canvas* canvas) { |