Chromium Code Reviews| Index: cc/playback/image_hijack_canvas.cc |
| diff --git a/cc/playback/image_hijack_canvas.cc b/cc/playback/image_hijack_canvas.cc |
| index f0fc139ed6d32b821141bdcdc41c368e2e498a1b..15c42a7abefded627e0bbe9264bd88973273e14f 100644 |
| --- a/cc/playback/image_hijack_canvas.cc |
| +++ b/cc/playback/image_hijack_canvas.cc |
| @@ -4,9 +4,9 @@ |
| #include "cc/playback/image_hijack_canvas.h" |
| +#include "base/optional.h" |
| #include "cc/playback/discardable_image_map.h" |
| #include "cc/tiles/image_decode_controller.h" |
| -#include "third_party/skia/include/core/SkTLazy.h" |
| namespace cc { |
| namespace { |
| @@ -32,9 +32,10 @@ class ScopedDecodedImageLock { |
| decoded_draw_image_( |
| image_decode_controller_->GetDecodedImageForDraw(draw_image_)) { |
| DCHECK(draw_image_.image()->isLazyGenerated()); |
| - if (paint) |
| - decoded_paint_.set(*paint)->setFilterQuality( |
| - decoded_draw_image_.filter_quality()); |
| + if (paint) { |
| + decoded_paint_ = *paint; |
| + decoded_paint_->setFilterQuality(decoded_draw_image_.filter_quality()); |
| + } |
| } |
| ~ScopedDecodedImageLock() { |
| @@ -43,14 +44,15 @@ class ScopedDecodedImageLock { |
| } |
| const DecodedDrawImage& decoded_image() const { return decoded_draw_image_; } |
| - const SkPaint* decoded_paint() const { return decoded_paint_.getMaybeNull(); } |
| + const SkPaint* decoded_paint() const { |
| + return decoded_paint_ ? &decoded_paint_.value() : nullptr; |
|
danakj
2016/04/27 20:39:25
yep this is cool too
|
| + } |
| private: |
| ImageDecodeController* image_decode_controller_; |
| DrawImage draw_image_; |
| DecodedDrawImage decoded_draw_image_; |
| - // TODO(fmalita): use base::Optional when it becomes available |
| - SkTLazy<SkPaint> decoded_paint_; |
| + base::Optional<SkPaint> decoded_paint_; |
| }; |
| } // namespace |