diff options
author | reed <reed@google.com> | 2014-12-10 06:49:35 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2014-12-10 14:49:50 +0000 |
commit | 62272ad0487d0741c712ceb6674afaf72dc61bb7 (patch) | |
tree | 5be00944a943473a45e7bf4ad906e07031b8db51 | |
parent | 1e2366706b52428a3a6355864b6e9a845216ae3d (diff) | |
download | chromium_src-62272ad0487d0741c712ceb6674afaf72dc61bb7.zip chromium_src-62272ad0487d0741c712ceb6674afaf72dc61bb7.tar.gz chromium_src-62272ad0487d0741c712ceb6674afaf72dc61bb7.tar.bz2 |
SkCanvas::NewRaster is deprecated, create a surface instead
BUG=skia:3216
Review URL: https://codereview.chromium.org/791753002
Cr-Commit-Position: refs/heads/master@{#307697}
-rw-r--r-- | cc/output/software_output_device.cc | 11 | ||||
-rw-r--r-- | cc/output/software_output_device.h | 3 | ||||
-rw-r--r-- | content/browser/compositor/software_output_device_mac.mm | 2 | ||||
-rw-r--r-- | content/browser/compositor/software_output_device_x11.cc | 8 | ||||
-rw-r--r-- | content/renderer/gpu/compositor_software_output_device.cc | 9 |
5 files changed, 17 insertions, 16 deletions
diff --git a/cc/output/software_output_device.cc b/cc/output/software_output_device.cc index 0c374c9..f7bc61a 100644 --- a/cc/output/software_output_device.cc +++ b/cc/output/software_output_device.cc @@ -27,13 +27,13 @@ void SoftwareOutputDevice::Resize(const gfx::Size& viewport_pixel_size, viewport_pixel_size.height(), kOpaque_SkAlphaType); viewport_pixel_size_ = viewport_pixel_size; - canvas_ = skia::AdoptRef(SkCanvas::NewRaster(info)); + surface_ = skia::AdoptRef(SkSurface::NewRaster(info)); } SkCanvas* SoftwareOutputDevice::BeginPaint(const gfx::Rect& damage_rect) { - DCHECK(canvas_); + DCHECK(surface_); damage_rect_ = damage_rect; - return canvas_.get(); + return surface_->getCanvas(); } void SoftwareOutputDevice::EndPaint(SoftwareFrameData* frame_data) { @@ -44,9 +44,10 @@ void SoftwareOutputDevice::EndPaint(SoftwareFrameData* frame_data) { } void SoftwareOutputDevice::CopyToPixels(const gfx::Rect& rect, void* pixels) { - DCHECK(canvas_); + DCHECK(surface_); SkImageInfo info = SkImageInfo::MakeN32Premul(rect.width(), rect.height()); - canvas_->readPixels(info, pixels, info.minRowBytes(), rect.x(), rect.y()); + surface_->getCanvas()->readPixels(info, pixels, info.minRowBytes(), rect.x(), + rect.y()); } void SoftwareOutputDevice::Scroll(const gfx::Vector2d& delta, diff --git a/cc/output/software_output_device.h b/cc/output/software_output_device.h index d183fdc..89ab005 100644 --- a/cc/output/software_output_device.h +++ b/cc/output/software_output_device.h @@ -9,6 +9,7 @@ #include "base/memory/scoped_ptr.h" #include "cc/base/cc_export.h" #include "skia/ext/refptr.h" +#include "third_party/skia/include/core/SkSurface.h" #include "ui/gfx/geometry/rect.h" #include "ui/gfx/geometry/size.h" #include "ui/gfx/geometry/vector2d.h" @@ -75,7 +76,7 @@ class CC_EXPORT SoftwareOutputDevice { gfx::Size viewport_pixel_size_; float scale_factor_; gfx::Rect damage_rect_; - skia::RefPtr<SkCanvas> canvas_; + skia::RefPtr<SkSurface> surface_; scoped_ptr<gfx::VSyncProvider> vsync_provider_; private: diff --git a/content/browser/compositor/software_output_device_mac.mm b/content/browser/compositor/software_output_device_mac.mm index 129c9d8..70ca4b4 100644 --- a/content/browser/compositor/software_output_device_mac.mm +++ b/content/browser/compositor/software_output_device_mac.mm @@ -21,7 +21,7 @@ SoftwareOutputDeviceMac::~SoftwareOutputDeviceMac() { void SoftwareOutputDeviceMac::EndPaint(cc::SoftwareFrameData* frame_data) { SoftwareOutputDevice::EndPaint(frame_data); ui::AcceleratedWidgetMacGotSoftwareFrame( - compositor_->widget(), scale_factor_, canvas_.get()); + compositor_->widget(), scale_factor_, surface_->getCanvas()); } } // namespace content diff --git a/content/browser/compositor/software_output_device_x11.cc b/content/browser/compositor/software_output_device_x11.cc index ebaefd7..fb57d9c 100644 --- a/content/browser/compositor/software_output_device_x11.cc +++ b/content/browser/compositor/software_output_device_x11.cc @@ -38,10 +38,10 @@ SoftwareOutputDeviceX11::~SoftwareOutputDeviceX11() { void SoftwareOutputDeviceX11::EndPaint(cc::SoftwareFrameData* frame_data) { DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); - DCHECK(canvas_); + DCHECK(surface_); DCHECK(frame_data); - if (!canvas_) + if (!surface_) return; SoftwareOutputDevice::EndPaint(frame_data); @@ -64,7 +64,7 @@ void SoftwareOutputDeviceX11::EndPaint(cc::SoftwareFrameData* frame_data) { SkImageInfo info; size_t rowBytes; - const void* addr = canvas_->peekPixels(&info, &rowBytes); + const void* addr = surface_->peekPixels(&info, &rowBytes); image.width = viewport_pixel_size_.width(); image.height = viewport_pixel_size_.height(); image.depth = 32; @@ -118,7 +118,7 @@ void SoftwareOutputDeviceX11::EndPaint(cc::SoftwareFrameData* frame_data) { // TODO(jbauman): Switch to XShmPutImage since it's async. SkImageInfo info; size_t rowBytes; - const void* addr = canvas_->peekPixels(&info, &rowBytes); + const void* addr = surface_->peekPixels(&info, &rowBytes); gfx::PutARGBImage(display_, attributes_.visual, attributes_.depth, diff --git a/content/renderer/gpu/compositor_software_output_device.cc b/content/renderer/gpu/compositor_software_output_device.cc index 4b23919..93155cc 100644 --- a/content/renderer/gpu/compositor_software_output_device.cc +++ b/content/renderer/gpu/compositor_software_output_device.cc @@ -152,9 +152,8 @@ SkCanvas* CompositorSoftwareOutputDevice::BeginPaint( // Set up a canvas for the current front buffer. SkImageInfo info = SkImageInfo::MakeN32Premul(viewport_pixel_size_.width(), viewport_pixel_size_.height()); - SkBitmap bitmap; - bitmap.installPixels(info, current->memory(), info.minRowBytes()); - canvas_ = skia::AdoptRef(new SkCanvas(bitmap)); + surface_ = skia::AdoptRef(SkSurface::NewRasterDirect(info, current->memory(), + info.minRowBytes())); if (!previous) { DCHECK(damage_rect == gfx::Rect(viewport_pixel_size_)); @@ -179,7 +178,7 @@ SkCanvas* CompositorSoftwareOutputDevice::BeginPaint( for (SkRegion::Iterator it(region); !it.done(); it.next()) { const SkIRect& src_rect = it.rect(); SkRect dst_rect = SkRect::Make(src_rect); - canvas_->drawBitmapRect(back_bitmap, &src_rect, dst_rect, NULL); + surface_->getCanvas()->drawBitmapRect(back_bitmap, &src_rect, dst_rect); } } } @@ -193,7 +192,7 @@ SkCanvas* CompositorSoftwareOutputDevice::BeginPaint( } damage_rect_ = damage_rect; - return canvas_.get(); + return surface_->getCanvas(); } void CompositorSoftwareOutputDevice::EndPaint( |