From 07c5ebca78a7614b8ff9e09b98e15628fb153c9f Mon Sep 17 00:00:00 2001 From: joshualitt Date: Tue, 4 Oct 2022 10:57:46 -0700 Subject: [PATCH] [web] Fix `kIsWeb` for Dart2wasm. (#112122) --- packages/flutter/lib/src/foundation/constants.dart | 8 +------- packages/flutter/lib/src/services/platform_channel.dart | 4 ++-- .../widgets/platform_selectable_region_context_menu.dart | 3 ++- packages/flutter/test/dart/browser_environment_test.dart | 2 +- .../flutter/test/painting/network_image_web_test.dart | 2 +- 5 files changed, 7 insertions(+), 12 deletions(-) diff --git a/packages/flutter/lib/src/foundation/constants.dart b/packages/flutter/lib/src/foundation/constants.dart index fb60b60e3bb..576de1e2291 100644 --- a/packages/flutter/lib/src/foundation/constants.dart +++ b/packages/flutter/lib/src/foundation/constants.dart @@ -68,10 +68,4 @@ const bool kDebugMode = !kReleaseMode && !kProfileMode; const double precisionErrorTolerance = 1e-10; /// A constant that is true if the application was compiled to run on the web. -/// -/// This implementation takes advantage of the fact that JavaScript does not -/// support integers. In this environment, Dart's doubles and ints are -/// backed by the same kind of object. Thus a double `0.0` is identical -/// to an integer `0`. This is not true for Dart code running in AOT or on the -/// VM. -const bool kIsWeb = identical(0, 0.0); +const bool kIsWeb = bool.fromEnvironment('dart.library.js_util'); diff --git a/packages/flutter/lib/src/services/platform_channel.dart b/packages/flutter/lib/src/services/platform_channel.dart index 89460feb165..d718de950c5 100644 --- a/packages/flutter/lib/src/services/platform_channel.dart +++ b/packages/flutter/lib/src/services/platform_channel.dart @@ -8,7 +8,7 @@ import 'dart:developer'; import 'package:flutter/foundation.dart'; import '_background_isolate_binary_messenger_io.dart' - if (dart.library.html) '_background_isolate_binary_messenger_web.dart'; + if (dart.library.js_util) '_background_isolate_binary_messenger_web.dart'; import 'binary_messenger.dart'; import 'binding.dart'; @@ -17,7 +17,7 @@ import 'message_codec.dart'; import 'message_codecs.dart'; export '_background_isolate_binary_messenger_io.dart' - if (dart.library.html) '_background_isolate_binary_messenger_web.dart'; + if (dart.library.js_util) '_background_isolate_binary_messenger_web.dart'; export 'binary_messenger.dart' show BinaryMessenger; export 'binding.dart' show RootIsolateToken; diff --git a/packages/flutter/lib/src/widgets/platform_selectable_region_context_menu.dart b/packages/flutter/lib/src/widgets/platform_selectable_region_context_menu.dart index 295f0a33c87..2bd7e7cca84 100644 --- a/packages/flutter/lib/src/widgets/platform_selectable_region_context_menu.dart +++ b/packages/flutter/lib/src/widgets/platform_selectable_region_context_menu.dart @@ -2,4 +2,5 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -export '_platform_selectable_region_context_menu_io.dart' if(dart.library.html) '_platform_selectable_region_context_menu_web.dart'; +export '_platform_selectable_region_context_menu_io.dart' +if (dart.library.js_util) '_platform_selectable_region_context_menu_web.dart'; diff --git a/packages/flutter/test/dart/browser_environment_test.dart b/packages/flutter/test/dart/browser_environment_test.dart index 9cd3ecc9a55..f9be690282f 100644 --- a/packages/flutter/test/dart/browser_environment_test.dart +++ b/packages/flutter/test/dart/browser_environment_test.dart @@ -11,7 +11,7 @@ import 'package:flutter_test/flutter_test.dart'; // Originally here: https://github.com/flutter/engine/pull/28808 void main() { test('Web library environment define exists', () { - expect(const bool.fromEnvironment('dart.library.html'), isTrue); + expect(const bool.fromEnvironment('dart.library.js_util'), isTrue); expect(const bool.fromEnvironment('dart.library.someFooLibrary'), isFalse); }); } diff --git a/packages/flutter/test/painting/network_image_web_test.dart b/packages/flutter/test/painting/network_image_web_test.dart index b78719a1062..9c708be8805 100644 --- a/packages/flutter/test/painting/network_image_web_test.dart +++ b/packages/flutter/test/painting/network_image_web_test.dart @@ -3,7 +3,7 @@ // found in the LICENSE file. import '_network_image_web_test_io.dart' - if (dart.library.html) '_network_image_test_web.dart'; + if (dart.library.js_util) '_network_image_test_web.dart'; void main() { runTests();