Index: chrome/browser/ui/views/detachable_toolbar_view.cc |
diff --git a/chrome/browser/ui/views/detachable_toolbar_view.cc b/chrome/browser/ui/views/detachable_toolbar_view.cc |
index 354af9fac055e5979e2853922d0d59e2e3a77f98..07ae8ccb0e2c47f031a114ed963c17a956ba9bf7 100644 |
--- a/chrome/browser/ui/views/detachable_toolbar_view.cc |
+++ b/chrome/browser/ui/views/detachable_toolbar_view.cc |
@@ -6,6 +6,7 @@ |
#include "chrome/browser/themes/theme_service.h" |
#include "grit/theme_resources.h" |
+#include "skia/ext/refptr.h" |
#include "third_party/skia/include/core/SkShader.h" |
#include "ui/base/resource/resource_bundle.h" |
#include "ui/gfx/canvas.h" |
@@ -119,12 +120,13 @@ void DetachableToolbarView::PaintVerticalDivider(gfx::Canvas* canvas, |
SkColor top_color, |
SkColor middle_color, |
SkColor bottom_color) { |
+ skia::RefPtr<SkShader> gradient; |
+ |
// Draw the upper half of the divider. |
SkPaint paint; |
- SkSafeUnref(paint.setShader(gfx::CreateGradientShader(vertical_padding + 1, |
- height / 2, |
- top_color, |
- middle_color))); |
+ gradient = gfx::CreateGradientShader(vertical_padding + 1, height / 2, |
+ top_color, middle_color); |
+ paint.setShader(gradient.get()); |
SkRect rc = { SkIntToScalar(x), |
SkIntToScalar(vertical_padding + 1), |
SkIntToScalar(x + 1), |
@@ -133,8 +135,9 @@ void DetachableToolbarView::PaintVerticalDivider(gfx::Canvas* canvas, |
// Draw the lower half of the divider. |
SkPaint paint_down; |
- SkSafeUnref(paint_down.setShader(gfx::CreateGradientShader( |
- height / 2, height - vertical_padding, middle_color, bottom_color))); |
+ gradient = gfx::CreateGradientShader(height / 2, height - vertical_padding, |
+ middle_color, bottom_color); |
+ paint_down.setShader(gradient.get()); |
SkRect rc_down = { SkIntToScalar(x), |
SkIntToScalar(height / 2), |
SkIntToScalar(x + 1), |