Revert "Reland c91b178b07b0d - Delete dead signin code (SigninGlobalError)"
[chromium-blink-merge.git] / cc / layers / picture_image_layer_unittest.cc
blobf9379c6e3f9cd851bb4cb8bfb2505a7af4ae1c45
1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "cc/layers/picture_image_layer.h"
7 #include "cc/playback/display_item.h"
8 #include "cc/test/skia_common.h"
9 #include "cc/trees/layer_tree_settings.h"
10 #include "testing/gtest/include/gtest/gtest.h"
11 #include "third_party/skia/include/core/SkCanvas.h"
12 #include "third_party/skia/include/core/SkColor.h"
13 #include "third_party/skia/include/core/SkImage.h"
14 #include "third_party/skia/include/core/SkSurface.h"
16 namespace cc {
17 namespace {
19 TEST(PictureImageLayerTest, PaintContentsToDisplayList) {
20 scoped_refptr<PictureImageLayer> layer =
21 PictureImageLayer::Create(LayerSettings());
22 gfx::Rect layer_rect(200, 200);
24 unsigned char image_pixels[4 * 200 * 200] = {0};
25 SkImageInfo info =
26 SkImageInfo::MakeN32Premul(layer_rect.width(), layer_rect.height());
27 skia::RefPtr<SkSurface> image_surface = skia::AdoptRef(
28 SkSurface::NewRasterDirect(info, image_pixels, info.minRowBytes()));
29 SkCanvas* image_canvas = image_surface->getCanvas();
30 image_canvas->clear(SK_ColorRED);
31 SkPaint blue_paint;
32 blue_paint.setColor(SK_ColorBLUE);
33 image_canvas->drawRectCoords(0.f, 0.f, 100.f, 100.f, blue_paint);
34 image_canvas->drawRectCoords(100.f, 100.f, 200.f, 200.f, blue_paint);
36 skia::RefPtr<const SkImage> image =
37 skia::AdoptRef(image_surface->newImageSnapshot());
38 layer->SetImage(image.Pass());
39 layer->SetBounds(gfx::Size(layer_rect.width(), layer_rect.height()));
41 scoped_refptr<DisplayItemList> display_list =
42 layer->PaintContentsToDisplayList(
43 layer_rect, ContentLayerClient::PAINTING_BEHAVIOR_NORMAL);
44 unsigned char actual_pixels[4 * 200 * 200] = {0};
45 DrawDisplayList(actual_pixels, layer_rect, display_list);
47 EXPECT_EQ(0, memcmp(actual_pixels, image_pixels, 4 * 200 * 200));
50 } // namespace
51 } // namespace cc