| Index: chrome/browser/ui/views/tabs/tab.cc
|
| diff --git a/chrome/browser/ui/views/tabs/tab.cc b/chrome/browser/ui/views/tabs/tab.cc
|
| index c2d651c08c32c37d2f18b134dfbb981cfc64b5dd..0a6ff6e1485ee9fe69f054c48db14d6920e0bce5 100644
|
| --- a/chrome/browser/ui/views/tabs/tab.cc
|
| +++ b/chrome/browser/ui/views/tabs/tab.cc
|
| @@ -1225,6 +1225,11 @@ void Tab::PaintInactiveTabBackgroundUsingResourceId(gfx::Canvas* canvas,
|
| // bottom.
|
| const int toolbar_overlap = tab_insets.bottom() - 1;
|
|
|
| + const SkScalar radius = SkFloatToScalar(width() / 3.f);
|
| + const bool draw_hover = hover_controller_.ShouldDraw() && radius > 0;
|
| + SkPoint hover_location(PointToSkPoint(hover_controller_.location()));
|
| + const SkAlpha hover_alpha = hover_controller_.GetAlpha();
|
| +
|
| // Draw everything to a temporary canvas so we can extract an image for use in
|
| // masking the hover glow.
|
| gfx::Canvas background_canvas(size(), canvas->image_scale(), false);
|
| @@ -1260,9 +1265,13 @@ void Tab::PaintInactiveTabBackgroundUsingResourceId(gfx::Canvas* canvas,
|
| gfx::ImageSkia background_image(background_canvas.ExtractImageRep());
|
| canvas->DrawImageInt(background_image, 0, 0);
|
|
|
| - if (!GetThemeProvider()->HasCustomImage(tab_id) &&
|
| - hover_controller_.ShouldDraw())
|
| - hover_controller_.Draw(canvas, background_image);
|
| + if (draw_hover) {
|
| + gfx::Canvas hover_canvas(size(), canvas->image_scale(), false);
|
| + DrawHighlight(&hover_canvas, hover_location, radius, hover_alpha);
|
| + gfx::ImageSkia result = gfx::ImageSkiaOperations::CreateMaskedImage(
|
| + gfx::ImageSkia(hover_canvas.ExtractImageRep()), background_image);
|
| + canvas->DrawImageInt(result, 0, 0);
|
| + }
|
|
|
| // Now draw the stroke, highlights, and shadows around the tab edge.
|
| TabImages* stroke_images = &inactive_images_;
|
|
|