From c502114887f74e87a6672c45477284e13167de2d Mon Sep 17 00:00:00 2001 From: Harry Terkelsen Date: Wed, 16 Mar 2022 15:53:34 -0700 Subject: [PATCH] Update the magic number for JPEG to just FF D8 FF. (flutter/engine#32076) --- .../web_ui/lib/src/engine/canvaskit/image_web_codecs.dart | 5 +---- .../lib/web_ui/test/canvaskit/image_golden_test.dart | 7 +++++++ 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/image_web_codecs.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/image_web_codecs.dart index 19e5884c98..1d3cfff1dc 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/image_web_codecs.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/image_web_codecs.dart @@ -297,10 +297,7 @@ class ImageFileFormat { ImageFileFormat([0x47, 0x49, 0x46, 0x38, 0x39, 0x61], 'image/gif'), // JPEG - ImageFileFormat([0xFF, 0xD8, 0xFF, 0xDB], 'image/jpeg'), - ImageFileFormat([0xFF, 0xD8, 0xFF, 0xE0, 0x00, 0x10, 0x4A, 0x46, 0x49, 0x46, 0x00, 0x01], 'image/jpeg'), - ImageFileFormat([0xFF, 0xD8, 0xFF, 0xEE], 'image/jpeg'), - ImageFileFormat([0xFF, 0xD8, 0xFF, 0xE1], 'image/jpeg'), + ImageFileFormat([0xFF, 0xD8, 0xFF], 'image/jpeg'), // WebP ImageFileFormat([0x52, 0x49, 0x46, 0x46, null, null, null, null, 0x57, 0x45, 0x42, 0x50], 'image/webp'), 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 fb140b3f79..4c45cc3d8f 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 @@ -529,6 +529,13 @@ void _testForImageCodecs({required bool useBrowserImageDecoder}) { await disposePlatformView(0); }); + + test('can detect JPEG from just magic number', () async { + expect( + detectContentType( + Uint8List.fromList([0xff, 0xd8, 0xff, 0xe2, 0x0c, 0x58, 0x49, 0x43, 0x43, 0x5f])), + 'image/jpeg'); + }); }); }