Index: chrome/browser/ui/views/tabs/tab_strip.cc |
diff --git a/chrome/browser/ui/views/tabs/tab_strip.cc b/chrome/browser/ui/views/tabs/tab_strip.cc |
index 99b804179e95f6b799f31577b89dc624f6bb4b6e..bbfb7e82c39e1dafa9a46fa9f8ce87d3d579707f 100644 |
--- a/chrome/browser/ui/views/tabs/tab_strip.cc |
+++ b/chrome/browser/ui/views/tabs/tab_strip.cc |
@@ -308,7 +308,6 @@ class NewTabButton : public views::ImageButton, |
// Paints the fill region of the button into |canvas|, according to the |
// supplied values from GetImage() and the given |fill| path. |
void PaintFill(bool pressed, |
- double hover_value, |
float scale, |
const SkPath& fill, |
gfx::Canvas* canvas) const; |
@@ -372,10 +371,6 @@ void NewTabButton::OnPaint(gfx::Canvas* canvas) { |
canvas->Translate(gfx::Vector2d(0, height() - kNewTabButtonHeight)); |
const bool pressed = state() == views::CustomButton::STATE_PRESSED; |
- double hover_value = |
- (state() == views::CustomButton::STATE_HOVERED) ? 1 : 0; |
- if (hover_animation_->is_animating()) |
- hover_value = hover_animation_->GetCurrentValue(); |
const float scale = canvas->image_scale(); |
SkPath fill; |
@@ -392,7 +387,7 @@ void NewTabButton::OnPaint(gfx::Canvas* canvas) { |
fill.rLineTo(5.75 * scale, 12.5 * scale); |
fill.rCubicTo(0, 0.5 * scale, -0.25 * scale, scale, -scale, scale); |
fill.close(); |
- PaintFill(pressed, hover_value, scale, fill, canvas); |
+ PaintFill(pressed, scale, fill, canvas); |
// Stroke. |
gfx::ScopedCanvas scoped_canvas(canvas); |
@@ -423,7 +418,7 @@ void NewTabButton::OnPaint(gfx::Canvas* canvas) { |
const float fill_canvas_scale = mask->HasRepresentation(scale) ? |
scale : ui::GetScaleForScaleFactor(ui::SCALE_FACTOR_100P); |
gfx::Canvas fill_canvas(GetNewTabButtonSize(), fill_canvas_scale, false); |
- PaintFill(pressed, hover_value, fill_canvas_scale, fill, &fill_canvas); |
+ PaintFill(pressed, fill_canvas_scale, fill, &fill_canvas); |
gfx::ImageSkia image(fill_canvas.ExtractImageRep()); |
canvas->DrawImageInt( |
gfx::ImageSkiaOperations::CreateMaskedImage(image, *mask), 0, 0); |
@@ -511,7 +506,6 @@ void NewTabButton::GetBorderPath(float button_y, |
} |
void NewTabButton::PaintFill(bool pressed, |
- double hover_value, |
float scale, |
const SkPath& fill, |
gfx::Canvas* canvas) const { |
@@ -591,12 +585,10 @@ void NewTabButton::PaintFill(bool pressed, |
} |
// White highlight on hover. |
- if (hover_value) { |
- const int alpha = |
- gfx::Tween::LinearIntValueBetween(hover_value, 0x00, md ? 0x4D : 0x40); |
- canvas->FillRect(GetLocalBounds(), |
- SkColorSetA(SK_ColorWHITE, static_cast<SkAlpha>(alpha))); |
- } |
+ const SkAlpha alpha = static_cast<SkAlpha>( |
+ hover_animation().CurrentValueBetween(0x00, md ? 0x4D : 0x40)); |
+ if (alpha != SK_AlphaTRANSPARENT) |
Peter Kasting
2015/12/21 20:34:18
I suspect that Skia detects a transparent fill and
Evan Stade
2015/12/21 22:27:16
I followed the callstack for a while and couldn't
|
+ canvas->FillRect(GetLocalBounds(), SkColorSetA(SK_ColorWHITE, alpha)); |
// For MD, most states' opacities are adjusted using an opacity recorder in |
// TabStrip::PaintChildren(), but the pressed state is excluded there and |