Chromium Code Reviews| Index: cc/playback/display_list_raster_source.cc |
| diff --git a/cc/playback/display_list_raster_source.cc b/cc/playback/display_list_raster_source.cc |
| index d1a9fc40d051438e6ba269e0bed53766f240bcd6..c029e1cbb45253a41ccea18b25c9551b0303f9de 100644 |
| --- a/cc/playback/display_list_raster_source.cc |
| +++ b/cc/playback/display_list_raster_source.cc |
| @@ -16,6 +16,7 @@ |
| #include "skia/ext/analysis_canvas.h" |
| #include "third_party/skia/include/core/SkCanvas.h" |
| #include "third_party/skia/include/core/SkPictureRecorder.h" |
| +#include "third_party/skia/include/core/SkTLazy.h" |
| #include "third_party/skia/include/utils/SkNWayCanvas.h" |
| #include "ui/gfx/geometry/rect_conversions.h" |
| @@ -145,7 +146,6 @@ class ImageHijackCanvas : public SkNWayCanvas { |
| bool has_perspective, |
| const SkPaint* paint) |
| : image_decode_controller_(image_decode_controller), |
| - paint_(paint), |
| draw_image_(image, |
| RoundOutRect(src_rect), |
| scale, |
| @@ -155,10 +155,9 @@ class ImageHijackCanvas : public SkNWayCanvas { |
| decoded_draw_image_( |
| image_decode_controller_->GetDecodedImageForDraw(draw_image_)) { |
| DCHECK(image->isLazyGenerated()); |
| - if (paint) { |
| - decoded_paint_ = *paint; |
| - decoded_paint_.setFilterQuality(decoded_draw_image_.filter_quality()); |
| - } |
| + if (paint) |
| + decoded_paint_.set(*paint)->setFilterQuality( |
| + decoded_draw_image_.filter_quality()); |
| } |
| ~ScopedDecodedImageLock() { |
| @@ -170,15 +169,14 @@ class ImageHijackCanvas : public SkNWayCanvas { |
| return decoded_draw_image_; |
| } |
| const SkPaint* decoded_paint() const { |
| - return paint_ ? &decoded_paint_ : nullptr; |
| + return decoded_paint_.getMaybeNull(); |
| } |
| private: |
| ImageDecodeController* image_decode_controller_; |
| - const SkPaint* paint_; |
| DrawImage draw_image_; |
| DecodedDrawImage decoded_draw_image_; |
| - SkPaint decoded_paint_; |
| + SkTLazy<SkPaint> decoded_paint_; |
|
vmpstr
2016/02/03 19:30:59
nit: Can you add a TODO here to use base::Optional
f(malita)
2016/02/03 20:34:41
Done.
|
| }; |
| ImageDecodeController* image_decode_controller_; |