Index: chrome/browser/ui/views/theme_helpers.cc |
=================================================================== |
--- chrome/browser/ui/views/theme_helpers.cc (revision 86706) |
+++ chrome/browser/ui/views/theme_helpers.cc (working copy) |
@@ -9,7 +9,6 @@ |
#include <atltheme.h> |
#include "base/logging.h" |
-#include "skia/ext/bitmap_platform_device_win.h" |
#include "third_party/skia/include/effects/SkGradientShader.h" |
#include "ui/gfx/canvas_skia.h" |
@@ -32,10 +31,10 @@ |
// On Windows XP+, if using a Theme, we can ask the theme to render the |
// gradient for us. |
if (!theme.IsThemeNull()) { |
- HDC dc = canvas.beginPlatformPaint(); |
+ skia::ScopedPlatformPaint scoped_platform_paint(&canvas); |
+ HDC dc = scoped_platform_paint.GetPlatformSurface(); |
RECT rect = { 0, 0, width, 1 }; |
theme.DrawThemeBackground(dc, 0, 0, &rect, NULL); |
- canvas.endPlatformPaint(); |
} else { |
// On Windows 2000 or Windows XP+ with the Classic theme selected, we need |
// to build our own gradient using system colors. |
@@ -64,11 +63,12 @@ |
// Extract the color values from the selected pixels |
// The | in the following operations forces the alpha to 0xFF. This is |
// needed as windows sets the alpha to 0 when it renders. |
- skia::BitmapPlatformDevice& device = |
- static_cast<skia::BitmapPlatformDevice&>( |
- canvas.getTopPlatformDevice()); |
- *c1 = 0xFF000000 | device.getColorAt(x1, 0); |
- *c2 = 0xFF000000 | device.getColorAt(x2, 0); |
+ SkDevice* device = skia::GetTopDevice(canvas); |
+ const SkBitmap& bitmap = device->accessBitmap(false); |
+ SkAutoLockPixels lock(bitmap); |
+ |
+ *c1 = 0xFF000000 | bitmap.getColor(x1, 0); |
+ *c2 = 0xFF000000 | bitmap.getColor(x2, 0); |
} |
void GetDarkLineColor(SkColor* dark_color) { |