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

Side by Side Diff: cc/output/software_renderer_unittest.cc

Issue 15579002: Implement transform/clip support for Android WebView. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address Antoine's code review comments Created 7 years, 6 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 2012 The Chromium Authors. All rights reserved. 1 // Copyright 2012 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/output/software_renderer.h" 5 #include "cc/output/software_renderer.h"
6 6
7 #include "cc/layers/quad_sink.h" 7 #include "cc/layers/quad_sink.h"
8 #include "cc/output/compositor_frame_metadata.h" 8 #include "cc/output/compositor_frame_metadata.h"
9 #include "cc/output/software_output_device.h" 9 #include "cc/output/software_output_device.h"
10 #include "cc/quads/render_pass.h" 10 #include "cc/quads/render_pass.h"
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
42 42
43 void set_viewport_size(gfx::Size viewport_size) { 43 void set_viewport_size(gfx::Size viewport_size) {
44 viewport_size_ = viewport_size; 44 viewport_size_ = viewport_size;
45 } 45 }
46 46
47 void set_should_clear_root_render_pass(bool clear_root_render_pass) { 47 void set_should_clear_root_render_pass(bool clear_root_render_pass) {
48 should_clear_root_render_pass_ = clear_root_render_pass; 48 should_clear_root_render_pass_ = clear_root_render_pass;
49 } 49 }
50 50
51 // RendererClient implementation. 51 // RendererClient implementation.
52 virtual gfx::Size DeviceViewportSize() const OVERRIDE { 52 virtual gfx::Rect DeviceViewport() const OVERRIDE {
53 return viewport_size_; 53 return gfx::Rect(viewport_size_);
54 } 54 }
55 virtual float DeviceScaleFactor() const OVERRIDE { 55 virtual float DeviceScaleFactor() const OVERRIDE {
56 return 1.f; 56 return 1.f;
57 } 57 }
58 virtual const LayerTreeSettings& Settings() const OVERRIDE { 58 virtual const LayerTreeSettings& Settings() const OVERRIDE {
59 return settings_; 59 return settings_;
60 } 60 }
61 virtual void SetFullRootLayerDamage() OVERRIDE {} 61 virtual void SetFullRootLayerDamage() OVERRIDE {}
62 virtual void SetManagedMemoryPolicy(const ManagedMemoryPolicy& policy) 62 virtual void SetManagedMemoryPolicy(const ManagedMemoryPolicy& policy)
63 OVERRIDE {} 63 OVERRIDE {}
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
106 inner_quad->SetNew(shared_quad_state.get(), inner_rect, SK_ColorCYAN, false); 106 inner_quad->SetNew(shared_quad_state.get(), inner_rect, SK_ColorCYAN, false);
107 root_render_pass->AppendQuad(inner_quad.PassAs<DrawQuad>()); 107 root_render_pass->AppendQuad(inner_quad.PassAs<DrawQuad>());
108 root_render_pass->AppendQuad(outer_quad.PassAs<DrawQuad>()); 108 root_render_pass->AppendQuad(outer_quad.PassAs<DrawQuad>());
109 109
110 RenderPassList list; 110 RenderPassList list;
111 list.push_back(root_render_pass.PassAs<RenderPass>()); 111 list.push_back(root_render_pass.PassAs<RenderPass>());
112 renderer()->DrawFrame(&list); 112 renderer()->DrawFrame(&list);
113 113
114 SkBitmap output; 114 SkBitmap output;
115 output.setConfig(SkBitmap::kARGB_8888_Config, 115 output.setConfig(SkBitmap::kARGB_8888_Config,
116 DeviceViewportSize().width(), 116 DeviceViewport().width(),
117 DeviceViewportSize().height()); 117 DeviceViewport().height());
118 output.allocPixels(); 118 output.allocPixels();
119 renderer()->GetFramebufferPixels(output.getPixels(), outer_rect); 119 renderer()->GetFramebufferPixels(output.getPixels(), outer_rect);
120 120
121 EXPECT_EQ(SK_ColorYELLOW, output.getColor(0, 0)); 121 EXPECT_EQ(SK_ColorYELLOW, output.getColor(0, 0));
122 EXPECT_EQ(SK_ColorYELLOW, 122 EXPECT_EQ(SK_ColorYELLOW,
123 output.getColor(outer_size.width() - 1, outer_size.height() - 1)); 123 output.getColor(outer_size.width() - 1, outer_size.height() - 1));
124 EXPECT_EQ(SK_ColorCYAN, output.getColor(1, 1)); 124 EXPECT_EQ(SK_ColorCYAN, output.getColor(1, 1));
125 EXPECT_EQ(SK_ColorCYAN, 125 EXPECT_EQ(SK_ColorCYAN,
126 output.getColor(inner_size.width() - 1, inner_size.height() - 1)); 126 output.getColor(inner_size.width() - 1, inner_size.height() - 1));
127 } 127 }
(...skipping 30 matching lines...) Expand all
158 static_cast<uint8_t*>(yellow_tile.getPixels()), 158 static_cast<uint8_t*>(yellow_tile.getPixels()),
159 gfx::Rect(outer_size), 159 gfx::Rect(outer_size),
160 gfx::Rect(outer_size), 160 gfx::Rect(outer_size),
161 gfx::Vector2d()); 161 gfx::Vector2d());
162 resource_provider()->SetPixels(resource_cyan, 162 resource_provider()->SetPixels(resource_cyan,
163 static_cast<uint8_t*>(cyan_tile.getPixels()), 163 static_cast<uint8_t*>(cyan_tile.getPixels()),
164 gfx::Rect(inner_size), 164 gfx::Rect(inner_size),
165 gfx::Rect(inner_size), 165 gfx::Rect(inner_size),
166 gfx::Vector2d()); 166 gfx::Vector2d());
167 167
168 gfx::Rect root_rect = gfx::Rect(DeviceViewportSize()); 168 gfx::Rect root_rect = DeviceViewport();
169 169
170 scoped_ptr<SharedQuadState> shared_quad_state = SharedQuadState::Create(); 170 scoped_ptr<SharedQuadState> shared_quad_state = SharedQuadState::Create();
171 shared_quad_state->SetAll( 171 shared_quad_state->SetAll(
172 gfx::Transform(), outer_size, outer_rect, outer_rect, false, 1.0); 172 gfx::Transform(), outer_size, outer_rect, outer_rect, false, 1.0);
173 RenderPass::Id root_render_pass_id = RenderPass::Id(1, 1); 173 RenderPass::Id root_render_pass_id = RenderPass::Id(1, 1);
174 scoped_ptr<TestRenderPass> root_render_pass = TestRenderPass::Create(); 174 scoped_ptr<TestRenderPass> root_render_pass = TestRenderPass::Create();
175 root_render_pass->SetNew( 175 root_render_pass->SetNew(
176 root_render_pass_id, root_rect, root_rect, gfx::Transform()); 176 root_render_pass_id, root_rect, root_rect, gfx::Transform());
177 scoped_ptr<TileDrawQuad> outer_quad = TileDrawQuad::Create(); 177 scoped_ptr<TileDrawQuad> outer_quad = TileDrawQuad::Create();
178 outer_quad->SetNew(shared_quad_state.get(), 178 outer_quad->SetNew(shared_quad_state.get(),
(...skipping 13 matching lines...) Expand all
192 false); 192 false);
193 root_render_pass->AppendQuad(inner_quad.PassAs<DrawQuad>()); 193 root_render_pass->AppendQuad(inner_quad.PassAs<DrawQuad>());
194 root_render_pass->AppendQuad(outer_quad.PassAs<DrawQuad>()); 194 root_render_pass->AppendQuad(outer_quad.PassAs<DrawQuad>());
195 195
196 RenderPassList list; 196 RenderPassList list;
197 list.push_back(root_render_pass.PassAs<RenderPass>()); 197 list.push_back(root_render_pass.PassAs<RenderPass>());
198 renderer()->DrawFrame(&list); 198 renderer()->DrawFrame(&list);
199 199
200 SkBitmap output; 200 SkBitmap output;
201 output.setConfig(SkBitmap::kARGB_8888_Config, 201 output.setConfig(SkBitmap::kARGB_8888_Config,
202 DeviceViewportSize().width(), 202 DeviceViewport().width(),
203 DeviceViewportSize().height()); 203 DeviceViewport().height());
204 output.allocPixels(); 204 output.allocPixels();
205 renderer()->GetFramebufferPixels(output.getPixels(), outer_rect); 205 renderer()->GetFramebufferPixels(output.getPixels(), outer_rect);
206 206
207 EXPECT_EQ(SK_ColorYELLOW, output.getColor(0, 0)); 207 EXPECT_EQ(SK_ColorYELLOW, output.getColor(0, 0));
208 EXPECT_EQ(SK_ColorYELLOW, 208 EXPECT_EQ(SK_ColorYELLOW,
209 output.getColor(outer_size.width() - 1, outer_size.height() - 1)); 209 output.getColor(outer_size.width() - 1, outer_size.height() - 1));
210 EXPECT_EQ(SK_ColorCYAN, output.getColor(1, 1)); 210 EXPECT_EQ(SK_ColorCYAN, output.getColor(1, 1));
211 EXPECT_EQ(SK_ColorCYAN, 211 EXPECT_EQ(SK_ColorCYAN,
212 output.getColor(inner_size.width() - 1, inner_size.height() - 1)); 212 output.getColor(inner_size.width() - 1, inner_size.height() - 1));
213 } 213 }
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
261 output.getColor(viewport_rect.width() - 1, viewport_rect.height() - 1)); 261 output.getColor(viewport_rect.width() - 1, viewport_rect.height() - 1));
262 262
263 EXPECT_EQ(SK_ColorMAGENTA, 263 EXPECT_EQ(SK_ColorMAGENTA,
264 output.getColor(smaller_rect.x(), smaller_rect.y())); 264 output.getColor(smaller_rect.x(), smaller_rect.y()));
265 EXPECT_EQ(SK_ColorMAGENTA, 265 EXPECT_EQ(SK_ColorMAGENTA,
266 output.getColor(smaller_rect.right() - 1, smaller_rect.bottom() - 1)); 266 output.getColor(smaller_rect.right() - 1, smaller_rect.bottom() - 1));
267 } 267 }
268 268
269 } // namespace 269 } // namespace
270 } // namespace cc 270 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698