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

Side by Side Diff: cc/blimp/picture_data_conversions_unittest.cc

Issue 2343993002: use SkData oriented picture serialize api (Closed)
Patch Set: remove another unused SkStream.h include Created 4 years, 3 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 unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "cc/blimp/picture_data_conversions.h" 5 #include "cc/blimp/picture_data_conversions.h"
6 6
7 #include <memory> 7 #include <memory>
8 #include <set> 8 #include <set>
9 9
10 #include "base/logging.h" 10 #include "base/logging.h"
11 #include "base/memory/ptr_util.h" 11 #include "base/memory/ptr_util.h"
12 #include "cc/blimp/picture_data.h" 12 #include "cc/blimp/picture_data.h"
13 #include "cc/proto/layer_tree_host.pb.h" 13 #include "cc/proto/layer_tree_host.pb.h"
14 #include "testing/gtest/include/gtest/gtest.h" 14 #include "testing/gtest/include/gtest/gtest.h"
15 #include "third_party/skia/include/core/SkCanvas.h" 15 #include "third_party/skia/include/core/SkCanvas.h"
16 #include "third_party/skia/include/core/SkColor.h" 16 #include "third_party/skia/include/core/SkColor.h"
17 #include "third_party/skia/include/core/SkData.h" 17 #include "third_party/skia/include/core/SkData.h"
18 #include "third_party/skia/include/core/SkPicture.h" 18 #include "third_party/skia/include/core/SkPicture.h"
19 #include "third_party/skia/include/core/SkPictureRecorder.h" 19 #include "third_party/skia/include/core/SkPictureRecorder.h"
20 #include "third_party/skia/include/core/SkRefCnt.h" 20 #include "third_party/skia/include/core/SkRefCnt.h"
21 #include "third_party/skia/include/core/SkStream.h"
22 21
23 namespace cc { 22 namespace cc {
24 namespace { 23 namespace {
25 sk_sp<const SkPicture> CreateSkPicture(SkColor color) { 24 sk_sp<const SkPicture> CreateSkPicture(SkColor color) {
26 SkPictureRecorder recorder; 25 SkPictureRecorder recorder;
27 sk_sp<SkCanvas> canvas = 26 sk_sp<SkCanvas> canvas =
28 sk_ref_sp(recorder.beginRecording(SkRect::MakeWH(1, 1))); 27 sk_ref_sp(recorder.beginRecording(SkRect::MakeWH(1, 1)));
29 canvas->drawColor(color); 28 canvas->drawColor(color);
30 return recorder.finishRecordingAsPicture(); 29 return recorder.finishRecordingAsPicture();
31 } 30 }
32 31
33 sk_sp<SkData> SerializePicture(sk_sp<const SkPicture> picture) { 32 sk_sp<SkData> SerializePicture(sk_sp<const SkPicture> picture) {
34 SkDynamicMemoryWStream stream; 33 sk_sp<SkData> data = picture->serialize();
35 picture->serialize(&stream, nullptr); 34 DCHECK(data->size());
36 DCHECK(stream.bytesWritten()); 35 return data;
37 return sk_sp<SkData>(stream.copyToData());
38 } 36 }
39 37
40 bool SamePicture(sk_sp<const SkPicture> picture, 38 bool SamePicture(sk_sp<const SkPicture> picture,
41 const PictureData& picture_data) { 39 const PictureData& picture_data) {
42 if (picture->uniqueID() != picture_data.unique_id) 40 if (picture->uniqueID() != picture_data.unique_id)
43 return false; 41 return false;
44 42
45 sk_sp<const SkData> serialized_picture = SerializePicture(picture); 43 sk_sp<const SkData> serialized_picture = SerializePicture(picture);
46 return picture_data.data->equals(serialized_picture.get()); 44 return picture_data.data->equals(serialized_picture.get());
47 } 45 }
(...skipping 18 matching lines...) Expand all
66 64
67 ASSERT_EQ(2U, deserialized.size()); 65 ASSERT_EQ(2U, deserialized.size());
68 PictureData picture_data_1 = deserialized.at(0); 66 PictureData picture_data_1 = deserialized.at(0);
69 PictureData picture_data_2 = deserialized.at(1); 67 PictureData picture_data_2 = deserialized.at(1);
70 EXPECT_TRUE(SamePicture(picture1, picture_data_1)); 68 EXPECT_TRUE(SamePicture(picture1, picture_data_1));
71 EXPECT_TRUE(SamePicture(picture2, picture_data_2)); 69 EXPECT_TRUE(SamePicture(picture2, picture_data_2));
72 } 70 }
73 71
74 } // namespace 72 } // namespace
75 } // namespace cc 73 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698