diff --git a/lib/ui/fixtures/ui_test.dart b/lib/ui/fixtures/ui_test.dart index dc4f75bb67f33..7a79cda95caea 100644 --- a/lib/ui/fixtures/ui_test.dart +++ b/lib/ui/fixtures/ui_test.dart @@ -273,9 +273,16 @@ void platformMessagePortResponseTest() async { @pragma('vm:entry-point') void platformMessageResponseTest() { _callPlatformMessageResponseDart((ByteData? result) { - if (result is UnmodifiableByteDataView && - result.lengthInBytes == 100) { - _finishCallResponse(true); + if (result is ByteData && result.lengthInBytes == 100) { + int value = result.getInt8(0); + bool didThrowOnModify = false; + try { + result.setInt8(0, value); + } catch (e) { + didThrowOnModify = true; + } + // This should be a read only buffer. + _finishCallResponse(didThrowOnModify); } else { _finishCallResponse(false); } diff --git a/lib/ui/platform_dispatcher.dart b/lib/ui/platform_dispatcher.dart index 66e68b88be56c..aac7885656309 100644 --- a/lib/ui/platform_dispatcher.dart +++ b/lib/ui/platform_dispatcher.dart @@ -73,7 +73,7 @@ const String _kFlutterKeyDataChannel = 'flutter/keydata'; @pragma('vm:entry-point') ByteData? _wrapUnmodifiableByteData(ByteData? byteData) => - byteData == null ? null : UnmodifiableByteDataView(byteData); + byteData?.asUnmodifiableView(); /// A token that represents a root isolate. class RootIsolateToken { diff --git a/shell/platform/fuchsia/dart-pkg/zircon/test/zircon_tests.dart b/shell/platform/fuchsia/dart-pkg/zircon/test/zircon_tests.dart index a3760a20ccb75..a0e380fb34d35 100644 --- a/shell/platform/fuchsia/dart-pkg/zircon/test/zircon_tests.dart +++ b/shell/platform/fuchsia/dart-pkg/zircon/test/zircon_tests.dart @@ -589,7 +589,7 @@ void main() { expect(fileResult.status, equals(ZX.OK)); MapResult mapResult = System.vmoMap(fileResult.handle); expect(mapResult.status, equals(ZX.OK)); - Uint8List fileData = UnmodifiableUint8ListView(mapResult.data); + Uint8List fileData = mapResult.data.asUnmodifiableView(); String fileString = utf8.decode(fileData.sublist(0, fileResult.numBytes)); expect(fileString, equals(fuchsia)); }); @@ -610,7 +610,7 @@ void main() { // Read from the duplicate. MapResult mapResult = System.vmoMap(duplicate); expect(mapResult.status, equals(ZX.OK)); - Uint8List vmoData = UnmodifiableUint8ListView(mapResult.data); + Uint8List vmoData = mapResult.data.asUnmodifiableView(); String vmoString = utf8.decode(vmoData.sublist(0, data.length)); expect(vmoString, equals(fuchsia)); });