@@ -63,14 +63,17 @@ TEST_F(ColorFilterLayerTest, EmptyFilter) {
6363 SkPaint filter_paint;
6464 filter_paint.setColorFilter (nullptr );
6565 layer->Paint (paint_context ());
66- EXPECT_EQ (
67- mock_canvas ().draw_calls (),
68- std::vector ({MockCanvas::DrawCall{
69- 0 , MockCanvas::SaveLayerData{child_bounds, filter_paint,
70- nullptr , 1 }},
71- MockCanvas::DrawCall{
72- 1 , MockCanvas::DrawPathData{child_path, child_paint}},
73- MockCanvas::DrawCall{1 , MockCanvas::RestoreData{0 }}}));
66+ EXPECT_EQ (mock_canvas ().draw_calls (),
67+ std::vector ({
68+ #ifndef SUPPORT_FRACTIONAL_TRANSLATION
69+ MockCanvas::DrawCall{0 , MockCanvas::SetMatrixData{SkM44 ()}},
70+ #endif
71+ MockCanvas::DrawCall{
72+ 0 , MockCanvas::SaveLayerData{child_bounds, filter_paint,
73+ nullptr , 1 }},
74+ MockCanvas::DrawCall{
75+ 1 , MockCanvas::DrawPathData{child_path, child_paint}},
76+ MockCanvas::DrawCall{1 , MockCanvas::RestoreData{0 }}}));
7477}
7578
7679TEST_F (ColorFilterLayerTest, SimpleFilter) {
@@ -93,14 +96,17 @@ TEST_F(ColorFilterLayerTest, SimpleFilter) {
9396 SkPaint filter_paint;
9497 filter_paint.setColorFilter (layer_filter);
9598 layer->Paint (paint_context ());
96- EXPECT_EQ (
97- mock_canvas ().draw_calls (),
98- std::vector ({MockCanvas::DrawCall{
99- 0 , MockCanvas::SaveLayerData{child_bounds, filter_paint,
100- nullptr , 1 }},
101- MockCanvas::DrawCall{
102- 1 , MockCanvas::DrawPathData{child_path, child_paint}},
103- MockCanvas::DrawCall{1 , MockCanvas::RestoreData{0 }}}));
99+ EXPECT_EQ (mock_canvas ().draw_calls (),
100+ std::vector ({
101+ #ifndef SUPPORT_FRACTIONAL_TRANSLATION
102+ MockCanvas::DrawCall{0 , MockCanvas::SetMatrixData{SkM44 ()}},
103+ #endif
104+ MockCanvas::DrawCall{
105+ 0 , MockCanvas::SaveLayerData{child_bounds, filter_paint,
106+ nullptr , 1 }},
107+ MockCanvas::DrawCall{
108+ 1 , MockCanvas::DrawPathData{child_path, child_paint}},
109+ MockCanvas::DrawCall{1 , MockCanvas::RestoreData{0 }}}));
104110}
105111
106112TEST_F (ColorFilterLayerTest, MultipleChildren) {
@@ -135,16 +141,19 @@ TEST_F(ColorFilterLayerTest, MultipleChildren) {
135141 SkPaint filter_paint;
136142 filter_paint.setColorFilter (layer_filter);
137143 layer->Paint (paint_context ());
138- EXPECT_EQ (
139- mock_canvas ().draw_calls (),
140- std::vector ({MockCanvas::DrawCall{
141- 0 , MockCanvas::SaveLayerData{children_bounds,
142- filter_paint, nullptr , 1 }},
143- MockCanvas::DrawCall{
144- 1 , MockCanvas::DrawPathData{child_path1, child_paint1}},
145- MockCanvas::DrawCall{
146- 1 , MockCanvas::DrawPathData{child_path2, child_paint2}},
147- MockCanvas::DrawCall{1 , MockCanvas::RestoreData{0 }}}));
144+ EXPECT_EQ (mock_canvas ().draw_calls (),
145+ std::vector ({
146+ #ifndef SUPPORT_FRACTIONAL_TRANSLATION
147+ MockCanvas::DrawCall{0 , MockCanvas::SetMatrixData{SkM44 ()}},
148+ #endif
149+ MockCanvas::DrawCall{
150+ 0 , MockCanvas::SaveLayerData{children_bounds, filter_paint,
151+ nullptr , 1 }},
152+ MockCanvas::DrawCall{
153+ 1 , MockCanvas::DrawPathData{child_path1, child_paint1}},
154+ MockCanvas::DrawCall{
155+ 1 , MockCanvas::DrawPathData{child_path2, child_paint2}},
156+ MockCanvas::DrawCall{1 , MockCanvas::RestoreData{0 }}}));
148157}
149158
150159TEST_F (ColorFilterLayerTest, Nested) {
@@ -187,20 +196,26 @@ TEST_F(ColorFilterLayerTest, Nested) {
187196 filter_paint1.setColorFilter (layer_filter1);
188197 filter_paint2.setColorFilter (layer_filter2);
189198 layer1->Paint (paint_context ());
190- EXPECT_EQ (
191- mock_canvas ().draw_calls (),
192- std::vector ({MockCanvas::DrawCall{
193- 0 , MockCanvas::SaveLayerData{children_bounds,
194- filter_paint1, nullptr , 1 }},
195- MockCanvas::DrawCall{
196- 1 , MockCanvas::DrawPathData{child_path1, child_paint1}},
197- MockCanvas::DrawCall{
198- 1 , MockCanvas::SaveLayerData{child_path2.getBounds (),
199- filter_paint2, nullptr , 2 }},
200- MockCanvas::DrawCall{
201- 2 , MockCanvas::DrawPathData{child_path2, child_paint2}},
202- MockCanvas::DrawCall{2 , MockCanvas::RestoreData{1 }},
203- MockCanvas::DrawCall{1 , MockCanvas::RestoreData{0 }}}));
199+ EXPECT_EQ (mock_canvas ().draw_calls (),
200+ std::vector ({
201+ #ifndef SUPPORT_FRACTIONAL_TRANSLATION
202+ MockCanvas::DrawCall{0 , MockCanvas::SetMatrixData{SkM44 ()}},
203+ #endif
204+ MockCanvas::DrawCall{
205+ 0 , MockCanvas::SaveLayerData{children_bounds, filter_paint1,
206+ nullptr , 1 }},
207+ MockCanvas::DrawCall{
208+ 1 , MockCanvas::DrawPathData{child_path1, child_paint1}},
209+ #ifndef SUPPORT_FRACTIONAL_TRANSLATION
210+ MockCanvas::DrawCall{1 , MockCanvas::SetMatrixData{SkM44 ()}},
211+ #endif
212+ MockCanvas::DrawCall{
213+ 1 , MockCanvas::SaveLayerData{child_path2.getBounds (),
214+ filter_paint2, nullptr , 2 }},
215+ MockCanvas::DrawCall{
216+ 2 , MockCanvas::DrawPathData{child_path2, child_paint2}},
217+ MockCanvas::DrawCall{2 , MockCanvas::RestoreData{1 }},
218+ MockCanvas::DrawCall{1 , MockCanvas::RestoreData{0 }}}));
204219}
205220
206221TEST_F (ColorFilterLayerTest, Readback) {
@@ -356,19 +371,22 @@ TEST_F(ColorFilterLayerTest, OpacityInheritance) {
356371 SkMatrix::Translate (offset.fX , offset.fY ));
357372#endif
358373 DisplayListBuilder expected_builder;
359- /* opacity_layer ::Paint() */ {
374+ /* OpacityLayer ::Paint() */ {
360375 expected_builder.save ();
361376 {
362377 expected_builder.translate (offset.fX , offset.fY );
363378#ifndef SUPPORT_FRACTIONAL_TRANSLATION
364379 expected_builder.transformReset ();
365380 expected_builder.transform (opacity_integer_transform);
381+ /* Integer CTM in ColorFilterLayer::Paint() */
382+ expected_builder.transformReset ();
383+ expected_builder.transform (opacity_integer_transform);
366384#endif
367- /* image_filter_layer ::Paint() */ {
385+ /* ColorFilterLayer ::Paint() */ {
368386 expected_builder.setColor (opacity_alpha << 24 );
369387 expected_builder.setColorFilter (&layer_filter);
370388 expected_builder.saveLayer (&child_path.getBounds (), true );
371- /* mock_layer ::Paint() */ {
389+ /* MockLayer ::Paint() */ {
372390 expected_builder.setColor (0xFF000000 );
373391 expected_builder.setColorFilter (nullptr );
374392 expected_builder.drawPath (child_path);
0 commit comments