@@ -242,25 +242,21 @@ Future<void> testMain() async {
242242 return data;
243243 }
244244
245- // This API doesn't work in headless Firefox due to requiring WebGL
246- // See https://github.com/flutter/flutter/issues/109265
247- if (! isFirefox) {
248- emitImageTests ('decodeImageFromPixels_unscaled' , () {
249- final Uint8List pixels = generatePixelData (150 , 150 , (double x, double y) {
250- final double r = sqrt (x * x + y * y);
251- final double theta = atan2 (x, y);
252- return ui.Color .fromRGBO (
253- (255 * (sin (r * 10.0 ) + 1.0 ) / 2.0 ).round (),
254- (255 * (sin (theta * 10.0 ) + 1.0 ) / 2.0 ).round (),
255- 0 ,
256- 1 ,
257- );
258- });
259- final Completer <ui.Image > completer = Completer <ui.Image >();
260- ui.decodeImageFromPixels (pixels, 150 , 150 , ui.PixelFormat .rgba8888, completer.complete);
261- return completer.future;
245+ emitImageTests ('decodeImageFromPixels_unscaled' , () {
246+ final Uint8List pixels = generatePixelData (150 , 150 , (double x, double y) {
247+ final double r = sqrt (x * x + y * y);
248+ final double theta = atan2 (x, y);
249+ return ui.Color .fromRGBO (
250+ (255 * (sin (r * 10.0 ) + 1.0 ) / 2.0 ).round (),
251+ (255 * (sin (theta * 10.0 ) + 1.0 ) / 2.0 ).round (),
252+ 0 ,
253+ 1 ,
254+ );
262255 });
263- }
256+ final Completer <ui.Image > completer = Completer <ui.Image >();
257+ ui.decodeImageFromPixels (pixels, 150 , 150 , ui.PixelFormat .rgba8888, completer.complete);
258+ return completer.future;
259+ });
264260
265261 // https://github.com/flutter/flutter/issues/126603
266262 if (! isHtml) {
@@ -299,29 +295,33 @@ Future<void> testMain() async {
299295 return info.image;
300296 });
301297
302- emitImageTests ('svg_image_bitmap' , () async {
303- final DomBlob svgBlob = createDomBlob (< String > [
304- '''
305- <svg xmlns="http://www.w3.org/2000/svg" width="150" height="150">
306- <path d="M25,75 A50,50 0 1,0 125 75 L75,25 Z" stroke="blue" stroke-width="10" fill="red"></path>
307- </svg>
308- '''
309- ], < String , String > {'type' : 'image/svg+xml' });
310- final String url = domWindow.URL .createObjectURL (svgBlob);
311- final DomHTMLImageElement image = createDomHTMLImageElement ();
312- final Completer <void > completer = Completer <void >();
313- late final DomEventListener loadListener;
314- loadListener = createDomEventListener ((DomEvent event) {
315- completer.complete ();
316- image.removeEventListener ('load' , loadListener);
317- });
318- image.addEventListener ('load' , loadListener);
319- image.src = url;
320- await completer.future;
298+ // This API doesn't work in headless Firefox due to requiring WebGL
299+ // See https://github.com/flutter/flutter/issues/109265
300+ if (! isFirefox) {
301+ emitImageTests ('svg_image_bitmap' , () async {
302+ final DomBlob svgBlob = createDomBlob (< String > [
303+ '''
304+ <svg xmlns="http://www.w3.org/2000/svg" width="150" height="150">
305+ <path d="M25,75 A50,50 0 1,0 125 75 L75,25 Z" stroke="blue" stroke-width="10" fill="red"></path>
306+ </svg>
307+ '''
308+ ], < String , String > {'type' : 'image/svg+xml' });
309+ final String url = domWindow.URL .createObjectURL (svgBlob);
310+ final DomHTMLImageElement image = createDomHTMLImageElement ();
311+ final Completer <void > completer = Completer <void >();
312+ late final DomEventListener loadListener;
313+ loadListener = createDomEventListener ((DomEvent event) {
314+ completer.complete ();
315+ image.removeEventListener ('load' , loadListener);
316+ });
317+ image.addEventListener ('load' , loadListener);
318+ image.src = url;
319+ await completer.future;
321320
322- final DomImageBitmap bitmap = (await createImageBitmap (image as JSAny ).toDart)! as DomImageBitmap ;
323- return renderer.createImageFromImageBitmap (bitmap);
324- });
321+ final DomImageBitmap bitmap = (await createImageBitmap (image as JSAny ).toDart)! as DomImageBitmap ;
322+ return renderer.createImageFromImageBitmap (bitmap);
323+ });
324+ }
325325
326326 emitImageTests ('codec_list_resized' , () async {
327327 final ByteBuffer data = await httpFetchByteBuffer ('/test_images/mandrill_128.png' );
0 commit comments