27 auto mock_layer = std::make_shared<MockLayer>(child_path, child_paint);
28 auto layer = std::make_shared<ClipRectLayer>(layer_bounds,
30 layer->Add(mock_layer);
32 preroll_context()->state_stack.set_preroll_delegate(initial_matrix);
33 layer->Preroll(preroll_context());
36 EXPECT_EQ(preroll_context()->state_stack.device_cull_rect(),
kGiantRect);
37 EXPECT_TRUE(preroll_context()->state_stack.is_empty());
39 EXPECT_EQ(mock_layer->paint_bounds(), child_bounds);
40 EXPECT_EQ(layer->paint_bounds(), mock_layer->paint_bounds());
41 EXPECT_EQ(layer->child_paint_bounds(), child_bounds);
42 EXPECT_TRUE(mock_layer->needs_painting(paint_context()));
43 EXPECT_TRUE(layer->needs_painting(paint_context()));
44 EXPECT_EQ(mock_layer->parent_cull_rect(), layer_bounds);
45 EXPECT_EQ(mock_layer->parent_matrix(), initial_matrix);
46 EXPECT_EQ(mock_layer->parent_mutators(),
47 std::vector({Mutator(layer_bounds)}));
49 layer->Paint(display_list_paint_context());
53 expected_builder.
Save();
57 expected_builder.
SaveLayer(&child_bounds);
60 expected_builder.
DrawPath(child_path, child_paint);
72 layer->Paint(checkerboard_context());
76 expected_builder.
Save();
80 expected_builder.
SaveLayer(&child_bounds);
83 expected_builder.
DrawPath(child_path, child_paint);
86 checkerboard_paint());
106 auto mock_layer = std::make_shared<MockLayer>(child_path, child_paint);
107 auto layer = std::make_shared<ClipPathLayer>(layer_path,
109 layer->Add(mock_layer);
111 preroll_context()->state_stack.set_preroll_delegate(initial_matrix);
112 layer->Preroll(preroll_context());
115 EXPECT_EQ(preroll_context()->state_stack.device_cull_rect(),
kGiantRect);
116 EXPECT_TRUE(preroll_context()->state_stack.is_empty());
118 EXPECT_EQ(mock_layer->paint_bounds(), child_bounds);
119 EXPECT_EQ(layer->paint_bounds(), mock_layer->paint_bounds());
120 EXPECT_TRUE(mock_layer->needs_painting(paint_context()));
121 EXPECT_TRUE(layer->needs_painting(paint_context()));
122 EXPECT_EQ(mock_layer->parent_cull_rect(), layer_bounds);
123 EXPECT_EQ(mock_layer->parent_matrix(), initial_matrix);
124 EXPECT_EQ(mock_layer->parent_mutators(), std::vector({Mutator(layer_path)}));
126 layer->Paint(display_list_paint_context());
130 expected_builder.
Save();
134 expected_builder.
SaveLayer(&child_bounds);
137 expected_builder.
DrawPath(child_path, child_paint);
148 reset_display_list();
149 layer->Paint(checkerboard_context());
153 expected_builder.
Save();
157 expected_builder.
SaveLayer(&child_bounds);
160 expected_builder.
DrawPath(child_path, child_paint);
163 checkerboard_paint());
182 auto mock_layer = std::make_shared<MockLayer>(child_path, child_paint);
183 auto layer = std::make_shared<ClipRRectLayer>(layer_rrect,
185 layer->Add(mock_layer);
187 preroll_context()->state_stack.set_preroll_delegate(initial_matrix);
188 layer->Preroll(preroll_context());
191 EXPECT_EQ(preroll_context()->state_stack.device_cull_rect(),
kGiantRect);
192 EXPECT_TRUE(preroll_context()->state_stack.is_empty());
194 EXPECT_EQ(mock_layer->paint_bounds(), child_bounds);
195 EXPECT_EQ(layer->paint_bounds(), mock_layer->paint_bounds());
196 EXPECT_TRUE(mock_layer->needs_painting(paint_context()));
197 EXPECT_TRUE(layer->needs_painting(paint_context()));
198 EXPECT_EQ(mock_layer->parent_cull_rect(), layer_bounds);
199 EXPECT_EQ(mock_layer->parent_matrix(), initial_matrix);
200 EXPECT_EQ(mock_layer->parent_mutators(), std::vector({Mutator(layer_rrect)}));
202 layer->Paint(display_list_paint_context());
206 expected_builder.
Save();
210 expected_builder.
SaveLayer(&child_bounds);
213 expected_builder.
DrawPath(child_path, child_paint);
224 reset_display_list();
225 layer->Paint(checkerboard_context());
229 expected_builder.
Save();
233 expected_builder.
SaveLayer(&child_bounds);
236 expected_builder.
DrawPath(child_path, child_paint);
239 checkerboard_paint());