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

Side by Side Diff: cc/test/layer_tree_pixel_test.cc

Issue 12571010: cc: Add a pixel test for background blur outsets. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 8 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 | Annotate | Revision Log
« no previous file with comments | « cc/test/layer_tree_pixel_test.h ('k') | cc/test/pixel_comparator.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/test/layer_tree_pixel_test.h" 5 #include "cc/test/layer_tree_pixel_test.h"
6 6
7 #include "base/path_service.h" 7 #include "base/path_service.h"
8 #include "cc/test/paths.h" 8 #include "cc/test/paths.h"
9 #include "cc/test/pixel_comparator.h"
9 #include "cc/test/pixel_test_utils.h" 10 #include "cc/test/pixel_test_utils.h"
10 #include "cc/trees/layer_tree_impl.h" 11 #include "cc/trees/layer_tree_impl.h"
11 #include "ui/gl/gl_implementation.h" 12 #include "ui/gl/gl_implementation.h"
12 #include "webkit/gpu/context_provider_in_process.h" 13 #include "webkit/gpu/context_provider_in_process.h"
13 #include "webkit/gpu/webgraphicscontext3d_in_process_command_buffer_impl.h" 14 #include "webkit/gpu/webgraphicscontext3d_in_process_command_buffer_impl.h"
14 15
15 namespace cc { 16 namespace cc {
16 17
17 LayerTreePixelTest::LayerTreePixelTest() {} 18 LayerTreePixelTest::LayerTreePixelTest()
19 : pixel_comparator_(new ExactPixelComparator(true)) {}
18 20
19 LayerTreePixelTest::~LayerTreePixelTest() {} 21 LayerTreePixelTest::~LayerTreePixelTest() {}
20 22
21 scoped_ptr<OutputSurface> LayerTreePixelTest::CreateOutputSurface() { 23 scoped_ptr<OutputSurface> LayerTreePixelTest::CreateOutputSurface() {
22 CHECK(gfx::InitializeGLBindings(gfx::kGLImplementationOSMesaGL)); 24 CHECK(gfx::InitializeGLBindings(gfx::kGLImplementationOSMesaGL));
23 25
24 using webkit::gpu::WebGraphicsContext3DInProcessCommandBufferImpl; 26 using webkit::gpu::WebGraphicsContext3DInProcessCommandBufferImpl;
25 scoped_ptr<WebGraphicsContext3DInProcessCommandBufferImpl> context3d( 27 scoped_ptr<WebGraphicsContext3DInProcessCommandBufferImpl> context3d(
26 new WebGraphicsContext3DInProcessCommandBufferImpl( 28 new WebGraphicsContext3DInProcessCommandBufferImpl(
27 WebKit::WebGraphicsContext3D::Attributes())); 29 WebKit::WebGraphicsContext3D::Attributes()));
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
59 bitmap.allocPixels(); 61 bitmap.allocPixels();
60 unsigned char* pixels = static_cast<unsigned char*>(bitmap.getPixels()); 62 unsigned char* pixels = static_cast<unsigned char*>(bitmap.getPixels());
61 host_impl->Readback(pixels, device_viewport_rect); 63 host_impl->Readback(pixels, device_viewport_rect);
62 64
63 base::FilePath test_data_dir; 65 base::FilePath test_data_dir;
64 EXPECT_TRUE(PathService::Get(cc::DIR_TEST_DATA, &test_data_dir)); 66 EXPECT_TRUE(PathService::Get(cc::DIR_TEST_DATA, &test_data_dir));
65 67
66 // To rebaseline: 68 // To rebaseline:
67 // EXPECT_TRUE(WritePNGFile(bitmap, test_data_dir.Append(ref_file_))); 69 // EXPECT_TRUE(WritePNGFile(bitmap, test_data_dir.Append(ref_file_)));
68 70
69 EXPECT_TRUE(MatchesPNGFile(bitmap, test_data_dir.Append(ref_file_), 71 EXPECT_TRUE(MatchesPNGFile(bitmap,
70 ExactPixelComparator(true))); 72 test_data_dir.Append(ref_file_),
73 *pixel_comparator_));
71 74
72 EndTest(); 75 EndTest();
73 } 76 }
74 77
75 void LayerTreePixelTest::BeginTest() { 78 void LayerTreePixelTest::BeginTest() {
76 PostSetNeedsCommitToMainThread(); 79 PostSetNeedsCommitToMainThread();
77 } 80 }
78 81
79 void LayerTreePixelTest::AfterTest() {} 82 void LayerTreePixelTest::AfterTest() {}
80 83
81 scoped_refptr<SolidColorLayer> LayerTreePixelTest::CreateSolidColorLayer( 84 scoped_refptr<SolidColorLayer> LayerTreePixelTest::CreateSolidColorLayer(
82 gfx::Rect rect, SkColor color) { 85 gfx::Rect rect, SkColor color) {
83 scoped_refptr<SolidColorLayer> layer = SolidColorLayer::Create(); 86 scoped_refptr<SolidColorLayer> layer = SolidColorLayer::Create();
84 layer->SetIsDrawable(true); 87 layer->SetIsDrawable(true);
85 layer->SetAnchorPoint(gfx::PointF()); 88 layer->SetAnchorPoint(gfx::PointF());
86 layer->SetBounds(rect.size()); 89 layer->SetBounds(rect.size());
87 layer->SetPosition(rect.origin()); 90 layer->SetPosition(rect.origin());
88 layer->SetBackgroundColor(color); 91 layer->SetBackgroundColor(color);
89 return layer; 92 return layer;
90 } 93 }
91 94
95 scoped_refptr<SolidColorLayer> LayerTreePixelTest::
96 CreateSolidColorLayerWithBorder(
97 gfx::Rect rect, SkColor color, int border_width, SkColor border_color) {
98 scoped_refptr<SolidColorLayer> layer = CreateSolidColorLayer(rect, color);
99 scoped_refptr<SolidColorLayer> border_top = CreateSolidColorLayer(
100 gfx::Rect(0, 0, rect.width(), border_width), border_color);
101 scoped_refptr<SolidColorLayer> border_left = CreateSolidColorLayer(
102 gfx::Rect(0,
103 border_width,
104 border_width,
105 rect.height() - border_width * 2),
106 border_color);
107 scoped_refptr<SolidColorLayer> border_right = CreateSolidColorLayer(
108 gfx::Rect(rect.width() - border_width,
109 border_width,
110 border_width,
111 rect.height() - border_width * 2),
112 border_color);
113 scoped_refptr<SolidColorLayer> border_bottom = CreateSolidColorLayer(
114 gfx::Rect(0, rect.height() - border_width, rect.width(), border_width),
115 border_color);
116 layer->AddChild(border_top);
117 layer->AddChild(border_left);
118 layer->AddChild(border_right);
119 layer->AddChild(border_bottom);
120 return layer;
121 }
122
92 void LayerTreePixelTest::RunPixelTest( 123 void LayerTreePixelTest::RunPixelTest(
93 scoped_refptr<Layer> content_root, 124 scoped_refptr<Layer> content_root,
94 base::FilePath file_name) { 125 base::FilePath file_name) {
95 content_root_ = content_root; 126 content_root_ = content_root;
96 ref_file_ = file_name; 127 ref_file_ = file_name;
97 RunTest(true); 128 RunTest(true);
98 } 129 }
99 130
100 void LayerTreePixelTest::SetupTree() { 131 void LayerTreePixelTest::SetupTree() {
101 scoped_refptr<Layer> root = Layer::Create(); 132 scoped_refptr<Layer> root = Layer::Create();
102 root->SetBounds(content_root_->bounds()); 133 root->SetBounds(content_root_->bounds());
103 root->AddChild(content_root_); 134 root->AddChild(content_root_);
104 layer_tree_host()->SetRootLayer(root); 135 layer_tree_host()->SetRootLayer(root);
105 LayerTreeTest::SetupTree(); 136 LayerTreeTest::SetupTree();
106 } 137 }
107 138
108 } // namespace cc 139 } // namespace cc
OLDNEW
« no previous file with comments | « cc/test/layer_tree_pixel_test.h ('k') | cc/test/pixel_comparator.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698