@@ -12,8 +12,6 @@ import 'package:ui/src/engine.dart';
1212
1313import 'package:web_engine_tester/golden_tester.dart' ;
1414
15- final Rect region = Rect .fromLTWH (0 , 0 , 500 , 500 );
16-
1715void main () {
1816 internalBootstrapBrowserTest (() => testMain);
1917}
@@ -35,22 +33,24 @@ void testMain() async {
3533 // the clip boundary around backdrop filter. However there should be only
3634 // one red dot since the other one should be blurred by filter.
3735 test ('Background should only blur at ancestor clip boundary' , () async {
36+ final Rect region = Rect .fromLTWH (0 , 0 , 190 , 130 );
37+
3838 final SurfaceSceneBuilder builder = SurfaceSceneBuilder ();
39- final Picture backgroundPicture = _drawBackground ();
39+ final Picture backgroundPicture = _drawBackground (region );
4040 builder.addPicture (Offset .zero, backgroundPicture);
4141
4242 builder.pushClipRect (
43- const Rect .fromLTRB (10 , 10 , 300 , 300 ),
43+ const Rect .fromLTRB (10 , 10 , 180 , 120 ),
4444 );
45- final Picture circles1 = _drawTestPictureWithCircles (30 , 30 );
45+ final Picture circles1 = _drawTestPictureWithCircles (region, 30 , 30 );
4646 builder.addPicture (Offset .zero, circles1);
4747
4848 builder.pushClipRect (
49- const Rect .fromLTRB (60 , 10 , 300 , 300 ),
49+ const Rect .fromLTRB (60 , 10 , 180 , 120 ),
5050 );
5151 builder.pushBackdropFilter (ImageFilter .blur (sigmaX: 10.0 , sigmaY: 10.0 ),
5252 oldLayer: null );
53- final Picture circles2 = _drawTestPictureWithCircles (90 , 30 );
53+ final Picture circles2 = _drawTestPictureWithCircles (region, 90 , 30 );
5454 builder.addPicture (Offset .zero, circles2);
5555 builder.pop ();
5656 builder.pop ();
@@ -64,21 +64,23 @@ void testMain() async {
6464 });
6565
6666 test ('Background should only blur at ancestor clip boundary after move' , () async {
67+ final Rect region = Rect .fromLTWH (0 , 0 , 190 , 130 );
68+
6769 final SurfaceSceneBuilder builder = SurfaceSceneBuilder ();
68- final Picture backgroundPicture = _drawBackground ();
70+ final Picture backgroundPicture = _drawBackground (region );
6971 builder.addPicture (Offset .zero, backgroundPicture);
7072 ClipRectEngineLayer clipEngineLayer = builder.pushClipRect (
71- const Rect .fromLTRB (10 , 10 , 300 , 300 ),
73+ const Rect .fromLTRB (10 , 10 , 180 , 120 ),
7274 );
73- final Picture circles1 = _drawTestPictureWithCircles (30 , 30 );
75+ final Picture circles1 = _drawTestPictureWithCircles (region, 30 , 30 );
7476 builder.addPicture (Offset .zero, circles1);
7577 ClipRectEngineLayer clipEngineLayer2 = builder.pushClipRect (
76- const Rect .fromLTRB (60 , 10 , 300 , 300 ),
78+ const Rect .fromLTRB (60 , 10 , 180 , 120 ),
7779 );
7880 BackdropFilterEngineLayer oldBackdropFilterLayer =
7981 builder.pushBackdropFilter (ImageFilter .blur (sigmaX: 10.0 , sigmaY: 10.0 ),
8082 oldLayer: null );
81- final Picture circles2 = _drawTestPictureWithCircles (90 , 30 );
83+ final Picture circles2 = _drawTestPictureWithCircles (region, 90 , 30 );
8284 builder.addPicture (Offset .zero, circles2);
8385 builder.pop ();
8486 builder.pop ();
@@ -89,12 +91,12 @@ void testMain() async {
8991 final SurfaceSceneBuilder builder2 = SurfaceSceneBuilder ();
9092 builder2.addPicture (Offset .zero, backgroundPicture);
9193 builder2.pushClipRect (
92- const Rect .fromLTRB (10 , 10 , 300 , 300 ),
94+ const Rect .fromLTRB (10 , 10 , 180 , 120 ),
9395 oldLayer: clipEngineLayer
9496 );
9597 builder2.addPicture (Offset .zero, circles1);
9698 builder2.pushClipRect (
97- const Rect .fromLTRB (10 , 75 , 300 , 300 ),
99+ const Rect .fromLTRB (10 , 75 , 180 , 120 ),
98100 oldLayer: clipEngineLayer2
99101 );
100102 builder2.pushBackdropFilter (ImageFilter .blur (sigmaX: 10.0 , sigmaY: 10.0 ),
@@ -112,10 +114,10 @@ void testMain() async {
112114 });
113115}
114116
115- Picture _drawTestPictureWithCircles (double offsetX, double offsetY) {
117+ Picture _drawTestPictureWithCircles (Rect region, double offsetX, double offsetY) {
116118 final EnginePictureRecorder recorder = PictureRecorder ();
117119 final RecordingCanvas canvas =
118- recorder.beginRecording (const Rect . fromLTRB ( 0 , 0 , 400 , 400 ) );
120+ recorder.beginRecording (region );
119121 canvas.drawCircle (
120122 Offset (offsetX + 10 , offsetY + 10 ), 10 , Paint ()..style = PaintingStyle .fill);
121123 canvas.drawCircle (
@@ -139,12 +141,12 @@ Picture _drawTestPictureWithCircles(double offsetX, double offsetY) {
139141 return recorder.endRecording ();
140142}
141143
142- Picture _drawBackground () {
144+ Picture _drawBackground (Rect region ) {
143145 final EnginePictureRecorder recorder = PictureRecorder ();
144146 final RecordingCanvas canvas =
145- recorder.beginRecording (const Rect . fromLTRB ( 0 , 0 , 400 , 400 ) );
147+ recorder.beginRecording (region );
146148 canvas.drawRect (
147- Rect . fromLTWH ( 8 , 8 , 400.0 - 16 , 400.0 - 16 ),
149+ region. deflate ( 8.0 ),
148150 Paint ()
149151 ..style = PaintingStyle .fill
150152 ..color = Color (0xFFE0FFE0 )
0 commit comments