Chromium Code Reviews| Index: ui/compositor/paint_recorder.cc |
| diff --git a/ui/compositor/paint_recorder.cc b/ui/compositor/paint_recorder.cc |
| index 45b6f35efdc0a81413e8edd52bc48572dd61ac70..36729acd789f8271e5b83a0637f5664b477e1f97 100644 |
| --- a/ui/compositor/paint_recorder.cc |
| +++ b/ui/compositor/paint_recorder.cc |
| @@ -9,6 +9,7 @@ |
| #include "third_party/skia/include/core/SkPictureRecorder.h" |
| #include "ui/compositor/paint_cache.h" |
| #include "ui/compositor/paint_context.h" |
| +#include "ui/gfx/geometry/rect.h" |
| #include "ui/gfx/skia_util.h" |
| namespace ui { |
| @@ -24,7 +25,8 @@ PaintRecorder::PaintRecorder(const PaintContext& context, |
| gfx::RectToSkRect(gfx::Rect(recording_size)))) |
| .get(), |
| context.device_scale_factor_), |
| - cache_(cache) { |
| + cache_(cache), |
| + visual_rect_(context.ToVisualRect(recording_size)) { |
|
danakj
2015/11/06 00:32:45
ditto, store the recording_size instead?
wkorman
2015/11/16 19:01:03
Same as above, can explore subsequently.
|
| #if DCHECK_IS_ON() |
| DCHECK(!context.inside_paint_recorder_); |
| context.inside_paint_recorder_ = true; |
| @@ -41,10 +43,11 @@ PaintRecorder::~PaintRecorder() { |
| context_.inside_paint_recorder_ = false; |
| #endif |
| - auto* item = context_.list_->CreateAndAppendItem<cc::DrawingDisplayItem>(); |
| + auto* item = |
| + context_.list_->CreateAndAppendItem<cc::DrawingDisplayItem>(visual_rect_); |
| item->SetNew(skia::AdoptRef(context_.recorder_->endRecordingAsPicture())); |
| if (cache_) |
| - cache_->SetCache(item); |
| + cache_->SetCache(visual_rect_, item); |
| } |
| } // namespace ui |