diff options
author | twiz@chromium.org <twiz@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-05-25 15:53:12 +0000 |
---|---|---|
committer | twiz@chromium.org <twiz@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-05-25 15:53:12 +0000 |
commit | e414727ea30e03a5d4582bdbba42d67327605273 (patch) | |
tree | 58746c063aea418e36d5a618c67bdf1bec9e7409 /webkit/plugins/ppapi | |
parent | 33986d3ecde79d6a1bdf2b0edd17fc13bc2cc78b (diff) | |
download | chromium_src-e414727ea30e03a5d4582bdbba42d67327605273.zip chromium_src-e414727ea30e03a5d4582bdbba42d67327605273.tar.gz chromium_src-e414727ea30e03a5d4582bdbba42d67327605273.tar.bz2 |
This change implements a first pass in the effort to remove the dependency of PlatformDevice within Chrome. The Skia library now provides multiple back-ends for the SkDevice class, so PlatformDevice's inheritance of SkDevice, and the assumption of instances of PlatformDevice limits the use of these new back-ends.
A new set of helper functions is provided for the PlatformDevice entry points. Upon construction of a PlatformDevice, a pointer to the interface is cached in the parent SkDevice's SkMetaData. The new helper functions forward calls to the interface cached in the metadata.
BUG=NONE
TEST=NONE
Review URL: http://codereview.chromium.org/7019013
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@86625 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/plugins/ppapi')
-rw-r--r-- | webkit/plugins/ppapi/ppapi_plugin_instance.cc | 4 | ||||
-rw-r--r-- | webkit/plugins/ppapi/ppb_image_data_impl.cc | 4 | ||||
-rw-r--r-- | webkit/plugins/ppapi/ppb_pdf_impl.cc | 2 | ||||
-rw-r--r-- | webkit/plugins/ppapi/ppb_scrollbar_impl.cc | 4 |
4 files changed, 7 insertions, 7 deletions
diff --git a/webkit/plugins/ppapi/ppapi_plugin_instance.cc b/webkit/plugins/ppapi/ppapi_plugin_instance.cc index 0da964a..a8cd049 100644 --- a/webkit/plugins/ppapi/ppapi_plugin_instance.cc +++ b/webkit/plugins/ppapi/ppapi_plugin_instance.cc @@ -1466,7 +1466,8 @@ bool PluginInstance::DrawJPEGToPlatformDC( return false; } - HDC dc = skia::BeginPlatformPaint(canvas); + skia::ScopedPlatformPaint scoped_platform_paint(canvas); + HDC dc = scoped_platform_paint.GetPlatformSurface(); // TODO(sanjeevr): This is a temporary hack. If we output a JPEG // to the EMF, the EnumEnhMetaFile call fails in the browser // process. The failure also happens if we output nothing here. @@ -1485,7 +1486,6 @@ bool PluginInstance::DrawJPEGToPlatformDC( &compressed_image.front(), reinterpret_cast<const BITMAPINFO*>(&bmi), DIB_RGB_COLORS, SRCCOPY); - skia::EndPlatformPaint(canvas); return true; } #endif // OS_WIN diff --git a/webkit/plugins/ppapi/ppb_image_data_impl.cc b/webkit/plugins/ppapi/ppb_image_data_impl.cc index 9f5c15c..2f722e0 100644 --- a/webkit/plugins/ppapi/ppb_image_data_impl.cc +++ b/webkit/plugins/ppapi/ppb_image_data_impl.cc @@ -106,7 +106,7 @@ void* PPB_ImageData_Impl::Map() { return NULL; } const SkBitmap& bitmap = - mapped_canvas_->getTopPlatformDevice().accessBitmap(true); + skia::GetTopDevice(*mapped_canvas_)->accessBitmap(true); // Our platform bitmaps are set to opaque by default, which we don't want. const_cast<SkBitmap&>(bitmap).setIsOpaque(false); @@ -129,7 +129,7 @@ int PPB_ImageData_Impl::GetSharedMemoryHandle(uint32* byte_count) const { const SkBitmap* PPB_ImageData_Impl::GetMappedBitmap() const { if (!mapped_canvas_.get()) return NULL; - return &mapped_canvas_->getTopPlatformDevice().accessBitmap(false); + return &skia::GetTopDevice(*mapped_canvas_)->accessBitmap(false); } void PPB_ImageData_Impl::Swap(PPB_ImageData_Impl* other) { diff --git a/webkit/plugins/ppapi/ppb_pdf_impl.cc b/webkit/plugins/ppapi/ppb_pdf_impl.cc index f58b823..a8be7cd 100644 --- a/webkit/plugins/ppapi/ppb_pdf_impl.cc +++ b/webkit/plugins/ppapi/ppb_pdf_impl.cc @@ -153,7 +153,7 @@ PP_Resource GetResourceImage(PP_Instance instance_id, skia::PlatformCanvas* canvas = image_data->mapped_canvas(); SkBitmap& ret_bitmap = - const_cast<SkBitmap&>(canvas->getTopPlatformDevice().accessBitmap(true)); + const_cast<SkBitmap&>(skia::GetTopDevice(*canvas)->accessBitmap(true)); if (!res_bitmap->copyTo(&ret_bitmap, SkBitmap::kARGB_8888_Config, NULL)) { return 0; } diff --git a/webkit/plugins/ppapi/ppb_scrollbar_impl.cc b/webkit/plugins/ppapi/ppb_scrollbar_impl.cc index 904c804..3820cca 100644 --- a/webkit/plugins/ppapi/ppb_scrollbar_impl.cc +++ b/webkit/plugins/ppapi/ppb_scrollbar_impl.cc @@ -178,8 +178,8 @@ bool PPB_Scrollbar_Impl::Paint(const PP_Rect* rect, PPB_ImageData_Impl* image) { #if defined(OS_WIN) if (base::win::GetVersion() == base::win::VERSION_XP) { - canvas->getTopPlatformDevice().makeOpaque( - gfx_rect.x(), gfx_rect.y(), gfx_rect.width(), gfx_rect.height()); + skia::MakeOpaque(canvas, gfx_rect.x(), gfx_rect.y(), + gfx_rect.width(), gfx_rect.height()); } #endif |