Index: skia/ext/platform_canvas_skia.cc |
diff --git a/skia/ext/platform_canvas_skia.cc b/skia/ext/platform_canvas_skia.cc |
index 258f119b22143b5d75a06010b76cc2111b28138c..40e18c35e0c5b4779966866da6702e44ff9ebcb4 100644 |
--- a/skia/ext/platform_canvas_skia.cc |
+++ b/skia/ext/platform_canvas_skia.cc |
@@ -7,11 +7,6 @@ |
#include "base/debug/trace_event.h" |
#include "skia/ext/bitmap_platform_device.h" |
-// TODO(reveman): a lot of unnecessary duplication of code from |
-// platform_canvas_[win|linux|mac].cc in here. Need to refactor |
-// PlatformCanvas to avoid this: |
-// http://code.google.com/p/chromium/issues/detail?id=119555 |
- |
namespace skia { |
PlatformCanvas::PlatformCanvas(int width, int height, bool is_opaque) { |
@@ -21,24 +16,17 @@ PlatformCanvas::PlatformCanvas(int width, int height, bool is_opaque) { |
SK_CRASH(); |
} |
-#if defined(WIN32) |
PlatformCanvas::PlatformCanvas(int width, |
int height, |
bool is_opaque, |
- HANDLE shared_section) { |
- TRACE_EVENT2("skia", "PlatformCanvas::PlatformCanvas", |
- "width", width, "height", height); |
- if (!initialize(width, height, is_opaque, shared_section)) |
- SK_CRASH(); |
-} |
-#elif defined(__APPLE__) |
-PlatformCanvas::PlatformCanvas(int width, int height, bool is_opaque, |
- uint8_t* data) { |
+ PlatformData data) { |
TRACE_EVENT2("skia", "PlatformCanvas::PlatformCanvas", |
"width", width, "height", height); |
if (!initialize(width, height, is_opaque, data)) |
SK_CRASH(); |
} |
+ |
+#if defined(__APPLE__) |
PlatformCanvas::PlatformCanvas(int width, |
int height, |
bool is_opaque, |
@@ -48,55 +36,31 @@ PlatformCanvas::PlatformCanvas(int width, |
if (!initialize(context, width, height, is_opaque)) |
SK_CRASH(); |
} |
-#elif defined(__linux__) || defined(__FreeBSD__) || defined(__OpenBSD__) || \ |
- defined(__sun) || defined(ANDROID) |
-PlatformCanvas::PlatformCanvas(int width, int height, bool is_opaque, |
- uint8_t* data) { |
- TRACE_EVENT2("skia", "PlatformCanvas::PlatformCanvas", |
- "width", width, "height", height); |
- if (!initialize(width, height, is_opaque, data)) |
- SK_CRASH(); |
-} |
#endif |
PlatformCanvas::~PlatformCanvas() { |
} |
-#if defined(WIN32) |
bool PlatformCanvas::initialize(int width, |
int height, |
bool is_opaque, |
- HANDLE shared_section) { |
- // Use platform specific device for shared_section. |
- if (shared_section) { |
+ PlatformData data) { |
+ // Use platform specific device for data. |
+ if (data) { |
if (initializeWithDevice(BitmapPlatformDevice::Create(width, |
Alexei Svitkine (slow)
2012/04/16 20:18:43
Nit: Just return initializeWithDevice(...).
|
height, |
is_opaque, |
- shared_section))) |
+ data))) |
return true; |
- // TODO(reveman): move the failure investigation from |
- // platform_canvas_win.cc to bitmap_platform_device_win.cc. |
return false; |
} |
return initializeWithDevice(new SkDevice( |
SkBitmap::kARGB_8888_Config, width, height, is_opaque)); |
} |
-#elif defined(__APPLE__) |
-bool PlatformCanvas::initialize(int width, |
- int height, |
- bool is_opaque, |
- uint8_t* data) { |
- // Use platform specific device for data. |
- if (data) |
- return initializeWithDevice(BitmapPlatformDevice::CreateWithData( |
- data, width, height, is_opaque)); |
- |
- return initializeWithDevice(new SkDevice( |
- SkBitmap::kARGB_8888_Config, width, height, is_opaque)); |
-} |
+#if defined(__APPLE__) |
bool PlatformCanvas::initialize(CGContextRef context, |
int width, |
int height, |
@@ -104,18 +68,6 @@ bool PlatformCanvas::initialize(CGContextRef context, |
return initializeWithDevice(BitmapPlatformDevice::Create( |
context, width, height, is_opaque)); |
} |
-#elif defined(__linux__) || defined(__FreeBSD__) || defined(__OpenBSD__) || \ |
- defined(__sun) || defined(ANDROID) |
-bool PlatformCanvas::initialize(int width, int height, bool is_opaque, |
- uint8_t* data) { |
- // Use platform specific device for data. |
- if (data) |
- return initializeWithDevice(BitmapPlatformDevice::Create( |
- width, height, is_opaque, data)); |
- |
- return initializeWithDevice(new SkDevice( |
- SkBitmap::kARGB_8888_Config, width, height, is_opaque)); |
-} |
#endif |
} // namespace skia |