Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(20)

Unified Diff: cc/resources/tile_manager.cc

Issue 454843002: cc: Do bitmap conversion for RasterBuffer in the worker thread. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Code refactoring. Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: cc/resources/tile_manager.cc
diff --git a/cc/resources/tile_manager.cc b/cc/resources/tile_manager.cc
index f3b15d97eac1f8a536cbd88d37d11a8c050d4802..c645c3b8663b4bbc792bde6ab6bfbd19e5f60699 100644
--- a/cc/resources/tile_manager.cc
+++ b/cc/resources/tile_manager.cc
@@ -130,7 +130,7 @@ class RasterTaskImpl : public RasterTask {
devtools_instrumentation::ScopedLayerTask layer_task(
devtools_instrumentation::kRasterTask, layer_id_);
- SkCanvas* canvas = raster_buffer_->AcquireSkCanvas();
+ skia::RefPtr<SkCanvas> canvas = raster_buffer_->AcquireSkCanvas();
DCHECK(canvas);
skia::RefPtr<SkDrawFilter> draw_filter;
@@ -156,7 +156,8 @@ class RasterTaskImpl : public RasterTask {
RenderingStatsInstrumentation* stats =
tile_resolution_ == HIGH_RESOLUTION ? rendering_stats_ : NULL;
DCHECK(picture_pile);
- picture_pile->RasterToBitmap(canvas, content_rect_, contents_scale_, stats);
+ picture_pile->RasterToBitmap(
+ canvas.get(), content_rect_, contents_scale_, stats);
if (rendering_stats_->record_rendering_stats()) {
base::TimeDelta current_rasterize_time =
@@ -169,7 +170,8 @@ class RasterTaskImpl : public RasterTask {
100);
}
- raster_buffer_->ReleaseSkCanvas();
+ bool content_has_changed = raster_buffer_->ReleaseSkCanvas(canvas.get());
+ set_content_has_changed(content_has_changed);
}
PicturePileImpl::Analysis analysis_;
« cc/resources/resource_provider.cc ('K') | « cc/resources/resource_provider_unittest.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698