diff --git a/packages/flutter_test/lib/src/image.dart b/packages/flutter_test/lib/src/image.dart index 50606d4a09a..7df2e392ce8 100644 --- a/packages/flutter_test/lib/src/image.dart +++ b/packages/flutter_test/lib/src/image.dart @@ -6,7 +6,6 @@ import 'dart:async'; import 'dart:typed_data'; import 'dart:ui' as ui; -import 'package:flutter/foundation.dart'; import 'package:flutter/painting.dart'; import 'test_async_utils.dart'; @@ -49,13 +48,6 @@ Future createTestImage({ }); Future _createImage(int width, int height) async { - if (kIsWeb) { - return _webCreateTestImage( - width: width, - height: height, - ); - } - final Completer completer = Completer(); ui.decodeImageFromPixels( Uint8List.fromList(List.filled(width * height * 4, 0, growable: false)), @@ -68,52 +60,3 @@ Future _createImage(int width, int height) async { ); return completer.future; } - -/// Web doesn't support [decodeImageFromPixels]. Instead, generate a 1bpp BMP -/// and just use [instantiateImageCodec]. -// TODO(dnfield): Remove this when https://github.com/flutter/flutter/issues/49244 -// is resolved. -Future _webCreateTestImage({ - required int width, - required int height, -}) async { - // See https://en.wikipedia.org/wiki/BMP_file_format for format examples. - final int bufferSize = 0x36 + (width * height); - final ByteData bmpData = ByteData(bufferSize); - // 'BM' header - bmpData.setUint8(0x00, 0x42); - bmpData.setUint8(0x01, 0x4D); - // Size of data - bmpData.setUint32(0x02, bufferSize, Endian.little); - // Offset where pixel array begins - bmpData.setUint32(0x0A, 0x36, Endian.little); - // Bytes in DIB header - bmpData.setUint32(0x0E, 0x28, Endian.little); - // width - bmpData.setUint32(0x12, width, Endian.little); - // height - bmpData.setUint32(0x16, height, Endian.little); - // Color panes - bmpData.setUint16(0x1A, 0x01, Endian.little); - // bpp - bmpData.setUint16(0x1C, 0x01, Endian.little); - // no compression - bmpData.setUint32(0x1E, 0x00, Endian.little); - // raw bitmap data size - bmpData.setUint32(0x22, width * height, Endian.little); - // print DPI width - bmpData.setUint32(0x26, width, Endian.little); - // print DPI height - bmpData.setUint32(0x2A, height, Endian.little); - // colors in the palette - bmpData.setUint32(0x2E, 0x00, Endian.little); - // important colors - bmpData.setUint32(0x32, 0x00, Endian.little); - // rest of data is zeroed as black pixels. - - final ui.Codec codec = await ui.instantiateImageCodec( - bmpData.buffer.asUint8List(), - ); - final ui.FrameInfo frameInfo = await codec.getNextFrame(); - return frameInfo.image; -}