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

Unified Diff: cc/playback/drawing_display_item.cc

Issue 2523673004: [NOT FOR COMMIT] Fully replace SkCanvas uses.
Patch Set: Support Android build. Created 4 years 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
« no previous file with comments | « cc/playback/drawing_display_item.h ('k') | cc/playback/filter_display_item.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/playback/drawing_display_item.cc
diff --git a/cc/playback/drawing_display_item.cc b/cc/playback/drawing_display_item.cc
index 91bdfb71ed5a8c55a107c091af073a61d655abb5..bb2a086cd8b318a9180613c1fc2b215e931a5eea 100644
--- a/cc/playback/drawing_display_item.cc
+++ b/cc/playback/drawing_display_item.cc
@@ -20,15 +20,17 @@
#include "third_party/skia/include/core/SkData.h"
#include "third_party/skia/include/core/SkMatrix.h"
#include "third_party/skia/include/core/SkPicture.h"
+#include "third_party/skia/include/core/SkPictureRecorder.h"
#include "third_party/skia/include/core/SkStream.h"
#include "third_party/skia/include/utils/SkPictureUtils.h"
+#include "skia/ext/cdl_picture.h"
#include "ui/gfx/skia_util.h"
namespace cc {
DrawingDisplayItem::DrawingDisplayItem() {}
-DrawingDisplayItem::DrawingDisplayItem(sk_sp<const SkPicture> picture) {
+DrawingDisplayItem::DrawingDisplayItem(sk_sp<const CdlPicture> picture) {
SetNew(std::move(picture));
}
@@ -45,7 +47,7 @@ DrawingDisplayItem::DrawingDisplayItem(
DCHECK(sk_picture_id.has_unique_id());
uint32_t unique_id = sk_picture_id.unique_id();
- sk_sp<const SkPicture> picture = client_picture_cache->GetPicture(unique_id);
+ sk_sp<const CdlPicture> picture = client_picture_cache->GetPicture(unique_id);
DCHECK(picture);
used_engine_picture_ids->push_back(unique_id);
@@ -59,7 +61,7 @@ DrawingDisplayItem::DrawingDisplayItem(const DrawingDisplayItem& item) {
DrawingDisplayItem::~DrawingDisplayItem() {
}
-void DrawingDisplayItem::SetNew(sk_sp<const SkPicture> picture) {
+void DrawingDisplayItem::SetNew(sk_sp<const CdlPicture> picture) {
picture_ = std::move(picture);
}
@@ -74,12 +76,12 @@ void DrawingDisplayItem::ToProtobuf(proto::DisplayItem* proto) const {
picture_->uniqueID());
}
-sk_sp<const SkPicture> DrawingDisplayItem::GetPicture() const {
+sk_sp<const CdlPicture> DrawingDisplayItem::GetPicture() const {
return picture_;
}
DISABLE_CFI_PERF
-void DrawingDisplayItem::Raster(SkCanvas* canvas,
+void DrawingDisplayItem::Raster(CdlCanvas* canvas,
SkPicture::AbortCallback* callback) const {
if (canvas->quickReject(picture_->cullRect()))
return;
@@ -112,8 +114,10 @@ void DrawingDisplayItem::AsValueInto(
array->AppendInteger(picture_->cullRect().height());
array->EndArray();
+ // TODO(cdl): CdlPicture serialize.
std::string b64_picture;
- PictureDebugUtil::SerializeAsBase64(picture_.get(), &b64_picture);
+ PictureDebugUtil::SerializeAsBase64(ToSkPicture(picture_.get()).get(),
+ &b64_picture);
array->SetString("skp64", b64_picture);
array->EndDictionary();
}
@@ -123,7 +127,9 @@ void DrawingDisplayItem::CloneTo(DrawingDisplayItem* item) const {
}
size_t DrawingDisplayItem::ExternalMemoryUsage() const {
- return SkPictureUtils::ApproximateBytesUsed(picture_.get());
+ // TODO(cdl): Approximate CDL size.
+ // return SkPictureUtils::ApproximateBytesUsed(picture_.get());
+ return 1;
}
DISABLE_CFI_PERF
« no previous file with comments | « cc/playback/drawing_display_item.h ('k') | cc/playback/filter_display_item.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698