From abb5180fe535d8ee4aa26d21efa7acc548497323 Mon Sep 17 00:00:00 2001 From: Mouad Debbar Date: Tue, 6 Jul 2021 13:08:31 -0700 Subject: [PATCH] [web] Librarify semantics files (flutter/engine#27151) --- .../ci/licenses_golden/licenses_flutter | 1 + .../flutter/lib/web_ui/lib/src/engine.dart | 38 ++++++++++++------- .../lib/src/engine/browser_detection.dart | 8 ++++ .../web_ui/lib/src/engine/dom_renderer.dart | 2 +- .../lib/src/engine/keyboard_binding.dart | 3 +- .../lib/src/engine/platform_dispatcher.dart | 9 +++++ .../lib/web_ui/lib/src/engine/semantics.dart | 15 ++++++++ .../src/engine/semantics/accessibility.dart | 8 +++- .../lib/src/engine/semantics/checkable.dart | 6 ++- .../lib/src/engine/semantics/image.dart | 4 +- .../src/engine/semantics/incrementable.dart | 7 +++- .../src/engine/semantics/label_and_value.dart | 8 +++- .../lib/src/engine/semantics/live_region.dart | 2 +- .../lib/src/engine/semantics/scrollable.dart | 7 +++- .../lib/src/engine/semantics/semantics.dart | 35 +++++++++++------ .../engine/semantics/semantics_helper.dart | 8 +++- .../lib/src/engine/semantics/tappable.dart | 7 +++- .../lib/src/engine/semantics/text_field.dart | 9 ++++- .../src/engine/text_editing/text_editing.dart | 3 +- .../lib/web_ui/lib/src/engine/util.dart | 4 -- .../engine/semantics/accessibility_test.dart | 3 +- .../semantics/semantics_helper_test.dart | 4 +- .../test/engine/semantics/semantics_test.dart | 5 ++- .../engine/semantics/semantics_tester.dart | 7 +++- 24 files changed, 156 insertions(+), 47 deletions(-) create mode 100644 engine/src/flutter/lib/web_ui/lib/src/engine/semantics.dart diff --git a/engine/src/flutter/ci/licenses_golden/licenses_flutter b/engine/src/flutter/ci/licenses_golden/licenses_flutter index 63a5e7dcaf5..92d90d728a2 100755 --- a/engine/src/flutter/ci/licenses_golden/licenses_flutter +++ b/engine/src/flutter/ci/licenses_golden/licenses_flutter @@ -564,6 +564,7 @@ FILE: ../../../flutter/lib/web_ui/lib/src/engine/pointer_binding.dart FILE: ../../../flutter/lib/web_ui/lib/src/engine/pointer_converter.dart FILE: ../../../flutter/lib/web_ui/lib/src/engine/profiler.dart FILE: ../../../flutter/lib/web_ui/lib/src/engine/rrect_renderer.dart +FILE: ../../../flutter/lib/web_ui/lib/src/engine/semantics.dart FILE: ../../../flutter/lib/web_ui/lib/src/engine/semantics/accessibility.dart FILE: ../../../flutter/lib/web_ui/lib/src/engine/semantics/checkable.dart FILE: ../../../flutter/lib/web_ui/lib/src/engine/semantics/image.dart diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine.dart b/engine/src/flutter/lib/web_ui/lib/src/engine.dart index 44a13cc95bc..e09ec78b8ed 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine.dart @@ -32,7 +32,6 @@ import 'package:meta/meta.dart'; import '../ui.dart' as ui; -import 'engine/alarm_clock.dart'; export 'engine/alarm_clock.dart'; export 'engine/assets.dart'; @@ -131,8 +130,30 @@ export 'engine/pointer_converter.dart'; import 'engine/profiler.dart'; export 'engine/profiler.dart'; -// This import is intentionally commented out because the analyzer says it's unused. -// import 'engine/services/buffers.dart'; +import 'engine/semantics/accessibility.dart'; +export 'engine/semantics/accessibility.dart'; + +export 'engine/semantics/checkable.dart'; + +export 'engine/semantics/image.dart'; + +export 'engine/semantics/incrementable.dart'; + +export 'engine/semantics/label_and_value.dart'; + +export 'engine/semantics/live_region.dart'; + +export 'engine/semantics/scrollable.dart'; + +import 'engine/semantics/semantics.dart'; +export 'engine/semantics/semantics.dart'; + +export 'engine/semantics/semantics_helper.dart'; + +export 'engine/semantics/tappable.dart'; + +export 'engine/semantics/text_field.dart'; + export 'engine/services/buffers.dart'; import 'engine/services/message_codec.dart'; @@ -302,17 +323,6 @@ part 'engine/platform_views/content_manager.dart'; part 'engine/platform_views/message_handler.dart'; part 'engine/platform_views/slots.dart'; part 'engine/rrect_renderer.dart'; -part 'engine/semantics/accessibility.dart'; -part 'engine/semantics/checkable.dart'; -part 'engine/semantics/image.dart'; -part 'engine/semantics/incrementable.dart'; -part 'engine/semantics/label_and_value.dart'; -part 'engine/semantics/live_region.dart'; -part 'engine/semantics/scrollable.dart'; -part 'engine/semantics/semantics.dart'; -part 'engine/semantics/semantics_helper.dart'; -part 'engine/semantics/tappable.dart'; -part 'engine/semantics/text_field.dart'; part 'engine/window.dart'; // The mode the app is running in. diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/browser_detection.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/browser_detection.dart index c085d72ffa2..70e9460c092 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/browser_detection.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/browser_detection.dart @@ -207,6 +207,14 @@ bool get isDesktop => _desktopOperatingSystems.contains(operatingSystem); /// See [isDesktop]. bool get isMobile => !isDesktop; +/// Whether the browser is running on macOS or iOS. +/// +/// - See [operatingSystem]. +/// - See [OperatingSystem]. +bool get isMacOrIOS => + operatingSystem == OperatingSystem.iOs || + operatingSystem == OperatingSystem.macOs; + int? _cachedWebGLVersion; /// The highest WebGL version supported by the current browser, or -1 if WebGL diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/dom_renderer.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/dom_renderer.dart index 71f078f3760..02a0c7ebfc0 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/dom_renderer.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/dom_renderer.dart @@ -387,7 +387,7 @@ class DomRenderer { // When debugging semantics, make the scene semi-transparent so that the // semantics tree is visible. - if (_debugShowSemanticsNodes) { + if (debugShowSemanticsNodes) { _sceneHostElement!.style.opacity = '0.3'; } diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/keyboard_binding.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/keyboard_binding.dart index 401136ef560..cfff4fb982c 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/keyboard_binding.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/keyboard_binding.dart @@ -4,11 +4,12 @@ import 'dart:html' as html; -import 'package:ui/src/engine.dart' show EnginePlatformDispatcher, EngineSemanticsOwner, registerHotRestartListener; +import 'package:ui/src/engine.dart' show EnginePlatformDispatcher, registerHotRestartListener; import 'package:ui/ui.dart' as ui; import 'browser_detection.dart'; import 'key_map.dart'; +import 'semantics.dart'; typedef _VoidCallback = void Function(); typedef ValueGetter = T Function(); diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/platform_dispatcher.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/platform_dispatcher.dart index 42533ce2cb3..b46c425bad7 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/platform_dispatcher.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/platform_dispatcher.dart @@ -760,6 +760,15 @@ class EnginePlatformDispatcher extends ui.PlatformDispatcher { invoke(_onTextScaleFactorChanged, _onTextScaleFactorChangedZone); } + void updateSemanticsEnabled(bool semanticsEnabled) { + if (semanticsEnabled != this.semanticsEnabled) { + _configuration = _configuration.copyWith(semanticsEnabled: semanticsEnabled); + if (_onSemanticsEnabledChanged != null) { + invokeOnSemanticsEnabledChanged(); + } + } + } + /// The setting indicating the current brightness mode of the host platform. /// If the platform has no preference, [platformBrightness] defaults to [Brightness.light]. ui.Brightness get platformBrightness => configuration.platformBrightness; diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/semantics.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/semantics.dart new file mode 100644 index 00000000000..87303c44483 --- /dev/null +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/semantics.dart @@ -0,0 +1,15 @@ +// Copyright 2013 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +export 'semantics/accessibility.dart'; +export 'semantics/checkable.dart'; +export 'semantics/image.dart'; +export 'semantics/incrementable.dart'; +export 'semantics/label_and_value.dart'; +export 'semantics/live_region.dart'; +export 'semantics/scrollable.dart'; +export 'semantics/semantics_helper.dart'; +export 'semantics/semantics.dart'; +export 'semantics/tappable.dart'; +export 'semantics/text_field.dart'; diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/semantics/accessibility.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/semantics/accessibility.dart index f5d85734fb2..6e3de77c2c9 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/semantics/accessibility.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/semantics/accessibility.dart @@ -2,7 +2,13 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -part of engine; +import 'dart:async'; +import 'dart:html' as html; +import 'dart:typed_data'; + +import 'package:ui/src/engine.dart' show registerHotRestartListener; + +import '../services.dart'; /// Singleton for accessing accessibility announcements from the platform. final AccessibilityAnnouncements accessibilityAnnouncements = diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/semantics/checkable.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/semantics/checkable.dart index 78aa423d4eb..348e31224cc 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/semantics/checkable.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/semantics/checkable.dart @@ -11,7 +11,11 @@ // framework. Currently the framework does not report the // grouping of radio buttons. -part of engine; +import 'dart:html' as html; + +import 'package:ui/ui.dart' as ui; + +import 'semantics.dart'; /// The specific type of checkable control. enum _CheckableKind { diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/semantics/image.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/semantics/image.dart index b68b1c6cf5a..e05787780c2 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/semantics/image.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/semantics/image.dart @@ -2,7 +2,9 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -part of engine; +import 'dart:html' as html; + +import 'semantics.dart'; /// Represents semantic objects that deliver information in a visual manner. /// diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/semantics/incrementable.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/semantics/incrementable.dart index 9140bccecfa..55673b509df 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/semantics/incrementable.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/semantics/incrementable.dart @@ -2,7 +2,12 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -part of engine; +import 'dart:html' as html; + +import 'package:ui/src/engine.dart' show EnginePlatformDispatcher; +import 'package:ui/ui.dart' as ui; + +import 'semantics.dart'; /// Adds increment/decrement event handling to a semantics object. /// diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/semantics/label_and_value.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/semantics/label_and_value.dart index 344ff147bd7..a9fab80ce78 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/semantics/label_and_value.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/semantics/label_and_value.dart @@ -2,7 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -part of engine; +import 'dart:html' as html; + +import 'package:ui/ui.dart' as ui; + +import 'semantics.dart'; /// Renders [_label] and [_value] to the semantics DOM. /// @@ -96,7 +100,7 @@ class LabelAndValue extends RoleManager { // Normally use a small font size so that text doesn't leave the scope // of the semantics node. When debugging semantics, use a font size // that's reasonably visible. - _auxiliaryValueElement!.style.fontSize = _debugShowSemanticsNodes ? '12px' : '6px'; + _auxiliaryValueElement!.style.fontSize = debugShowSemanticsNodes ? '12px' : '6px'; semanticsObject.element.append(_auxiliaryValueElement!); } _auxiliaryValueElement!.text = combinedValue.toString(); diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/semantics/live_region.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/semantics/live_region.dart index 7d739899d06..bd6353f6f80 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/semantics/live_region.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/semantics/live_region.dart @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -part of engine; +import 'semantics.dart'; /// Manages semantics configurations that represent live regions. /// diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/semantics/scrollable.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/semantics/scrollable.dart index 4261526526b..dd96e687a00 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/semantics/scrollable.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/semantics/scrollable.dart @@ -2,7 +2,12 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -part of engine; +import 'dart:html' as html; + +import 'package:ui/src/engine.dart' show EnginePlatformDispatcher; +import 'package:ui/ui.dart' as ui; + +import 'semantics.dart'; /// Implements vertical and horizontal scrolling functionality for semantics /// objects. diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/semantics/semantics.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/semantics/semantics.dart index dfda634c196..0d2197f0471 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/semantics/semantics.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/semantics/semantics.dart @@ -2,7 +2,26 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -part of engine; +import 'dart:html' as html; +import 'dart:math' as math; +import 'dart:typed_data'; + +import 'package:ui/src/engine.dart' show domRenderer, EnginePlatformDispatcher, registerHotRestartListener; +import 'package:ui/ui.dart' as ui; + +import '../alarm_clock.dart'; +import '../browser_detection.dart'; +import '../util.dart'; +import '../vector_math.dart'; +import 'checkable.dart'; +import 'image.dart'; +import 'incrementable.dart'; +import 'label_and_value.dart'; +import 'live_region.dart'; +import 'scrollable.dart'; +import 'semantics_helper.dart'; +import 'tappable.dart'; +import 'text_field.dart'; /// Set this flag to `true` to cause the engine to visualize the semantics tree /// on the screen for debugging. @@ -15,7 +34,7 @@ part of engine; /// ``` /// flutter run -d chrome --profile --dart-define=FLUTTER_WEB_DEBUG_SHOW_SEMANTICS=true /// ``` -const bool _debugShowSemanticsNodes = bool.fromEnvironment( +const bool debugShowSemanticsNodes = bool.fromEnvironment( 'FLUTTER_WEB_DEBUG_SHOW_SEMANTICS', defaultValue: false, ); @@ -266,7 +285,7 @@ class SemanticsObject { element.style.position = 'absolute'; // The root node has some properties that other nodes do not. - if (id == 0 && !_debugShowSemanticsNodes) { + if (id == 0 && !debugShowSemanticsNodes) { // Make all semantics transparent. We use `filter` instead of `opacity` // attribute because `filter` is stronger. `opacity` does not apply to // some elements, particularly on iOS, such as the slider thumb and track. @@ -283,7 +302,7 @@ class SemanticsObject { // Make semantic elements visible for debugging by outlining them using a // green border. We do not use `border` attribute because it affects layout // (`outline` does not). - if (_debugShowSemanticsNodes) { + if (debugShowSemanticsNodes) { element.style.outline = '1px solid green'; } } @@ -1353,13 +1372,7 @@ class EngineSemanticsOwner { _rootSemanticsElement = null; _gestureModeClock?.datetime = null; } - if (_semanticsEnabled != EnginePlatformDispatcher.instance.semanticsEnabled) { - EnginePlatformDispatcher.instance._configuration = - EnginePlatformDispatcher.instance._configuration.copyWith(semanticsEnabled: _semanticsEnabled); - if (EnginePlatformDispatcher.instance._onSemanticsEnabledChanged != null) { - EnginePlatformDispatcher.instance.invokeOnSemanticsEnabledChanged(); - } - } + EnginePlatformDispatcher.instance.updateSemanticsEnabled(_semanticsEnabled); } /// Controls how pointer events and browser-detected gestures are treated by diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/semantics/semantics_helper.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/semantics/semantics_helper.dart index 4838c51b0f2..e98f33b0177 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/semantics/semantics_helper.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/semantics/semantics_helper.dart @@ -2,7 +2,13 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -part of engine; +import 'dart:async'; +import 'dart:html' as html; + +import 'package:meta/meta.dart'; + +import '../browser_detection.dart'; +import 'semantics.dart'; /// The maximum [semanticsActivationAttempts] before we give up waiting for /// the user to enable semantics. diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/semantics/tappable.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/semantics/tappable.dart index 51f21eaa83f..b23097deae7 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/semantics/tappable.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/semantics/tappable.dart @@ -2,7 +2,12 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -part of engine; +import 'dart:html' as html; + +import 'package:ui/src/engine.dart' show EnginePlatformDispatcher; +import 'package:ui/ui.dart' as ui; + +import 'semantics.dart'; /// Listens to HTML "click" gestures detected by the browser. /// diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/semantics/text_field.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/semantics/text_field.dart index 1c652843c9b..333b9d807d0 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/semantics/text_field.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/semantics/text_field.dart @@ -2,7 +2,14 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -part of engine; +import 'dart:html' as html; + +import 'package:ui/src/engine.dart' show EnginePlatformDispatcher; +import 'package:ui/ui.dart' as ui; + +import '../text_editing/text_editing.dart'; +import '../browser_detection.dart'; +import 'semantics.dart'; /// Text editing used by accesibility mode. /// diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/text_editing/text_editing.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/text_editing/text_editing.dart index 029a1a0f248..e9f97d6cf00 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/text_editing/text_editing.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/text_editing/text_editing.dart @@ -8,11 +8,12 @@ import 'dart:math' as math; import 'dart:typed_data'; import 'package:meta/meta.dart'; -import 'package:ui/src/engine.dart' show domRenderer, EnginePlatformDispatcher, EngineSemanticsOwner, SemanticsTextEditingStrategy; +import 'package:ui/src/engine.dart' show domRenderer, EnginePlatformDispatcher; import 'package:ui/ui.dart' as ui; import '../browser_detection.dart'; import '../host_node.dart'; +import '../semantics.dart'; import '../services.dart'; import '../text/paragraph.dart'; import '../util.dart'; diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/util.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/util.dart index 46b609b145c..ee388a87ae7 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/util.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/util.dart @@ -425,10 +425,6 @@ const Set _genericFontFamilies = { final String _fallbackFontFamily = isMacOrIOS ? '-apple-system, BlinkMacSystemFont' : 'Arial'; -bool get isMacOrIOS => - operatingSystem == OperatingSystem.iOs || - operatingSystem == OperatingSystem.macOs; - /// Create a font-family string appropriate for CSS. /// /// If the given [fontFamily] is a generic font-family, then just return it. diff --git a/engine/src/flutter/lib/web_ui/test/engine/semantics/accessibility_test.dart b/engine/src/flutter/lib/web_ui/test/engine/semantics/accessibility_test.dart index b82f122b39d..6bc4fc5b112 100644 --- a/engine/src/flutter/lib/web_ui/test/engine/semantics/accessibility_test.dart +++ b/engine/src/flutter/lib/web_ui/test/engine/semantics/accessibility_test.dart @@ -7,7 +7,8 @@ import 'dart:html'; import 'package:test/bootstrap/browser.dart'; import 'package:test/test.dart'; -import 'package:ui/src/engine.dart'; +import 'package:ui/src/engine/semantics.dart'; +import 'package:ui/src/engine/services.dart'; const StandardMessageCodec codec = StandardMessageCodec(); const String testMessage = 'This is an tooltip.'; diff --git a/engine/src/flutter/lib/web_ui/test/engine/semantics/semantics_helper_test.dart b/engine/src/flutter/lib/web_ui/test/engine/semantics/semantics_helper_test.dart index 615a484168a..4efda51bae5 100644 --- a/engine/src/flutter/lib/web_ui/test/engine/semantics/semantics_helper_test.dart +++ b/engine/src/flutter/lib/web_ui/test/engine/semantics/semantics_helper_test.dart @@ -6,7 +6,9 @@ import 'dart:html' as html; import 'package:test/bootstrap/browser.dart'; import 'package:test/test.dart'; -import 'package:ui/src/engine.dart'; +import 'package:ui/src/engine/browser_detection.dart'; +import 'package:ui/src/engine/pointer_binding.dart'; +import 'package:ui/src/engine/semantics.dart'; const PointerSupportDetector _defaultSupportDetector = PointerSupportDetector(); diff --git a/engine/src/flutter/lib/web_ui/test/engine/semantics/semantics_test.dart b/engine/src/flutter/lib/web_ui/test/engine/semantics/semantics_test.dart index 2b0dab3039e..d59107036f4 100644 --- a/engine/src/flutter/lib/web_ui/test/engine/semantics/semantics_test.dart +++ b/engine/src/flutter/lib/web_ui/test/engine/semantics/semantics_test.dart @@ -12,7 +12,10 @@ import 'package:quiver/testing/async.dart'; import 'package:test/bootstrap/browser.dart'; import 'package:test/test.dart'; -import 'package:ui/src/engine.dart'; +import 'package:ui/src/engine.dart' show domRenderer; +import 'package:ui/src/engine/browser_detection.dart'; +import 'package:ui/src/engine/semantics.dart'; +import 'package:ui/src/engine/vector_math.dart'; import 'package:ui/ui.dart' as ui; import 'semantics_tester.dart'; diff --git a/engine/src/flutter/lib/web_ui/test/engine/semantics/semantics_tester.dart b/engine/src/flutter/lib/web_ui/test/engine/semantics/semantics_tester.dart index dd3fcb5ad95..26a11e76552 100644 --- a/engine/src/flutter/lib/web_ui/test/engine/semantics/semantics_tester.dart +++ b/engine/src/flutter/lib/web_ui/test/engine/semantics/semantics_tester.dart @@ -7,7 +7,12 @@ import 'dart:html' as html; import 'dart:typed_data'; import 'package:test/test.dart'; -import 'package:ui/src/engine.dart'; +import 'package:ui/src/engine.dart' show domRenderer, toMatrix32; +import 'package:ui/src/engine/browser_detection.dart'; +import 'package:ui/src/engine/host_node.dart'; +import 'package:ui/src/engine/semantics.dart'; +import 'package:ui/src/engine/util.dart'; +import 'package:ui/src/engine/vector_math.dart'; import 'package:ui/ui.dart' as ui; import '../../matchers.dart';