@@ -77,6 +77,7 @@ void _testForImageCodecs({required bool useBrowserImageDecoder}) {
7777
7878 group ('($mode )' , () {
7979 setUp (() {
80+ browserSupportsImageDecoder = useBrowserImageDecoder;
8081 warnings.clear ();
8182 });
8283
@@ -87,6 +88,10 @@ void _testForImageCodecs({required bool useBrowserImageDecoder}) {
8788 };
8889 });
8990
91+ tearDown (() {
92+ debugResetBrowserSupportsImageDecoder ();
93+ });
94+
9095 tearDownAll (() {
9196 printWarning = oldPrintWarning;
9297 });
@@ -307,13 +312,20 @@ void _testForImageCodecs({required bool useBrowserImageDecoder}) {
307312
308313 test ('instantiateImageCodec with multi-frame image does not support targetWidth/targetHeight' ,
309314 () async {
310- final ui.Codec codec = await ui.instantiateImageCodec (
311- kAnimatedGif,
312- targetWidth: 2 ,
313- targetHeight: 3 ,
314- );
315- final ui.Image image = (await codec.getNextFrame ()).image;
315+ final ui.Codec codec = await ui.instantiateImageCodec (
316+ kAnimatedGif,
317+ targetWidth: 2 ,
318+ targetHeight: 3 ,
319+ );
320+ final ui.Image image = (await codec.getNextFrame ()).image;
321+
322+ if (browserSupportsImageDecoder) {
323+ expect (warnings, isEmpty);
316324
325+ expect (image.width, 2 );
326+ expect (image.height, 3 );
327+ } else {
328+ // This limitation is only applicable for wasm codecs.
317329 expect (
318330 warnings,
319331 containsAllInOrder (
@@ -326,9 +338,11 @@ void _testForImageCodecs({required bool useBrowserImageDecoder}) {
326338 // expect the re-size did not happen, kAnimatedGif is [1x1]
327339 expect (image.width, 1 );
328340 expect (image.height, 1 );
329- image.dispose ();
330- codec.dispose ();
331- }, skip: ! canvasKitContainsCodecs);
341+ }
342+
343+ image.dispose ();
344+ codec.dispose ();
345+ });
332346
333347 test ('skiaInstantiateWebImageCodec throws exception on request error' ,
334348 () async {
0 commit comments