Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Commit c7640d4

Browse files
committed
fix scaleImageUsingDomCanvas
1 parent e6528cd commit c7640d4

File tree

3 files changed

+6
-6
lines changed

3 files changed

+6
-6
lines changed

lib/web_ui/lib/src/engine/canvaskit/image.dart

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,7 @@ class CkResizingCodec extends ResizingCodec {
130130
return image;
131131
}
132132

133+
image.dispose();
133134
return CkImage(skImage, imageSource: ImageBitmapImageSource(bitmap));
134135
}
135136
}

lib/web_ui/lib/src/engine/image_decoder.dart

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -229,16 +229,15 @@ class ResizingCodec implements ui.Codec {
229229
@override
230230
Future<ui.FrameInfo> getNextFrame() async {
231231
final ui.FrameInfo frameInfo = await delegate.getNextFrame();
232-
final ui.Image scaledImage = scaleImage(
232+
return AnimatedImageFrameInfo(
233+
frameInfo.duration,
234+
scaleImage(
233235
frameInfo.image,
234236
targetWidth: targetWidth,
235237
targetHeight: targetHeight,
236238
allowUpscaling: allowUpscaling,
239+
),
237240
);
238-
if (!identical(frameInfo.image, scaledImage)) {
239-
frameInfo.image.dispose();
240-
}
241-
return AnimatedImageFrameInfo(frameInfo.duration, scaledImage);
242241
}
243242

244243
ui.Image scaleImage(

lib/web_ui/test/canvaskit/image_test.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ void testMain() {
106106
final BitmapSize? size = scaledImageSize(200, 100, 600, null);
107107
expect(size?.width, 600);
108108
expect(size?.height, 300);
109-
}
109+
});
110110

111111
test('instantiateImageCodecWithSize disposes temporary image', () async {
112112
final Set<ui.Image> activeImages = <ui.Image>{};

0 commit comments

Comments
 (0)