diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/dom.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/dom.dart index 8d60a25b358..155c7d40464 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/dom.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/dom.dart @@ -193,9 +193,11 @@ DomEvent createDomEvent(String type, String name) { return event; } -@JS() +@JS('ProgressEvent') @staticInterop -class DomProgressEvent extends DomEvent {} +class DomProgressEvent extends DomEvent { + external factory DomProgressEvent(String type); +} extension DomProgressEventExtension on DomProgressEvent { external double? get loaded; diff --git a/engine/src/flutter/lib/web_ui/test/canvaskit/image_golden_test.dart b/engine/src/flutter/lib/web_ui/test/canvaskit/image_golden_test.dart index 23532806410..d611a0fc8c7 100644 --- a/engine/src/flutter/lib/web_ui/test/canvaskit/image_golden_test.dart +++ b/engine/src/flutter/lib/web_ui/test/canvaskit/image_golden_test.dart @@ -229,7 +229,7 @@ void _testForImageCodecs({required bool useBrowserImageDecoder}) { final Future futureCodec = skiaInstantiateWebImageCodec('http://image-server.com/picture.jpg', null); - mock.sendEvent('load', DomProgressEvent()); + mock.sendEvent('load', DomProgressEvent('test progress event')); final ui.Codec codec = await futureCodec; expect(codec.frameCount, 1); final ui.Image image = (await codec.getNextFrame()).image; @@ -277,7 +277,7 @@ void _testForImageCodecs({required bool useBrowserImageDecoder}) { try { final Future futureCodec = skiaInstantiateWebImageCodec( 'url-does-not-matter', null); - mock.sendEvent('error', DomProgressEvent()); + mock.sendEvent('error', DomProgressEvent('test error')); await futureCodec; fail('Expected to throw'); } on ImageCodecException catch (exception) { @@ -317,7 +317,7 @@ void _testForImageCodecs({required bool useBrowserImageDecoder}) { try { final Future futureCodec = skiaInstantiateWebImageCodec( 'http://image-server.com/picture.jpg', null); - mock.sendEvent('load', DomProgressEvent()); + mock.sendEvent('load', DomProgressEvent('test progress event')); await futureCodec; fail('Expected to throw'); } on ImageCodecException catch (exception) {