1111#include " flutter/display_list/skia/dl_sk_canvas.h"
1212#include " flutter/display_list/skia/dl_sk_conversions.h"
1313#include " flutter/display_list/skia/dl_sk_dispatcher.h"
14+ #include " flutter/display_list/testing/dl_test_snippets.h"
1415#include " flutter/display_list/testing/dl_test_surface_provider.h"
1516#include " flutter/display_list/utils/dl_comparable.h"
1617#include " flutter/fml/file.h"
@@ -58,7 +59,7 @@ constexpr SkScalar kRenderRadius = std::min(kRenderWidth, kRenderHeight) / 2.0;
5859constexpr SkScalar kRenderCornerRadius = kRenderRadius / 5.0 ;
5960
6061constexpr SkPoint kTestCenter = SkPoint::Make(kTestWidth / 2 , kTestHeight / 2 );
61- constexpr SkRect kTestBounds = SkRect::MakeWH(kTestWidth , kTestHeight );
62+ constexpr SkRect kTestBounds2 = SkRect::MakeWH(kTestWidth , kTestHeight );
6263constexpr SkRect kRenderBounds =
6364 SkRect::MakeLTRB (kRenderLeft , kRenderTop , kRenderRight , kRenderBottom );
6465
@@ -486,7 +487,7 @@ struct SkJobRenderer : public MatrixClipJobRenderer {
486487 sk_sp<SkPicture> MakePicture (const RenderJobInfo& info) {
487488 SkPictureRecorder recorder;
488489 SkRTreeFactory rtree_factory;
489- SkCanvas* cv = recorder.beginRecording (kTestBounds , &rtree_factory);
490+ SkCanvas* cv = recorder.beginRecording (kTestBounds2 , &rtree_factory);
490491 Render (cv, info);
491492 return recorder.finishRecordingAsPicture ();
492493 }
@@ -532,7 +533,7 @@ struct DlJobRenderer : public MatrixClipJobRenderer {
532533 }
533534
534535 sk_sp<DisplayList> MakeDisplayList (const RenderJobInfo& info) {
535- DisplayListBuilder builder (kTestBounds );
536+ DisplayListBuilder builder (kTestBounds2 );
536537 Render (&builder, info);
537538 return builder.Build ();
538539 }
@@ -2750,9 +2751,10 @@ class CanvasCompareTester {
27502751
27512752 static sk_sp<SkTextBlob> MakeTextBlob (const std::string& string,
27522753 SkScalar font_height) {
2753- SkFont font (txt::GetDefaultFontManager ()->matchFamilyStyle (
2754- " ahem" , SkFontStyle::Normal ()),
2755- font_height);
2754+ SkFont font = CreateTestFontOfSize (font_height);
2755+ sk_sp<SkTypeface> face = font.refTypeface ();
2756+ FML_CHECK (face);
2757+ FML_CHECK (face->countGlyphs () > 0 ) << " No glyphs in font" ;
27562758 return SkTextBlob::MakeFromText (string.c_str (), string.size (), font,
27572759 SkTextEncoding::kUTF8 );
27582760 }
@@ -3801,7 +3803,7 @@ TEST_F(DisplayListRendering, SaveLayerClippedContentStillFilters) {
38013803 const SkRect draw_rect = SkRect::MakeLTRB ( //
38023804 kRenderRight + 1 , //
38033805 kRenderTop , //
3804- kTestBounds .fRight , //
3806+ kTestBounds2 .fRight , //
38053807 kRenderBottom //
38063808 );
38073809 TestParameters test_params (
@@ -3812,7 +3814,7 @@ TEST_F(DisplayListRendering, SaveLayerClippedContentStillFilters) {
38123814 layer_paint.setImageFilter (layer_filter);
38133815 ctx.canvas ->save ();
38143816 ctx.canvas ->clipRect (kRenderBounds , SkClipOp::kIntersect , false );
3815- ctx.canvas ->saveLayer (&kTestBounds , &layer_paint);
3817+ ctx.canvas ->saveLayer (&kTestBounds2 , &layer_paint);
38163818 ctx.canvas ->drawRect (draw_rect, ctx.paint );
38173819 ctx.canvas ->restore ();
38183820 ctx.canvas ->restore ();
@@ -3824,7 +3826,7 @@ TEST_F(DisplayListRendering, SaveLayerClippedContentStillFilters) {
38243826 layer_paint.setImageFilter (layer_filter);
38253827 ctx.canvas ->Save ();
38263828 ctx.canvas ->ClipRect (kRenderBounds , ClipOp::kIntersect , false );
3827- ctx.canvas ->SaveLayer (&kTestBounds , &layer_paint);
3829+ ctx.canvas ->SaveLayer (&kTestBounds2 , &layer_paint);
38283830 ctx.canvas ->DrawRect (draw_rect, ctx.paint );
38293831 ctx.canvas ->Restore ();
38303832 ctx.canvas ->Restore ();
@@ -3906,19 +3908,19 @@ TEST_F(DisplayListRendering, SaveLayerConsolidation) {
39063908 const std::string& desc1, const std::string& desc2,
39073909 const RenderEnvironment* env) {
39083910 DisplayListBuilder nested_builder;
3909- nested_builder.SaveLayer (&kTestBounds , &paint1);
3910- nested_builder.SaveLayer (&kTestBounds , &paint2);
3911+ nested_builder.SaveLayer (&kTestBounds2 , &paint1);
3912+ nested_builder.SaveLayer (&kTestBounds2 , &paint2);
39113913 render_content (nested_builder);
39123914 auto nested_results = env->getResult (nested_builder.Build ());
39133915
39143916 DisplayListBuilder reverse_builder;
3915- reverse_builder.SaveLayer (&kTestBounds , &paint2);
3916- reverse_builder.SaveLayer (&kTestBounds , &paint1);
3917+ reverse_builder.SaveLayer (&kTestBounds2 , &paint2);
3918+ reverse_builder.SaveLayer (&kTestBounds2 , &paint1);
39173919 render_content (reverse_builder);
39183920 auto reverse_results = env->getResult (reverse_builder.Build ());
39193921
39203922 DisplayListBuilder combined_builder;
3921- combined_builder.SaveLayer (&kTestBounds , &paint_both);
3923+ combined_builder.SaveLayer (&kTestBounds2 , &paint_both);
39223924 render_content (combined_builder);
39233925 auto combined_results = env->getResult (combined_builder.Build ());
39243926
@@ -4056,7 +4058,7 @@ TEST_F(DisplayListRendering, MatrixColorFilterModifyTransparencyCheck) {
40564058 builder2.Translate (kTestCenter .fX , kTestCenter .fY );
40574059 builder2.Rotate (45 );
40584060 builder2.Translate (-kTestCenter .fX , -kTestCenter .fY );
4059- builder2.SaveLayer (&kTestBounds , &filter_save_paint);
4061+ builder2.SaveLayer (&kTestBounds2 , &filter_save_paint);
40604062 builder2.DrawRect (kRenderBounds , paint);
40614063 builder2.Restore ();
40624064 auto display_list2 = builder2.Build ();
@@ -4115,17 +4117,17 @@ TEST_F(DisplayListRendering, MatrixColorFilterOpacityCommuteCheck) {
41154117 DlPaint filter_save_paint = DlPaint ().setColorFilter (filter);
41164118
41174119 DisplayListBuilder builder1;
4118- builder1.SaveLayer (&kTestBounds , &opacity_save_paint);
4119- builder1.SaveLayer (&kTestBounds , &filter_save_paint);
4120+ builder1.SaveLayer (&kTestBounds2 , &opacity_save_paint);
4121+ builder1.SaveLayer (&kTestBounds2 , &filter_save_paint);
41204122 // builder1.DrawRect(kRenderBounds.makeOffset(20, 20), DlPaint());
41214123 builder1.DrawRect (kRenderBounds , paint);
41224124 builder1.Restore ();
41234125 builder1.Restore ();
41244126 auto display_list1 = builder1.Build ();
41254127
41264128 DisplayListBuilder builder2;
4127- builder2.SaveLayer (&kTestBounds , &filter_save_paint);
4128- builder2.SaveLayer (&kTestBounds , &opacity_save_paint);
4129+ builder2.SaveLayer (&kTestBounds2 , &filter_save_paint);
4130+ builder2.SaveLayer (&kTestBounds2 , &opacity_save_paint);
41294131 // builder1.DrawRect(kRenderBounds.makeOffset(20, 20), DlPaint());
41304132 builder2.DrawRect (kRenderBounds , paint);
41314133 builder2.Restore ();
@@ -4232,7 +4234,7 @@ TEST_F(DisplayListRendering, BlendColorFilterModifyTransparencyCheck) {
42324234 builder2.Translate (kTestCenter .fX , kTestCenter .fY );
42334235 builder2.Rotate (45 );
42344236 builder2.Translate (-kTestCenter .fX , -kTestCenter .fY );
4235- builder2.SaveLayer (&kTestBounds , &filter_save_paint);
4237+ builder2.SaveLayer (&kTestBounds2 , &filter_save_paint);
42364238 builder2.DrawRect (kRenderBounds , paint);
42374239 builder2.Restore ();
42384240 auto display_list2 = builder2.Build ();
@@ -4284,17 +4286,17 @@ TEST_F(DisplayListRendering, BlendColorFilterOpacityCommuteCheck) {
42844286 DlPaint filter_save_paint = DlPaint ().setColorFilter (&filter);
42854287
42864288 DisplayListBuilder builder1;
4287- builder1.SaveLayer (&kTestBounds , &opacity_save_paint);
4288- builder1.SaveLayer (&kTestBounds , &filter_save_paint);
4289+ builder1.SaveLayer (&kTestBounds2 , &opacity_save_paint);
4290+ builder1.SaveLayer (&kTestBounds2 , &filter_save_paint);
42894291 // builder1.DrawRect(kRenderBounds.makeOffset(20, 20), DlPaint());
42904292 builder1.DrawRect (kRenderBounds , paint);
42914293 builder1.Restore ();
42924294 builder1.Restore ();
42934295 auto display_list1 = builder1.Build ();
42944296
42954297 DisplayListBuilder builder2;
4296- builder2.SaveLayer (&kTestBounds , &filter_save_paint);
4297- builder2.SaveLayer (&kTestBounds , &opacity_save_paint);
4298+ builder2.SaveLayer (&kTestBounds2 , &filter_save_paint);
4299+ builder2.SaveLayer (&kTestBounds2 , &opacity_save_paint);
42984300 // builder1.DrawRect(kRenderBounds.makeOffset(20, 20), DlPaint());
42994301 builder2.DrawRect (kRenderBounds , paint);
43004302 builder2.Restore ();
0 commit comments