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

Unified Diff: cc/layers/picture_image_layer.cc

Issue 862133002: Update from https://crrev.com/312398 (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 years, 11 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/layers/picture_image_layer.cc
diff --git a/cc/layers/picture_image_layer.cc b/cc/layers/picture_image_layer.cc
index cebc8b77cdb0386f90c89093e7c47b323d35dfb4..85bc582bd681de64c162565025534db6a3c2ba69 100644
--- a/cc/layers/picture_image_layer.cc
+++ b/cc/layers/picture_image_layer.cc
@@ -5,7 +5,10 @@
#include "cc/layers/picture_image_layer.h"
#include "cc/layers/picture_image_layer_impl.h"
+#include "cc/resources/drawing_display_item.h"
#include "third_party/skia/include/core/SkCanvas.h"
+#include "third_party/skia/include/core/SkPictureRecorder.h"
+#include "ui/gfx/skia_util.h"
namespace cc {
@@ -63,8 +66,16 @@ void PictureImageLayer::PaintContents(
scoped_refptr<DisplayItemList> PictureImageLayer::PaintContentsToDisplayList(
const gfx::Rect& clip,
GraphicsContextStatus gc_status) {
- NOTIMPLEMENTED();
- return DisplayItemList::Create();
+ scoped_refptr<DisplayItemList> display_item_list = DisplayItemList::Create();
+
+ SkPictureRecorder recorder;
+ SkCanvas* canvas = recorder.beginRecording(gfx::RectToSkRect(clip));
+ PaintContents(canvas, clip, gc_status);
+
+ skia::RefPtr<SkPicture> picture = skia::AdoptRef(recorder.endRecording());
+ display_item_list->AppendItem(
+ DrawingDisplayItem::Create(picture, gfx::Point()));
+ return display_item_list;
}
bool PictureImageLayer::FillsBoundsCompletely() const {

Powered by Google App Engine
This is Rietveld 408576698