| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "cc/playback/display_list_raster_source.h" | 5 #include "cc/playback/display_list_raster_source.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include "base/containers/adapters.h" | 9 #include "base/containers/adapters.h" |
| 10 #include "base/strings/stringprintf.h" | 10 #include "base/strings/stringprintf.h" |
| (...skipping 275 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 286 } | 286 } |
| 287 | 287 |
| 288 void DisplayListRasterSource::PlaybackToCanvas( | 288 void DisplayListRasterSource::PlaybackToCanvas( |
| 289 SkCanvas* raster_canvas, | 289 SkCanvas* raster_canvas, |
| 290 const gfx::Rect& canvas_bitmap_rect, | 290 const gfx::Rect& canvas_bitmap_rect, |
| 291 const gfx::Rect& canvas_playback_rect, | 291 const gfx::Rect& canvas_playback_rect, |
| 292 float contents_scale) const { | 292 float contents_scale) const { |
| 293 PrepareForPlaybackToCanvas(raster_canvas, canvas_bitmap_rect, | 293 PrepareForPlaybackToCanvas(raster_canvas, canvas_bitmap_rect, |
| 294 canvas_playback_rect, contents_scale); | 294 canvas_playback_rect, contents_scale); |
| 295 | 295 |
| 296 SkImageInfo info = raster_canvas->imageInfo(); | 296 if (display_list_->MayHaveDiscardableImages()) { |
| 297 ImageHijackCanvas canvas(info.width(), info.height(), | 297 const SkImageInfo& info = raster_canvas->imageInfo(); |
| 298 image_decode_controller_); | 298 ImageHijackCanvas canvas(info.width(), info.height(), |
| 299 canvas.addCanvas(raster_canvas); | 299 image_decode_controller_); |
| 300 RasterCommon(&canvas, NULL, canvas_bitmap_rect, canvas_playback_rect, | 300 canvas.addCanvas(raster_canvas); |
| 301 contents_scale); | 301 RasterCommon(&canvas, nullptr, canvas_bitmap_rect, canvas_playback_rect, |
| 302 contents_scale); |
| 303 } else { |
| 304 RasterCommon(raster_canvas, nullptr, canvas_bitmap_rect, |
| 305 canvas_playback_rect, contents_scale); |
| 306 } |
| 302 } | 307 } |
| 303 | 308 |
| 304 void DisplayListRasterSource::PrepareForPlaybackToCanvas( | 309 void DisplayListRasterSource::PrepareForPlaybackToCanvas( |
| 305 SkCanvas* canvas, | 310 SkCanvas* canvas, |
| 306 const gfx::Rect& canvas_bitmap_rect, | 311 const gfx::Rect& canvas_bitmap_rect, |
| 307 const gfx::Rect& canvas_playback_rect, | 312 const gfx::Rect& canvas_playback_rect, |
| 308 float contents_scale) const { | 313 float contents_scale) const { |
| 309 // TODO(hendrikw): See if we can split this up into separate functions. | 314 // TODO(hendrikw): See if we can split this up into separate functions. |
| 310 bool partial_update = canvas_bitmap_rect != canvas_playback_rect; | 315 bool partial_update = canvas_bitmap_rect != canvas_playback_rect; |
| 311 | 316 |
| (...skipping 228 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 540 base::trace_event::MemoryAllocatorDump* dump = | 545 base::trace_event::MemoryAllocatorDump* dump = |
| 541 pmd->CreateAllocatorDump(dump_name); | 546 pmd->CreateAllocatorDump(dump_name); |
| 542 dump->AddScalar(base::trace_event::MemoryAllocatorDump::kNameSize, | 547 dump->AddScalar(base::trace_event::MemoryAllocatorDump::kNameSize, |
| 543 base::trace_event::MemoryAllocatorDump::kUnitsBytes, | 548 base::trace_event::MemoryAllocatorDump::kUnitsBytes, |
| 544 memory_usage); | 549 memory_usage); |
| 545 } | 550 } |
| 546 return true; | 551 return true; |
| 547 } | 552 } |
| 548 | 553 |
| 549 } // namespace cc | 554 } // namespace cc |
| OLD | NEW |