Index: cc/resources/tile_manager.cc |
diff --git a/cc/resources/tile_manager.cc b/cc/resources/tile_manager.cc |
index b96151e5cc037fe5e9370e96ceb8df3606fd56b3..654f84830ceb94a6139f7a17f4c83759dd3904b1 100644 |
--- a/cc/resources/tile_manager.cc |
+++ b/cc/resources/tile_manager.cc |
@@ -17,6 +17,7 @@ |
#include "cc/debug/frame_viewer_instrumentation.h" |
#include "cc/debug/traced_value.h" |
#include "cc/layers/picture_layer_impl.h" |
+#include "cc/resources/raster_buffer.h" |
#include "cc/resources/rasterizer.h" |
#include "cc/resources/tile.h" |
#include "skia/ext/paint_simplifier.h" |
@@ -58,8 +59,7 @@ class RasterTaskImpl : public RasterTask { |
source_frame_number_(source_frame_number), |
analyze_picture_(analyze_picture), |
rendering_stats_(rendering_stats), |
- reply_(reply), |
- raster_buffer_(NULL) {} |
+ reply_(reply) {} |
// Overridden from Task: |
virtual void RunOnWorkerThread() OVERRIDE { |
@@ -80,11 +80,10 @@ class RasterTaskImpl : public RasterTask { |
// Overridden from RasterizerTask: |
virtual void ScheduleOnOriginThread(RasterizerTaskClient* client) OVERRIDE { |
DCHECK(!raster_buffer_); |
- raster_buffer_ = client->AcquireBufferForRaster(this); |
+ raster_buffer_ = client->AcquireBufferForRaster(resource()); |
} |
virtual void CompleteOnOriginThread(RasterizerTaskClient* client) OVERRIDE { |
- raster_buffer_ = NULL; |
- client->ReleaseBufferForRaster(this); |
+ client->ReleaseBufferForRaster(raster_buffer_.Pass()); |
} |
virtual void RunReplyOnOriginThread() OVERRIDE { |
DCHECK(!raster_buffer_); |
@@ -123,9 +122,7 @@ class RasterTaskImpl : public RasterTask { |
devtools_instrumentation::kRasterTask, layer_id_); |
skia::RefPtr<SkCanvas> canvas = raster_buffer_->AcquireSkCanvas(); |
- if (!canvas) |
- return; |
- canvas->save(); |
+ DCHECK(canvas); |
vmpstr
2014/09/16 22:15:55
Oh I see the change now from NULL ptr to NullCanva
reveman
2014/09/17 14:40:56
Good idea. Making this change using https://codere
|
skia::RefPtr<SkDrawFilter> draw_filter; |
switch (raster_mode_) { |
@@ -164,7 +161,6 @@ class RasterTaskImpl : public RasterTask { |
100); |
} |
- canvas->restore(); |
raster_buffer_->ReleaseSkCanvas(canvas); |
} |
@@ -180,7 +176,7 @@ class RasterTaskImpl : public RasterTask { |
bool analyze_picture_; |
RenderingStatsInstrumentation* rendering_stats_; |
const base::Callback<void(const PicturePileImpl::Analysis&, bool)> reply_; |
- RasterBuffer* raster_buffer_; |
+ scoped_ptr<RasterBuffer> raster_buffer_; |
DISALLOW_COPY_AND_ASSIGN(RasterTaskImpl); |
}; |