From fd982f2fc58952b48906bd3f271a8aa2bb44dd32 Mon Sep 17 00:00:00 2001 From: Ferhat Date: Tue, 27 Jul 2021 11:49:52 -0700 Subject: [PATCH] [web] Code cleanup (flutter/engine#27734) --- .../flutter/lib/web_ui/analysis_options.yaml | 4 --- .../src/flutter/lib/web_ui/dev/browser.dart | 2 +- .../flutter/lib/web_ui/dev/environment.dart | 2 +- .../lib/web_ui/dev/firefox_installer.dart | 2 +- .../src/flutter/lib/web_ui/dev/licenses.dart | 2 +- .../flutter/lib/web_ui/dev/test_platform.dart | 4 +-- .../flutter/lib/web_ui/dev/test_runner.dart | 14 ++++---- engine/src/flutter/lib/web_ui/dev/utils.dart | 4 +-- .../src/flutter/lib/web_ui/dev/watcher.dart | 2 +- .../flutter/lib/web_ui/lib/src/engine.dart | 2 +- .../web_ui/lib/src/engine/canvas_pool.dart | 4 +-- .../src/engine/canvaskit/embedded_views.dart | 4 +-- .../src/engine/canvaskit/font_fallbacks.dart | 36 +++++++++---------- .../lib/src/engine/canvaskit/fonts.dart | 10 +++--- .../src/engine/canvaskit/interval_tree.dart | 2 +- .../lib/src/engine/canvaskit/layer.dart | 6 ++-- .../web_ui/lib/src/engine/canvaskit/text.dart | 6 ++-- .../web_ui/lib/src/engine/dom_renderer.dart | 6 ++-- .../lib/src/engine/frame_reference.dart | 4 +-- .../lib/src/engine/html/bitmap_canvas.dart | 8 ++--- .../web_ui/lib/src/engine/html/path/path.dart | 2 +- .../web_ui/lib/src/engine/html/picture.dart | 2 +- .../html/shaders/normalized_gradient.dart | 4 +-- .../engine/html/shaders/shader_builder.dart | 6 ++-- .../web_ui/lib/src/engine/html/surface.dart | 2 +- .../lib/src/engine/html/surface_stats.dart | 2 +- .../lib/src/engine/onscreen_logging.dart | 2 +- .../platform_views/content_manager.dart | 2 +- .../lib/src/engine/pointer_binding.dart | 8 ++--- .../lib/web_ui/lib/src/engine/profiler.dart | 2 +- .../lib/src/engine/semantics/semantics.dart | 12 +++---- .../lib/src/engine/services/buffers.dart | 4 +-- .../lib/src/engine/text/font_collection.dart | 6 ++-- .../lib/src/engine/text/layout_service.dart | 2 +- .../web_ui/lib/src/engine/text/paragraph.dart | 2 +- .../lib/web_ui/lib/src/engine/text/ruler.dart | 4 +-- .../src/engine/text_editing/text_editing.dart | 5 +-- .../lib/web_ui/lib/src/ui/hash_codes.dart | 2 +- .../flutter/lib/web_ui/lib/src/ui/text.dart | 2 +- .../test/canvaskit/canvas_golden_test.dart | 4 +-- .../test/canvaskit/canvaskit_api_test.dart | 32 ++++++++--------- .../lib/web_ui/test/canvaskit/common.dart | 10 +++--- .../canvaskit/fallback_fonts_golden_test.dart | 6 ++-- .../web_ui/test/engine/path_metrics_test.dart | 2 +- .../test/engine/pointer_binding_test.dart | 2 +- .../engine/semantics/semantics_tester.dart | 2 +- .../surface/path/path_winding_test.dart | 2 +- .../engine/surface/scene_builder_test.dart | 6 ++-- .../backdrop_filter_golden_test.dart | 2 +- .../canvas_mask_filter_golden_test.dart | 4 +-- .../compositing/color_filter_golden_test.dart | 2 +- .../compositing/compositing_golden_test.dart | 2 +- .../canvas_draw_color_golden_test.dart | 2 +- .../canvas_stroke_joins_golden_test.dart | 2 +- .../html/paragraph/general_golden_test.dart | 2 +- .../paragraph/placeholders_golden_test.dart | 6 ++-- .../text_placeholders_golden_test.dart | 2 +- .../paragraph/text_style_golden_test.dart | 4 +-- .../test/html/path_metrics_golden_test.dart | 4 +-- .../test/html/path_to_svg_golden_test.dart | 2 +- .../lib/web_ui/test/html/screenshot.dart | 2 +- .../shaders/linear_gradient_golden_test.dart | 6 ++-- .../html/shaders/shader_mask_golden_test.dart | 2 +- .../src/flutter/lib/web_ui/test/matchers.dart | 4 +-- .../lib/web_ui/test/paragraph_test.dart | 8 ++--- .../web_ui/test/text/line_breaker_test.dart | 2 +- .../web_ui/test/text/word_breaker_test.dart | 4 +-- .../flutter/lib/web_ui/test/text_test.dart | 4 +-- .../lib/web_ui/tool/unicode_sync_script.dart | 2 +- 69 files changed, 163 insertions(+), 166 deletions(-) diff --git a/engine/src/flutter/lib/web_ui/analysis_options.yaml b/engine/src/flutter/lib/web_ui/analysis_options.yaml index 8c493ecaf17..bf2a59f3ed6 100644 --- a/engine/src/flutter/lib/web_ui/analysis_options.yaml +++ b/engine/src/flutter/lib/web_ui/analysis_options.yaml @@ -41,13 +41,9 @@ linter: throw_in_finally: false type_init_formals: false unnecessary_getters_setters: false - unnecessary_null_aware_assignments: false - unnecessary_null_in_if_null_operators: false - unrelated_type_equality_checks: false use_rethrow_when_possible: false valid_regexps: false use_function_type_syntax_for_parameters: false - prefer_final_in_for_each: false avoid_single_cascade_in_expression_statements: false flutter_style_todos: false diff --git a/engine/src/flutter/lib/web_ui/dev/browser.dart b/engine/src/flutter/lib/web_ui/dev/browser.dart index 4cf3007152a..88c40997b04 100644 --- a/engine/src/flutter/lib/web_ui/dev/browser.dart +++ b/engine/src/flutter/lib/web_ui/dev/browser.dart @@ -176,7 +176,7 @@ abstract class Browser { // If we don't manually close the stream the test runner can hang. // For example this happens with Chrome Headless. // See SDK issue: https://github.com/dart-lang/sdk/issues/31264 - for (StreamSubscription stream in _ioSubscriptions) { + for (final StreamSubscription stream in _ioSubscriptions) { unawaited(stream.cancel()); } diff --git a/engine/src/flutter/lib/web_ui/dev/environment.dart b/engine/src/flutter/lib/web_ui/dev/environment.dart index db77267a029..361e805e88e 100644 --- a/engine/src/flutter/lib/web_ui/dev/environment.dart +++ b/engine/src/flutter/lib/web_ui/dev/environment.dart @@ -30,7 +30,7 @@ class Environment { final io.Directory webUiRootDir = io.Directory( pathlib.join(engineSrcDir.path, 'flutter', 'lib', 'web_ui')); - for (io.Directory expectedDirectory in [ + for (final io.Directory expectedDirectory in [ engineSrcDir, outDir, hostDebugUnoptDir, diff --git a/engine/src/flutter/lib/web_ui/dev/firefox_installer.dart b/engine/src/flutter/lib/web_ui/dev/firefox_installer.dart index 48e850a616f..6bcd7bb9fcb 100644 --- a/engine/src/flutter/lib/web_ui/dev/firefox_installer.dart +++ b/engine/src/flutter/lib/web_ui/dev/firefox_installer.dart @@ -273,7 +273,7 @@ class FirefoxInstaller { // Parses volume from mount result. // Output is of form: {devicename} /Volumes/{name}. String? _volumeFromMountResult(List lines) { - for (String line in lines) { + for (final String line in lines) { final int pos = line.indexOf('/Volumes'); if (pos != -1) { return line.substring(pos); diff --git a/engine/src/flutter/lib/web_ui/dev/licenses.dart b/engine/src/flutter/lib/web_ui/dev/licenses.dart index d4103a5fd4d..7048576c624 100644 --- a/engine/src/flutter/lib/web_ui/dev/licenses.dart +++ b/engine/src/flutter/lib/web_ui/dev/licenses.dart @@ -31,7 +31,7 @@ class LicensesCommand extends Command { final List allDartPaths = allSourceFiles.map((io.File f) => f.path).toList(); - for (String expectedDirectory in const [ + for (final String expectedDirectory in const [ 'lib', 'test', 'dev', diff --git a/engine/src/flutter/lib/web_ui/dev/test_platform.dart b/engine/src/flutter/lib/web_ui/dev/test_platform.dart index 2f1024c214a..be147c2f54c 100644 --- a/engine/src/flutter/lib/web_ui/dev/test_platform.dart +++ b/engine/src/flutter/lib/web_ui/dev/test_platform.dart @@ -615,7 +615,7 @@ class BrowserManager { // Start this canceled because we don't want it to start ticking until we // get some response from the iframe. _timer = RestartableTimer(Duration(seconds: 3), () { - for (RunnerSuiteController controller in _controllers) { + for (final RunnerSuiteController controller in _controllers) { controller.setDebugging(true); } }) @@ -629,7 +629,7 @@ class BrowserManager { if (!_closed) { _timer.reset(); } - for (RunnerSuiteController controller in _controllers) { + for (final RunnerSuiteController controller in _controllers) { controller.setDebugging(false); } diff --git a/engine/src/flutter/lib/web_ui/dev/test_runner.dart b/engine/src/flutter/lib/web_ui/dev/test_runner.dart index ea52d6c6744..ef333edb757 100644 --- a/engine/src/flutter/lib/web_ui/dev/test_runner.dart +++ b/engine/src/flutter/lib/web_ui/dev/test_runner.dart @@ -146,7 +146,7 @@ class TestCommand extends Command with ArgUtils { 'finish.', ); - for (BrowserArgParser browserArgParser in _browserArgParsers) { + for (final BrowserArgParser browserArgParser in _browserArgParsers) { browserArgParser.populateOptions(argParser); } GeneralTestsArgumentParser.instance.populateOptions(argParser); @@ -174,7 +174,7 @@ class TestCommand extends Command with ArgUtils { @override Future run() async { - for (BrowserArgParser browserArgParser in _browserArgParsers) { + for (final BrowserArgParser browserArgParser in _browserArgParsers) { browserArgParser.parseOptions(argResults!); } GeneralTestsArgumentParser.instance.parseOptions(argResults!); @@ -225,7 +225,7 @@ class TestCommand extends Command with ArgUtils { final StringBuffer message = StringBuffer( 'The following test shards failed:\n', ); - for (String failedShard in failedShards) { + for (final String failedShard in failedShards) { message.writeln(' - $failedShard'); } return message.toString(); @@ -292,7 +292,7 @@ class TestCommand extends Command with ArgUtils { final List canvasKitTargets = []; final String canvasKitTestDirectory = path.join(environment.webUiTestDir.path, 'canvaskit'); - for (FilePath target in allTargets) { + for (final FilePath target in allTargets) { if (path.isWithin(canvasKitTestDirectory, target.absolute)) { canvasKitTargets.add(target); } else { @@ -432,7 +432,7 @@ class TestCommand extends Command with ArgUtils { final List screenshotTestFiles = []; final List unitTestFiles = []; - for (io.File testFile + for (final io.File testFile in testDir.listSync(recursive: true).whereType()) { final FilePath testFilePath = FilePath.fromCwd(testFile.path); if (!testFilePath.absolute.endsWith('_test.dart')) { @@ -476,7 +476,7 @@ class TestCommand extends Command with ArgUtils { if (isUnitTestsScreenshotsAvailable) { // Run screenshot tests one at a time. - for (FilePath testFilePath in screenshotTestFiles) { + for (final FilePath testFilePath in screenshotTestFiles) { await _runTestBatch( [testFilePath], concurrency: 1, @@ -716,7 +716,7 @@ void _copyTestFontsIntoWebUi() { 'fonts', ); - for (String fontFile in _kTestFonts) { + for (final String fontFile in _kTestFonts) { final io.File sourceTtf = io.File(path.join(fontsPath, fontFile)); final String destinationTtfPath = path.join(environment.webUiRootDir.path, 'lib', 'assets', fontFile); diff --git a/engine/src/flutter/lib/web_ui/dev/utils.dart b/engine/src/flutter/lib/web_ui/dev/utils.dart index 2179aecdb52..57d3f12230c 100644 --- a/engine/src/flutter/lib/web_ui/dev/utils.dart +++ b/engine/src/flutter/lib/web_ui/dev/utils.dart @@ -376,13 +376,13 @@ final List cleanupCallbacks = []; Future cleanup() async { // Cleanup remaining processes if any. if (processesToCleanUp.isNotEmpty) { - for (io.Process process in processesToCleanUp) { + for (final io.Process process in processesToCleanUp) { process.kill(); } } // Delete temporary directories. if (temporaryDirectories.isNotEmpty) { - for (io.Directory directory in temporaryDirectories) { + for (final io.Directory directory in temporaryDirectories) { if (!directory.existsSync()) { directory.deleteSync(recursive: true); } diff --git a/engine/src/flutter/lib/web_ui/dev/watcher.dart b/engine/src/flutter/lib/web_ui/dev/watcher.dart index a1bee0a7c63..08f8677931b 100644 --- a/engine/src/flutter/lib/web_ui/dev/watcher.dart +++ b/engine/src/flutter/lib/web_ui/dev/watcher.dart @@ -116,7 +116,7 @@ class Pipeline { Future run() async { _status = PipelineStatus.started; try { - for (PipelineStep step in steps) { + for (final PipelineStep step in steps) { if (status != PipelineStatus.started) { break; } 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 421bb96b408..566e39329fd 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine.dart @@ -380,7 +380,7 @@ void initializeEngine() { // This extension does not need to clean-up Dart statics. Those are cleaned // up by the compiler. developer.registerExtension('ext.flutter.disassemble', (_, __) { - for (ui.VoidCallback listener in _hotRestartListeners) { + for (final ui.VoidCallback listener in _hotRestartListeners) { listener(); } return Future.value( diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/canvas_pool.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/canvas_pool.dart index 2c0a0df5cbe..91dd4177cbf 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/canvas_pool.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/canvas_pool.dart @@ -330,7 +330,7 @@ class CanvasPool extends _SaveStackTracking { void endOfPaint() { if (_reusablePool != null) { - for (html.CanvasElement e in _reusablePool!) { + for (final html.CanvasElement e in _reusablePool!) { if (browserEngine == BrowserEngine.webkit) { e.width = e.height = 0; } @@ -825,7 +825,7 @@ class CanvasPool extends _SaveStackTracking { void _clearActiveCanvasList() { if (_activeCanvasList != null) { - for (html.CanvasElement c in _activeCanvasList!) { + for (final html.CanvasElement c in _activeCanvasList!) { if (browserEngine == BrowserEngine.webkit) { c.width = c.height = 0; } diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/embedded_views.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/embedded_views.dart index ad68530dbf1..fa60d0a5371 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/embedded_views.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/embedded_views.dart @@ -218,12 +218,12 @@ class HtmlViewEmbedder { _svgPathDefs!.querySelector('#sk_path_defs')!; final List nodesToRemove = []; final Set oldDefs = _svgClipDefs[viewId]!; - for (html.Element child in clipDefs.children) { + for (final html.Element child in clipDefs.children) { if (oldDefs.contains(child.id)) { nodesToRemove.add(child); } } - for (html.Element node in nodesToRemove) { + for (final html.Element node in nodesToRemove) { node.remove(); } _svgClipDefs[viewId]!.clear(); diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/font_fallbacks.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/font_fallbacks.dart index f566f08bb2e..cadfad04a73 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/font_fallbacks.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/font_fallbacks.dart @@ -49,14 +49,14 @@ class FontFallbackData { final Map> ranges = >{}; - for (NotoFont font in _notoFonts) { + for (final NotoFont font in _notoFonts) { // TODO(yjbanov): instead of mutating the font tree during reset, it's // better to construct an immutable tree of resolved fonts // pointing back to the original NotoFont objects. Then // resetting the tree would be a matter of reconstructing // the new resolved tree. font.reset(); - for (CodeunitRange range in font.approximateUnicodeRanges) { + for (final CodeunitRange range in font.approximateUnicodeRanges) { ranges.putIfAbsent(font, () => []).add(range); } } @@ -119,7 +119,7 @@ class FontFallbackData { final List codeUnits = runesToCheck.toList(); final List fonts = []; - for (String font in fontFamilies) { + for (final String font in fontFamilies) { final List? typefacesForFamily = skiaFontCollection.familyToFontMap[font]; if (typefacesForFamily != null) { @@ -129,7 +129,7 @@ class FontFallbackData { final List codeUnitsSupported = List.filled(codeUnits.length, false); final String testString = String.fromCharCodes(codeUnits); - for (SkFont font in fonts) { + for (final SkFont font in fonts) { final Uint8List glyphs = font.getGlyphIDs(testString); assert(glyphs.length == codeUnitsSupported.length); for (int i = 0; i < glyphs.length; i++) { @@ -172,7 +172,7 @@ class FontFallbackData { List.filled(codeUnits.length, false); final String testString = String.fromCharCodes(codeUnits); - for (String font in globalFontFallbacks) { + for (final String font in globalFontFallbacks) { final List? fontsForFamily = skiaFontCollection.familyToFontMap[font]; if (fontsForFamily == null) { @@ -180,7 +180,7 @@ class FontFallbackData { 'cannot retrieve the typeface for it.'); continue; } - for (SkFont font in fontsForFamily) { + for (final SkFont font in fontsForFamily) { final Uint8List glyphs = font.getGlyphIDs(testString); assert(glyphs.length == codeUnitsSupported.length); for (int i = 0; i < glyphs.length; i++) { @@ -196,7 +196,7 @@ class FontFallbackData { // Once we've checked every typeface for this family, check to see if // every code unit has been covered in order to avoid unnecessary checks. bool keepGoing = false; - for (bool supported in codeUnitsSupported) { + for (final bool supported in codeUnitsSupported) { if (!supported) { keepGoing = true; break; @@ -253,7 +253,7 @@ Future findFontsForMissingCodeunits(List codeUnits) async { Set fonts = {}; final Set coveredCodeUnits = {}; final Set missingCodeUnits = {}; - for (int codeUnit in codeUnits) { + for (final int codeUnit in codeUnits) { final List fontsForUnit = data.notoTree.intersections(codeUnit); fonts.addAll(fontsForUnit); if (fontsForUnit.isNotEmpty) { @@ -263,7 +263,7 @@ Future findFontsForMissingCodeunits(List codeUnits) async { } } - for (NotoFont font in fonts) { + for (final NotoFont font in fonts) { await font.ensureResolved(); } @@ -273,8 +273,8 @@ Future findFontsForMissingCodeunits(List codeUnits) async { fonts = findMinimumFontsForCodeUnits(unmatchedCodeUnits, fonts); final Set<_ResolvedNotoSubset> resolvedFonts = <_ResolvedNotoSubset>{}; - for (int codeUnit in coveredCodeUnits) { - for (NotoFont font in fonts) { + for (final int codeUnit in coveredCodeUnits) { + for (final NotoFont font in fonts) { if (font.resolvedFont == null) { // We failed to resolve the font earlier. continue; @@ -283,7 +283,7 @@ Future findFontsForMissingCodeunits(List codeUnits) async { } } - for (_ResolvedNotoSubset resolvedFont in resolvedFonts) { + for (final _ResolvedNotoSubset resolvedFont in resolvedFonts) { notoDownloadQueue.add(resolvedFont); } @@ -401,8 +401,8 @@ _ResolvedNotoFont? _makeResolvedNotoFontFromCss(String css, String name) { final Map<_ResolvedNotoSubset, List> rangesMap = <_ResolvedNotoSubset, List>{}; - for (_ResolvedNotoSubset subset in subsets) { - for (CodeunitRange range in subset.ranges) { + for (final _ResolvedNotoSubset subset in subsets) { + for (final CodeunitRange range in subset.ranges) { rangesMap.putIfAbsent(subset, () => []).add(range); } } @@ -493,9 +493,9 @@ Set findMinimumFontsForCodeUnits( while (codeUnits.isNotEmpty) { int maxCodeUnitsCovered = 0; bestFonts.clear(); - for (NotoFont font in fonts) { + for (final NotoFont font in fonts) { int codeUnitsCovered = 0; - for (int codeUnit in codeUnits) { + for (final int codeUnit in codeUnits) { if (font.resolvedFont?.tree.containsDeep(codeUnit) == true) { codeUnitsCovered++; } @@ -891,7 +891,7 @@ class FallbackFontDownloadQueue { Future startDownloads() async { final Map> downloads = >{}; final Map downloadedData = {}; - for (_ResolvedNotoSubset subset in pendingSubsets.values) { + for (final _ResolvedNotoSubset subset in pendingSubsets.values) { downloads[subset.url] = Future(() async { ByteBuffer buffer; try { @@ -915,7 +915,7 @@ class FallbackFontDownloadQueue { // visual differences between app reloads. final List downloadOrder = (downloadedData.keys.toList()..sort()).reversed.toList(); - for (String url in downloadOrder) { + for (final String url in downloadOrder) { final _ResolvedNotoSubset subset = pendingSubsets.remove(url)!; final Uint8List bytes = downloadedData[url]!; FontFallbackData.instance.registerFallbackFont(subset.family, bytes); diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/fonts.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/fonts.dart index 0499ab9d7b7..07805d0004a 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/fonts.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/fonts.dart @@ -43,14 +43,14 @@ class SkiaFontCollection { fontProvider = canvasKit.TypefaceFontProvider.Make(); familyToFontMap.clear(); - for (RegisteredFont font in _registeredFonts) { + for (final RegisteredFont font in _registeredFonts) { fontProvider!.registerFont(font.bytes, font.family); familyToFontMap .putIfAbsent(font.family, () => []) .add(SkFont(font.typeface)); } - for (RegisteredFont font + for (final RegisteredFont font in FontFallbackData.instance.registeredFallbackFonts) { fontProvider!.registerFont(font.bytes, font.family); familyToFontMap @@ -66,7 +66,7 @@ class SkiaFontCollection { return; } final List loadedFonts = await Future.wait(_unloadedFonts); - for (RegisteredFont? font in loadedFonts) { + for (final RegisteredFont? font in loadedFonts) { if (font != null) { _registeredFonts.add(font); } @@ -117,7 +117,7 @@ class SkiaFontCollection { bool registeredRoboto = false; - for (Map fontFamily + for (final Map fontFamily in fontManifest.cast>()) { final String family = fontFamily['family']!; final List fontAssets = fontFamily['fonts']; @@ -126,7 +126,7 @@ class SkiaFontCollection { registeredRoboto = true; } - for (dynamic fontAssetItem in fontAssets) { + for (final dynamic fontAssetItem in fontAssets) { final Map fontAsset = fontAssetItem; final String asset = fontAsset['asset']; _unloadedFonts diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/interval_tree.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/interval_tree.dart index 07c93ba1ec6..f3fb5f7dd87 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/interval_tree.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/interval_tree.dart @@ -22,7 +22,7 @@ class IntervalTree { // Get a list of all the ranges ordered by start index. final List> intervals = >[]; rangesMap.forEach((T key, List rangeList) { - for (CodeunitRange range in rangeList) { + for (final CodeunitRange range in rangeList) { intervals.add(IntervalTreeNode(key, range.start, range.end)); } }); diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/layer.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/layer.dart index e7a3c2ac567..8b9e22e8870 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/layer.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/layer.dart @@ -59,7 +59,7 @@ class PrerollContext { ui.Rect get cullRect { ui.Rect cullRect = ui.Rect.largest; - for (Mutator m in mutatorsStack) { + for (final Mutator m in mutatorsStack) { ui.Rect clipRect; switch (m.type) { case MutatorType.clipRect: @@ -131,7 +131,7 @@ abstract class ContainerLayer extends Layer { /// [Rect] is empty. ui.Rect prerollChildren(PrerollContext context, Matrix4 childMatrix) { ui.Rect childPaintBounds = ui.Rect.zero; - for (Layer layer in _layers) { + for (final Layer layer in _layers) { layer.preroll(context, childMatrix); if (childPaintBounds.isEmpty) { childPaintBounds = layer.paintBounds; @@ -146,7 +146,7 @@ abstract class ContainerLayer extends Layer { void paintChildren(PaintContext context) { assert(needsPainting); - for (Layer layer in _layers) { + for (final Layer layer in _layers) { if (layer.needsPainting) { layer.paint(context); } diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/text.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/text.dart index 62ea50accce..ab051d86900 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/text.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/text.dart @@ -427,7 +427,7 @@ class CkTextStyle implements ui.TextStyle { if (shadows != null) { final List ckShadows = []; - for (ui.Shadow shadow in shadows) { + for (final ui.Shadow shadow in shadows) { final SkTextShadow ckShadow = SkTextShadow(); ckShadow.color = makeFreshSkColor(shadow.color); ckShadow.offset = toSkPoint(shadow.offset); @@ -439,7 +439,7 @@ class CkTextStyle implements ui.TextStyle { if (fontFeatures != null) { final List skFontFeatures = []; - for (ui.FontFeature fontFeature in fontFeatures) { + for (final ui.FontFeature fontFeature in fontFeatures) { final SkFontFeature skFontFeature = SkFontFeature(); skFontFeature.name = fontFeature.feature; skFontFeature.value = fontFeature.value; @@ -574,7 +574,7 @@ class CkParagraph extends SkiaObject implements ui.Paragraph { bool didRebuildSkiaObject = false; if (paragraph == null) { final CkParagraphBuilder builder = CkParagraphBuilder(_paragraphStyle); - for (_ParagraphCommand command in _paragraphCommands) { + for (final _ParagraphCommand command in _paragraphCommands) { switch (command.type) { case _ParagraphCommandType.addText: builder.addText(command.text!); 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 c3347aa3fd4..fb830e45932 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 @@ -140,7 +140,7 @@ class DomRenderer { void _clearOnHotRestart() { if (_staleHotRestartState!.isNotEmpty) { - for (html.Element? element in _staleHotRestartState!) { + for (final html.Element? element in _staleHotRestartState!) { element?.remove(); } _staleHotRestartState!.clear(); @@ -328,7 +328,7 @@ class DomRenderer { // engine are complete. bodyElement.spellcheck = false; - for (html.Element viewportMeta + for (final html.Element viewportMeta in html.document.head!.querySelectorAll('meta[name="viewport"]')) { if (assertionsEnabled) { // Filter out the meta tag that we ourselves placed on the page. This is @@ -613,7 +613,7 @@ class DomRenderer { /// The element corresponding to the only child of the root surface. html.Element? get _rootApplicationElement { final html.Element lastElement = rootElement.children.last; - for (html.Element child in lastElement.children) { + for (final html.Element child in lastElement.children) { if (child.tagName == 'FLT-SCENE') { return child; } diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/frame_reference.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/frame_reference.dart index 4de79e33445..05d5fa8bfef 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/frame_reference.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/frame_reference.dart @@ -46,8 +46,8 @@ class CrossFrameCache { void commitFrame() { // Evict unused items from prior frame. if (_reusablePool != null) { - for (List<_CrossFrameCacheItem> items in _reusablePool!.values) { - for (_CrossFrameCacheItem item in items) { + for (final List<_CrossFrameCacheItem> items in _reusablePool!.values) { + for (final _CrossFrameCacheItem item in items) { item.evict(); } } diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/html/bitmap_canvas.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/html/bitmap_canvas.dart index 7b05b6fd3a6..857ed2b941f 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/html/bitmap_canvas.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/html/bitmap_canvas.dart @@ -457,7 +457,7 @@ class BitmapCanvas extends EngineCanvas { element, ui.Offset.zero, transformWithOffset(_canvasPool.currentTransform, offset)); - for (html.Element clipElement in clipElements) { + for (final html.Element clipElement in clipElements) { rootElement.append(clipElement); _children.add(clipElement); } @@ -674,7 +674,7 @@ class BitmapCanvas extends EngineCanvas { imgElement.style..removeProperty('width')..removeProperty('height'); final List clipElements = _clipContent( _canvasPool.clipStack!, imgElement, p, _canvasPool.currentTransform); - for (html.Element clipElement in clipElements) { + for (final html.Element clipElement in clipElements) { rootElement.append(clipElement); _children.add(clipElement); } @@ -958,7 +958,7 @@ class BitmapCanvas extends EngineCanvas { paragraphElement as html.HtmlElement, offset, _canvasPool.currentTransform); - for (html.Element clipElement in clipElements) { + for (final html.Element clipElement in clipElements) { rootElement.append(clipElement); _children.add(clipElement); } @@ -1057,7 +1057,7 @@ class BitmapCanvas extends EngineCanvas { _elementCache?.commitFrame(); // Wrap all elements in translate3d (workaround for webkit paint order bug). if (_contains3dTransform && browserEngine == BrowserEngine.webkit) { - for (html.Element element in rootElement.children) { + for (final html.Element element in rootElement.children) { final html.DivElement paintOrderElement = html.DivElement() ..style.transform = 'translate3d(0,0,0)'; paintOrderElement.append(element); diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/html/path/path.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/html/path/path.dart index 3f2c7f98428..026c91fdab1 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/html/path/path.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/html/path/path.dart @@ -612,7 +612,7 @@ class SurfacePath implements ui.Path { final double scaleY = rect.height / 2; final double centerX = rect.center.dx; final double centerY = rect.center.dy; - for (Conic conic in conics) { + for (final Conic conic in conics) { double x = conic.p0x; double y = ccw ? -conic.p0y : conic.p0y; conic.p0x = (cosStart * x - sinStart * y) * scaleX + centerX; diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/html/picture.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/html/picture.dart index 5611e143d2e..28db753a769 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/html/picture.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/html/picture.dart @@ -631,7 +631,7 @@ class PersistedPicture extends PersistedLeafSurface { @override void debugPrintChildren(StringBuffer buffer, int indent) { super.debugPrintChildren(buffer, indent); - if (rootElement != null && rootElement!.firstChild! != null) { + if (rootElement != null && rootElement!.firstChild != null) { final html.Element firstChild = rootElement!.firstChild! as html.Element; final String canvasTag = firstChild.tagName.toLowerCase(); final int canvasHash = firstChild.hashCode; diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/html/shaders/normalized_gradient.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/html/shaders/normalized_gradient.dart index 283c03be271..72e229f5dce 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/html/shaders/normalized_gradient.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/html/shaders/normalized_gradient.dart @@ -59,13 +59,13 @@ class NormalizedGradient { bias[targetIndex++] = c.alpha / 255.0; thresholds[thresholdIndex++] = 0.0; } - for (ui.Color c in colors) { + for (final ui.Color c in colors) { bias[targetIndex++] = c.red / 255.0; bias[targetIndex++] = c.green / 255.0; bias[targetIndex++] = c.blue / 255.0; bias[targetIndex++] = c.alpha / 255.0; } - for (double stop in stops) { + for (final double stop in stops) { thresholds[thresholdIndex++] = stop; } if (addLast) { diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/html/shaders/shader_builder.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/html/shaders/shader_builder.dart index c63d8132163..b5c87dd3480 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/html/shaders/shader_builder.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/html/shaders/shader_builder.dart @@ -220,10 +220,10 @@ class ShaderBuilder { if (isWebGl2 && _fragmentColorDeclaration != null) { _writeVariableDeclaration(_buffer, _fragmentColorDeclaration!); } - for (ShaderDeclaration decl in declarations) { + for (final ShaderDeclaration decl in declarations) { _writeVariableDeclaration(_buffer, decl); } - for (ShaderMethod method in _methods) { + for (final ShaderMethod method in _methods) { method.write(_buffer); } return _buffer.toString(); @@ -293,7 +293,7 @@ class ShaderMethod { void write(StringBuffer buffer) { buffer.writeln('$returnType $name() {'); - for (String statement in _statements) { + for (final String statement in _statements) { buffer.writeln(statement); } buffer.writeln('}'); diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/html/surface.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/html/surface.dart index 2e6cd148ba9..fbd65de8482 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/html/surface.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/html/surface.dart @@ -56,7 +56,7 @@ void commitScene(PersistedScene scene) { }); } - for (PaintRequest request in paintQueue) { + for (final PaintRequest request in paintQueue) { request.paintCallback(); } } finally { diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/html/surface_stats.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/html/surface_stats.dart index 066d76cd45f..73cc6e46dc3 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/html/surface_stats.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/html/surface_stats.dart @@ -144,7 +144,7 @@ void debugRepaintSurfaceStatsOverlay(PersistedScene scene) { _surfaceStatsTimeline[i]; final DebugSurfaceStats totals = DebugSurfaceStats(null); int pixelCount = 0; - for (DebugSurfaceStats oneSurfaceStats in statsMap.values) { + for (final DebugSurfaceStats oneSurfaceStats in statsMap.values) { totals.aggregate(oneSurfaceStats); if (oneSurfaceStats.surface is PersistedPicture) { final PersistedPicture picture = oneSurfaceStats.surface! as PersistedPicture; diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/onscreen_logging.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/onscreen_logging.dart index 0087080c69c..c3eeb38b80b 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/onscreen_logging.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/onscreen_logging.dart @@ -115,7 +115,7 @@ Iterable defaultStackFilter(Iterable frames) { final RegExp packageParser = RegExp(r'^([^:]+):(.+)$'); final List result = []; final List skipped = []; - for (String line in frames) { + for (final String line in frames) { final Match? match = stackParser.firstMatch(line); if (match != null) { assert(match.groupCount == 2); diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/platform_views/content_manager.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/platform_views/content_manager.dart index 88552a5dd51..cc484a21f5d 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/platform_views/content_manager.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/platform_views/content_manager.dart @@ -191,7 +191,7 @@ class PlatformViewManager { /// Returns the set of know view ids, so they can be cleaned up. Set debugClear() { final Set result = _contents.keys.toSet(); - for (int viewId in result) { + for (final int viewId in result) { clearPlatformView(viewId); } _factories.clear(); diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/pointer_binding.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/pointer_binding.dart index 1fe2b35c3be..103e8f15aee 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/pointer_binding.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/pointer_binding.dart @@ -682,7 +682,7 @@ class _TouchAdapter extends _BaseAdapter { _addTouchEventListener('touchstart', (html.TouchEvent event) { final Duration timeStamp = _BaseAdapter._eventTimeStampToDuration(event.timeStamp!); final List pointerData = []; - for (html.Touch touch in event.changedTouches!) { + for (final html.Touch touch in event.changedTouches!) { final bool nowPressed = _isTouchPressed(touch.identifier!); if (!nowPressed) { _pressTouch(touch.identifier!); @@ -702,7 +702,7 @@ class _TouchAdapter extends _BaseAdapter { event.preventDefault(); // Prevents standard overscroll on iOS/Webkit. final Duration timeStamp = _BaseAdapter._eventTimeStampToDuration(event.timeStamp!); final List pointerData = []; - for (html.Touch touch in event.changedTouches!) { + for (final html.Touch touch in event.changedTouches!) { final bool nowPressed = _isTouchPressed(touch.identifier!); if (nowPressed) { _convertEventToPointerData( @@ -723,7 +723,7 @@ class _TouchAdapter extends _BaseAdapter { event.preventDefault(); final Duration timeStamp = _BaseAdapter._eventTimeStampToDuration(event.timeStamp!); final List pointerData = []; - for (html.Touch touch in event.changedTouches!) { + for (final html.Touch touch in event.changedTouches!) { final bool nowPressed = _isTouchPressed(touch.identifier!); if (nowPressed) { _unpressTouch(touch.identifier!); @@ -742,7 +742,7 @@ class _TouchAdapter extends _BaseAdapter { _addTouchEventListener('touchcancel', (html.TouchEvent event) { final Duration timeStamp = _BaseAdapter._eventTimeStampToDuration(event.timeStamp!); final List pointerData = []; - for (html.Touch touch in event.changedTouches!) { + for (final html.Touch touch in event.changedTouches!) { final bool nowPressed = _isTouchPressed(touch.identifier!); if (nowPressed) { _unpressTouch(touch.identifier!); diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/profiler.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/profiler.dart index 7e7abe234ff..9458de8ce86 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/profiler.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/profiler.dart @@ -298,7 +298,7 @@ class Instrumentation { ..sort((MapEntry a, MapEntry b) { return a.key.compareTo(b.key); }); - for (MapEntry entry in entries) { + for (final MapEntry entry in entries) { message.writeln(' ${entry.key}: ${entry.value}'); } print(message); 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 f470553d7b9..26d794b4df9 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 @@ -1070,7 +1070,7 @@ class SemanticsObject { if (_previousChildrenInTraversalOrder == null || _previousChildrenInTraversalOrder!.isEmpty) { _previousChildrenInTraversalOrder = _childrenInTraversalOrder; - for (int id in _previousChildrenInTraversalOrder!) { + for (final int id in _previousChildrenInTraversalOrder!) { final SemanticsObject child = owner.getOrCreateObject(id); containerElement!.append(child.element); owner._attachObject(parent: this, child: child); @@ -1290,7 +1290,7 @@ class EngineSemanticsOwner { /// the one-time callbacks scheduled via the [addOneTimePostUpdateCallback] /// method. void _finalizeTree() { - for (SemanticsObject? object in _detachments) { + for (final SemanticsObject? object in _detachments) { final SemanticsObject? parent = _attachments[object!.id]; if (parent == null) { // Was not reparented and is removed permanently from the tree. @@ -1306,7 +1306,7 @@ class EngineSemanticsOwner { _attachments = {}; if (_oneTimePostUpdateCallbacks.isNotEmpty) { - for (ui.VoidCallback callback in _oneTimePostUpdateCallbacks) { + for (final ui.VoidCallback callback in _oneTimePostUpdateCallbacks) { callback(); } _oneTimePostUpdateCallbacks = []; @@ -1575,7 +1575,7 @@ class EngineSemanticsOwner { } final SemanticsUpdate update = uiUpdate as SemanticsUpdate; - for (SemanticsNodeUpdate nodeUpdate in update._nodeUpdates!) { + for (final SemanticsNodeUpdate nodeUpdate in update._nodeUpdates!) { final SemanticsObject object = getOrCreateObject(nodeUpdate.id); object.updateWith(nodeUpdate); } @@ -1596,7 +1596,7 @@ class EngineSemanticsOwner { // Ensure child ID list is consistent with the parent-child // relationship of the semantics tree. if (object!._childrenInTraversalOrder != null) { - for (int childId in object._childrenInTraversalOrder!) { + for (final int childId in object._childrenInTraversalOrder!) { final SemanticsObject? child = _semanticsTree[childId]; if (child == null) { throw AssertionError('Child #$childId is missing in the tree.'); @@ -1616,7 +1616,7 @@ class EngineSemanticsOwner { }); // Validate that all updates were applied - for (SemanticsNodeUpdate update in update._nodeUpdates!) { + for (final SemanticsNodeUpdate update in update._nodeUpdates!) { // Node was added to the tree. assert(_semanticsTree.containsKey(update.id)); } diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/services/buffers.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/services/buffers.dart index ddf56dd09ac..5307114d2f4 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/services/buffers.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/services/buffers.dart @@ -140,7 +140,7 @@ abstract class _TypedDataBuffer extends ListBase { // position [index] using flip-by-double-reverse. int writeIndex = _length; int skipCount = start; - for (E value in values) { + for (final E value in values) { if (skipCount > 0) { skipCount--; continue; @@ -199,7 +199,7 @@ abstract class _TypedDataBuffer extends ListBase { // Otherwise, just add values one at a time. int i = 0; - for (E value in values) { + for (final E value in values) { if (i >= start) { add(value); } diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/text/font_collection.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/text/font_collection.dart index ab2fd8d0797..8c26cfb9ed0 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/text/font_collection.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/text/font_collection.dart @@ -58,16 +58,16 @@ class FontCollection { _assetFontManager = _PolyfillFontManager(); } - for (Map fontFamily + for (final Map fontFamily in fontManifest.cast>()) { final String? family = fontFamily['family']; final List fontAssets = fontFamily['fonts']; - for (dynamic fontAssetItem in fontAssets) { + for (final dynamic fontAssetItem in fontAssets) { final Map fontAsset = fontAssetItem; final String asset = fontAsset['asset']; final Map descriptors = {}; - for (String descriptor in fontAsset.keys) { + for (final String descriptor in fontAsset.keys) { if (descriptor != 'asset') { descriptors[descriptor] = '${fontAsset[descriptor]}'; } diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/text/layout_service.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/text/layout_service.dart index c879dbd2181..332acf9ea9c 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/text/layout_service.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/text/layout_service.dart @@ -342,7 +342,7 @@ class TextLayoutService { // We could do a binary search here but it's not worth it because the number // of line is typically low, and each iteration is a cheap comparison of // doubles. - for (EngineLineMetrics line in lines) { + for (final EngineLineMetrics line in lines) { if (y <= line.height) { return line; } diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/text/paragraph.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/text/paragraph.dart index fe0819d2cb9..b325cd7fe3f 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/text/paragraph.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/text/paragraph.dart @@ -324,7 +324,7 @@ class DomParagraph implements EngineParagraph { double get longestLine { if (_hasLineMetrics) { double maxWidth = 0.0; - for (ui.LineMetrics metrics in _measurementResult!.lines!) { + for (final ui.LineMetrics metrics in _measurementResult!.lines!) { if (maxWidth < metrics.width) { maxWidth = metrics.width; } diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/text/ruler.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/text/ruler.dart index e34d9fa0f9a..2387bb42508 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/text/ruler.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/text/ruler.dart @@ -810,7 +810,7 @@ class ParagraphRuler { return; } final List childNodes = []; - for (html.Node node in nodes) { + for (final html.Node node in nodes) { if (node.nodeType == html.Node.TEXT_NODE) { textNodes.add(node); } @@ -902,7 +902,7 @@ class ParagraphRuler { : style.maxLines! * lineHeight; html.Rectangle? previousRect; - for (html.Rectangle rect in clientRects) { + for (final html.Rectangle rect in clientRects) { // If [rect] is an empty box on the same line as the previous box, don't // include it in the result. if (rect.top == previousRect?.top && rect.left == rect.right) { 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 c8e6dfeec7f..24af25e11ab 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 @@ -189,7 +189,8 @@ class EngineAutofillForm { AutofillInfo.fromFrameworkMessage(focusedElementAutofill); if (fields != null) { - for (Map field in fields.cast>()) { + for (final Map field in + fields.cast>()) { final Map autofillInfo = field['autofill']; final AutofillInfo autofill = AutofillInfo.fromFrameworkMessage( autofillInfo, @@ -1571,7 +1572,7 @@ void saveForms() { /// /// Called when the form is finalized. void cleanForms() { - for (html.FormElement form in formsOnTheDom.values) { + for (final html.FormElement form in formsOnTheDom.values) { form.remove(); } formsOnTheDom.clear(); diff --git a/engine/src/flutter/lib/web_ui/lib/src/ui/hash_codes.dart b/engine/src/flutter/lib/web_ui/lib/src/ui/hash_codes.dart index 4e94a405761..f100ae52753 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/ui/hash_codes.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/ui/hash_codes.dart @@ -116,7 +116,7 @@ int hashValues( int hashList(Iterable? arguments) { int result = 0; if (arguments != null) { - for (Object? argument in arguments) + for (final Object? argument in arguments) result = _Jenkins.combine(result, argument); } return _Jenkins.finish(result); diff --git a/engine/src/flutter/lib/web_ui/lib/src/ui/text.dart b/engine/src/flutter/lib/web_ui/lib/src/ui/text.dart index 949bab3f7d4..bfcf7e251d8 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/ui/text.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/ui/text.dart @@ -198,7 +198,7 @@ class TextDecoration { const TextDecoration._(this._mask); factory TextDecoration.combine(List decorations) { int mask = 0; - for (TextDecoration decoration in decorations) { + for (final TextDecoration decoration in decorations) { mask |= decoration._mask; } return TextDecoration._(mask); diff --git a/engine/src/flutter/lib/web_ui/test/canvaskit/canvas_golden_test.dart b/engine/src/flutter/lib/web_ui/test/canvaskit/canvas_golden_test.dart index 9d43a36da03..d5e4b1d1ac6 100644 --- a/engine/src/flutter/lib/web_ui/test/canvaskit/canvas_golden_test.dart +++ b/engine/src/flutter/lib/web_ui/test/canvaskit/canvas_golden_test.dart @@ -646,8 +646,8 @@ void testMain() { final CkCanvas canvas = recorder.beginRecording(ui.Rect.largest); canvas.translate(10, 10); - for (ParagraphFactory from in variations) { - for (ParagraphFactory to in variations) { + for (final ParagraphFactory from in variations) { + for (final ParagraphFactory to in variations) { canvas.save(); final CkParagraph fromParagraph = from(); canvas.drawParagraph(fromParagraph, ui.Offset.zero); diff --git a/engine/src/flutter/lib/web_ui/test/canvaskit/canvaskit_api_test.dart b/engine/src/flutter/lib/web_ui/test/canvaskit/canvaskit_api_test.dart index b0c39b1deb4..e048627b988 100644 --- a/engine/src/flutter/lib/web_ui/test/canvaskit/canvaskit_api_test.dart +++ b/engine/src/flutter/lib/web_ui/test/canvaskit/canvaskit_api_test.dart @@ -95,7 +95,7 @@ void _blendModeTests() { }); test('ui.BlendMode converts to SkBlendMode', () { - for (ui.BlendMode blendMode in ui.BlendMode.values) { + for (final ui.BlendMode blendMode in ui.BlendMode.values) { expect(toSkBlendMode(blendMode).value, blendMode.index); } }); @@ -108,7 +108,7 @@ void _paintStyleTests() { }); test('ui.PaintingStyle converts to SkPaintStyle', () { - for (ui.PaintingStyle style in ui.PaintingStyle.values) { + for (final ui.PaintingStyle style in ui.PaintingStyle.values) { expect(toSkPaintStyle(style).value, style.index); } }); @@ -122,7 +122,7 @@ void _strokeCapTests() { }); test('ui.StrokeCap converts to SkStrokeCap', () { - for (ui.StrokeCap cap in ui.StrokeCap.values) { + for (final ui.StrokeCap cap in ui.StrokeCap.values) { expect(toSkStrokeCap(cap).value, cap.index); } }); @@ -136,7 +136,7 @@ void _strokeJoinTests() { }); test('ui.StrokeJoin converts to SkStrokeJoin', () { - for (ui.StrokeJoin join in ui.StrokeJoin.values) { + for (final ui.StrokeJoin join in ui.StrokeJoin.values) { expect(toSkStrokeJoin(join).value, join.index); } }); @@ -151,7 +151,7 @@ void _filterQualityTests() { }); test('ui.FilterQuality converts to SkFilterQuality', () { - for (ui.FilterQuality cap in ui.FilterQuality.values) { + for (final ui.FilterQuality cap in ui.FilterQuality.values) { expect(toSkFilterQuality(cap).value, cap.index); } }); @@ -166,7 +166,7 @@ void _blurStyleTests() { }); test('ui.BlurStyle converts to SkBlurStyle', () { - for (ui.BlurStyle style in ui.BlurStyle.values) { + for (final ui.BlurStyle style in ui.BlurStyle.values) { expect(toSkBlurStyle(style).value, style.index); } }); @@ -180,7 +180,7 @@ void _tileModeTests() { }); test('ui.TileMode converts to SkTileMode', () { - for (ui.TileMode mode in ui.TileMode.values) { + for (final ui.TileMode mode in ui.TileMode.values) { expect(toSkTileMode(mode).value, mode.index); } }); @@ -193,7 +193,7 @@ void _fillTypeTests() { }); test('ui.PathFillType converts to SkFillType', () { - for (ui.PathFillType type in ui.PathFillType.values) { + for (final ui.PathFillType type in ui.PathFillType.values) { expect(toSkFillType(type).value, type.index); } }); @@ -211,7 +211,7 @@ void _pathOpTests() { }); test('ui.PathOperation converts to SkPathOp', () { - for (ui.PathOperation op in ui.PathOperation.values) { + for (final ui.PathOperation op in ui.PathOperation.values) { expect(toSkPathOp(op).value, op.index); } }); @@ -246,7 +246,7 @@ void _clipOpTests() { }); test('ui.ClipOp converts to SkClipOp', () { - for (ui.ClipOp op in ui.ClipOp.values) { + for (final ui.ClipOp op in ui.ClipOp.values) { expect(toSkClipOp(op).value, op.index); } }); @@ -260,7 +260,7 @@ void _pointModeTests() { }); test('ui.PointMode converts to SkPointMode', () { - for (ui.PointMode op in ui.PointMode.values) { + for (final ui.PointMode op in ui.PointMode.values) { expect(toSkPointMode(op).value, op.index); } }); @@ -276,7 +276,7 @@ void _vertexModeTests() { }); test('ui.VertexMode converts to SkVertexMode', () { - for (ui.VertexMode op in ui.VertexMode.values) { + for (final ui.VertexMode op in ui.VertexMode.values) { expect(toSkVertexMode(op).value, op.index); } }); @@ -1095,7 +1095,7 @@ void _canvasTests() { }); test('drawShadow', () { - for (int flags in const [0x01, 0x00]) { + for (final int flags in const [0x01, 0x00]) { const double devicePixelRatio = 2.0; const double elevation = 4.0; const double ambientAlpha = 0.039; @@ -1224,7 +1224,7 @@ void _textStyleTests() { }); test('ui.TextDecorationStyle converts to SkTextDecorationStyle', () { - for (ui.TextDecorationStyle decorationStyle + for (final ui.TextDecorationStyle decorationStyle in ui.TextDecorationStyle.values) { expect(toSkTextDecorationStyle(decorationStyle).value, decorationStyle.index); @@ -1239,7 +1239,7 @@ void _textStyleTests() { }); test('ui.TextBaseline converts to SkTextBaseline', () { - for (ui.TextBaseline textBaseline in ui.TextBaseline.values) { + for (final ui.TextBaseline textBaseline in ui.TextBaseline.values) { expect(toSkTextBaseline(textBaseline).value, textBaseline.index); } }); @@ -1260,7 +1260,7 @@ void _textStyleTests() { }); test('ui.PlaceholderAlignment converts to SkPlaceholderAlignment', () { - for (ui.PlaceholderAlignment placeholderAlignment + for (final ui.PlaceholderAlignment placeholderAlignment in ui.PlaceholderAlignment.values) { expect(toSkPlaceholderAlignment(placeholderAlignment).value, placeholderAlignment.index); diff --git a/engine/src/flutter/lib/web_ui/test/canvaskit/common.dart b/engine/src/flutter/lib/web_ui/test/canvaskit/common.dart index d6eadc45032..2c7011f70bd 100644 --- a/engine/src/flutter/lib/web_ui/test/canvaskit/common.dart +++ b/engine/src/flutter/lib/web_ui/test/canvaskit/common.dart @@ -107,9 +107,9 @@ class TestCollector implements Collector { /// Deletes all Skia objects scheduled for collection. void collectNow() { - for (_TestCollection collection in _pendingCollections) { + for (final _TestCollection collection in _pendingCollections) { late final _TestFinalizerRegistration? activeRegistration; - for (_TestFinalizerRegistration registration in _activeRegistrations) { + for (final _TestFinalizerRegistration registration in _activeRegistrations) { if (identical(registration.deletable, collection.deletable)) { activeRegistration = registration; break; @@ -117,7 +117,7 @@ class TestCollector implements Collector { } if (activeRegistration == null) { late final _TestFinalizerRegistration? collectedRegistration; - for (_TestFinalizerRegistration registration + for (final _TestFinalizerRegistration registration in _collectedRegistrations) { if (identical(registration.deletable, collection.deletable)) { collectedRegistration = registration; @@ -162,12 +162,12 @@ class TestCollector implements Collector { /// This also deletes active objects that have not been scheduled for /// collection, to prevent objects leaking across tests. void cleanUpAfterTest() { - for (_TestCollection collection in _pendingCollections) { + for (final _TestCollection collection in _pendingCollections) { if (!collection.deletable.isDeleted()) { collection.deletable.delete(); } } - for (_TestFinalizerRegistration registration in _activeRegistrations) { + for (final _TestFinalizerRegistration registration in _activeRegistrations) { if (!registration.deletable.isDeleted()) { registration.deletable.delete(); } diff --git a/engine/src/flutter/lib/web_ui/test/canvaskit/fallback_fonts_golden_test.dart b/engine/src/flutter/lib/web_ui/test/canvaskit/fallback_fonts_golden_test.dart index e6049f72803..baf6a8cae8c 100644 --- a/engine/src/flutter/lib/web_ui/test/canvaskit/fallback_fonts_golden_test.dart +++ b/engine/src/flutter/lib/web_ui/test/canvaskit/fallback_fonts_golden_test.dart @@ -284,9 +284,9 @@ void testMain() { final Set supportedUniqueCodeUnits = {}; final IntervalTree notoTree = FontFallbackData.instance.notoTree; - for (NotoFont font in notoTree.root.enumerateAllElements()) { + for (final NotoFont font in notoTree.root.enumerateAllElements()) { testedFonts.add(font.name); - for (CodeunitRange range in font.approximateUnicodeRanges) { + for (final CodeunitRange range in font.approximateUnicodeRanges) { for (int codeUnit = range.start; codeUnit < range.end; codeUnit += 1) { @@ -343,7 +343,7 @@ void testMain() { codeUnits.add(supportedCodeUnits[i]); } final Set fonts = {}; - for (int codeUnit in codeUnits) { + for (final int codeUnit in codeUnits) { final List fontsForUnit = notoTree.intersections(codeUnit); // All code units are extracted from the same tree, so there must diff --git a/engine/src/flutter/lib/web_ui/test/engine/path_metrics_test.dart b/engine/src/flutter/lib/web_ui/test/engine/path_metrics_test.dart index 578b94dba06..c1e8fc3fa7f 100644 --- a/engine/src/flutter/lib/web_ui/test/engine/path_metrics_test.dart +++ b/engine/src/flutter/lib/web_ui/test/engine/path_metrics_test.dart @@ -230,7 +230,7 @@ void testMain() { List computeLengths(PathMetrics pathMetrics) { final List lengths = []; - for (PathMetric metric in pathMetrics) { + for (final PathMetric metric in pathMetrics) { lengths.add(metric.length); } return lengths; diff --git a/engine/src/flutter/lib/web_ui/test/engine/pointer_binding_test.dart b/engine/src/flutter/lib/web_ui/test/engine/pointer_binding_test.dart index d7d8e041e6d..a12d927c88e 100644 --- a/engine/src/flutter/lib/web_ui/test/engine/pointer_binding_test.dart +++ b/engine/src/flutter/lib/web_ui/test/engine/pointer_binding_test.dart @@ -27,7 +27,7 @@ void _testEach( String description, _ContextTestBody body, ) { - for (T context in contexts) { + for (final T context in contexts) { if (context.isSupported) { test('${context.name} $description', () { body(context); 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 7d33ef8b2da..b812c8de983 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 @@ -278,7 +278,7 @@ class SemanticsTester { ui.Rect effectiveRect = rect ?? ui.Rect.zero; if (children != null && children.isNotEmpty) { effectiveRect = childRect(children.first); - for (SemanticsNodeUpdate child in children.skip(1)) { + for (final SemanticsNodeUpdate child in children.skip(1)) { effectiveRect = effectiveRect.expandToInclude(childRect(child)); } } diff --git a/engine/src/flutter/lib/web_ui/test/engine/surface/path/path_winding_test.dart b/engine/src/flutter/lib/web_ui/test/engine/surface/path/path_winding_test.dart index 5d7d5ba8bd5..ef1d596a6b2 100644 --- a/engine/src/flutter/lib/web_ui/test/engine/surface/path/path_winding_test.dart +++ b/engine/src/flutter/lib/web_ui/test/engine/surface/path/path_winding_test.dart @@ -70,7 +70,7 @@ void testMain() { SPathDirection.kCW), ]; - for (LineTestCase testCase in testCases) { + for (final LineTestCase testCase in testCases) { final SurfacePath path = SurfacePath(); setFromString(path, testCase.pathContent); expect(path.convexityType, testCase.convexity); diff --git a/engine/src/flutter/lib/web_ui/test/engine/surface/scene_builder_test.dart b/engine/src/flutter/lib/web_ui/test/engine/surface/scene_builder_test.dart index b0a6f75c11a..2caf3b155e2 100644 --- a/engine/src/flutter/lib/web_ui/test/engine/surface/scene_builder_test.dart +++ b/engine/src/flutter/lib/web_ui/test/engine/surface/scene_builder_test.dart @@ -268,7 +268,7 @@ void testMain() { final html.Element content = builder.build().webOnlyRootElement!; html.document.body!.append(content); List list = content.querySelectorAll('img'); - for (html.ImageElement image in list) { + for (final html.ImageElement image in list) { image.alt = 'marked'; } @@ -284,7 +284,7 @@ void testMain() { final html.Element contentAfterReuse = builder2.build().webOnlyRootElement!; list = contentAfterReuse.querySelectorAll('img'); - for (html.ImageElement image in list) { + for (final html.ImageElement image in list) { expect(image.alt, 'marked'); } expect(list.length, 1); @@ -497,7 +497,7 @@ void testMain() { // Watches DOM mutations and counts deletions and additions to the child // list of the `` element. final html.MutationObserver observer = html.MutationObserver((List mutations, _) { - for (html.MutationRecord record in mutations.cast()) { + for (final html.MutationRecord record in mutations.cast()) { actualDeletions.addAll(record.removedNodes!); actualAdditions.addAll(record.addedNodes!); } diff --git a/engine/src/flutter/lib/web_ui/test/html/compositing/backdrop_filter_golden_test.dart b/engine/src/flutter/lib/web_ui/test/html/compositing/backdrop_filter_golden_test.dart index 85caded68b2..c9d4eb323ee 100644 --- a/engine/src/flutter/lib/web_ui/test/html/compositing/backdrop_filter_golden_test.dart +++ b/engine/src/flutter/lib/web_ui/test/html/compositing/backdrop_filter_golden_test.dart @@ -19,7 +19,7 @@ Future testMain() async { setUp(() async { debugShowClipLayers = true; SurfaceSceneBuilder.debugForgetFrameScene(); - for (html.Node scene in html.document.querySelectorAll('flt-scene')) { + for (final html.Node scene in html.document.querySelectorAll('flt-scene')) { scene.remove(); } diff --git a/engine/src/flutter/lib/web_ui/test/html/compositing/canvas_mask_filter_golden_test.dart b/engine/src/flutter/lib/web_ui/test/html/compositing/canvas_mask_filter_golden_test.dart index efe0c24dae1..2c918bfb36a 100644 --- a/engine/src/flutter/lib/web_ui/test/html/compositing/canvas_mask_filter_golden_test.dart +++ b/engine/src/flutter/lib/web_ui/test/html/compositing/canvas_mask_filter_golden_test.dart @@ -140,7 +140,7 @@ Future testMain() async { ui.Color(0xFF6500C9), ]; - for (ui.Color color in colors) { + for (final ui.Color color in colors) { paint.color = color; rc.rotate(math.pi / 4); rc.drawRect( @@ -157,7 +157,7 @@ Future testMain() async { testMaskFilterBlur(isWebkit: false); testMaskFilterBlur(isWebkit: true); - for (int testDpr in [1, 2, 4]) { + for (final int testDpr in [1, 2, 4]) { test('MaskFilter.blur blurs correctly for device-pixel ratio $testDpr', () async { window.debugOverrideDevicePixelRatio(testDpr.toDouble()); const ui.Rect screenRect = ui.Rect.fromLTWH(0, 0, 150, 150); diff --git a/engine/src/flutter/lib/web_ui/test/html/compositing/color_filter_golden_test.dart b/engine/src/flutter/lib/web_ui/test/html/compositing/color_filter_golden_test.dart index 33f79e07827..94cfb877291 100644 --- a/engine/src/flutter/lib/web_ui/test/html/compositing/color_filter_golden_test.dart +++ b/engine/src/flutter/lib/web_ui/test/html/compositing/color_filter_golden_test.dart @@ -22,7 +22,7 @@ Future testMain() async { setUp(() async { debugShowClipLayers = true; SurfaceSceneBuilder.debugForgetFrameScene(); - for (html.Node scene in html.document.querySelectorAll('flt-scene')) { + for (final html.Node scene in html.document.querySelectorAll('flt-scene')) { scene.remove(); } diff --git a/engine/src/flutter/lib/web_ui/test/html/compositing/compositing_golden_test.dart b/engine/src/flutter/lib/web_ui/test/html/compositing/compositing_golden_test.dart index 2a1e6d87a24..9ade7d17fcc 100644 --- a/engine/src/flutter/lib/web_ui/test/html/compositing/compositing_golden_test.dart +++ b/engine/src/flutter/lib/web_ui/test/html/compositing/compositing_golden_test.dart @@ -25,7 +25,7 @@ Future testMain() async { // layers: // debugShowClipLayers = true; SurfaceSceneBuilder.debugForgetFrameScene(); - for (html.Node scene in html.document.querySelectorAll('flt-scene')) { + for (final html.Node scene in html.document.querySelectorAll('flt-scene')) { scene.remove(); } diff --git a/engine/src/flutter/lib/web_ui/test/html/drawing/canvas_draw_color_golden_test.dart b/engine/src/flutter/lib/web_ui/test/html/drawing/canvas_draw_color_golden_test.dart index d6871976f30..a6b42da5cc1 100644 --- a/engine/src/flutter/lib/web_ui/test/html/drawing/canvas_draw_color_golden_test.dart +++ b/engine/src/flutter/lib/web_ui/test/html/drawing/canvas_draw_color_golden_test.dart @@ -25,7 +25,7 @@ Future testMain() async { }); tearDown(() { - for (html.Node scene in html.document.querySelectorAll('flt-scene')) { + for (final html.Node scene in html.document.querySelectorAll('flt-scene')) { scene.remove(); } }); diff --git a/engine/src/flutter/lib/web_ui/test/html/drawing/canvas_stroke_joins_golden_test.dart b/engine/src/flutter/lib/web_ui/test/html/drawing/canvas_stroke_joins_golden_test.dart index 751dbc1b501..ab82aaa15ed 100644 --- a/engine/src/flutter/lib/web_ui/test/html/drawing/canvas_stroke_joins_golden_test.dart +++ b/engine/src/flutter/lib/web_ui/test/html/drawing/canvas_stroke_joins_golden_test.dart @@ -49,7 +49,7 @@ void paintStrokeJoins(BitmapCanvas canvas) { Offset end = Offset(120, 20); final List strokeCaps = [StrokeCap.butt, StrokeCap.round, StrokeCap.square]; - for (StrokeCap cap in strokeCaps) { + for (final StrokeCap cap in strokeCaps) { final List joints = [StrokeJoin.miter, StrokeJoin.bevel, StrokeJoin.round]; final List colors = [Color(0xFFF44336), Color(0xFF4CAF50), Color(0xFF2196F3)]; // red, green, blue for (int i = 0; i < joints.length; i++) { diff --git a/engine/src/flutter/lib/web_ui/test/html/paragraph/general_golden_test.dart b/engine/src/flutter/lib/web_ui/test/html/paragraph/general_golden_test.dart index ae251a21bad..49b4198571b 100644 --- a/engine/src/flutter/lib/web_ui/test/html/paragraph/general_golden_test.dart +++ b/engine/src/flutter/lib/web_ui/test/html/paragraph/general_golden_test.dart @@ -350,7 +350,7 @@ Future testMain() async { final CanvasParagraph paragraph = rich( EngineParagraphStyle(fontFamily: 'Roboto'), (CanvasParagraphBuilder builder) { - for (TextDecorationStyle decorationStyle in decorationStyles) { + for (final TextDecorationStyle decorationStyle in decorationStyles) { builder.pushStyle(EngineTextStyle.only( color: const Color.fromRGBO(50, 50, 255, 1.0), decoration: TextDecoration.underline, diff --git a/engine/src/flutter/lib/web_ui/test/html/paragraph/placeholders_golden_test.dart b/engine/src/flutter/lib/web_ui/test/html/paragraph/placeholders_golden_test.dart index 2cc2bcf5a63..b9d7c43ee71 100644 --- a/engine/src/flutter/lib/web_ui/test/html/paragraph/placeholders_golden_test.dart +++ b/engine/src/flutter/lib/web_ui/test/html/paragraph/placeholders_golden_test.dart @@ -27,7 +27,7 @@ Future testMain() async { final BitmapCanvas canvas = BitmapCanvas(bounds, RenderStrategy()); Offset offset = Offset.zero; - for (PlaceholderAlignment placeholderAlignment in PlaceholderAlignment.values) { + for (final PlaceholderAlignment placeholderAlignment in PlaceholderAlignment.values) { final CanvasParagraph paragraph = rich( EngineParagraphStyle(fontFamily: 'Roboto', fontSize: 14.0), (CanvasParagraphBuilder builder) { @@ -67,7 +67,7 @@ Future testMain() async { ]; Offset offset = Offset.zero; - for (TextAlign align in aligns) { + for (final TextAlign align in aligns) { final CanvasParagraph paragraph = rich( EngineParagraphStyle(fontFamily: 'Roboto', fontSize: 14.0, textAlign: align), (CanvasParagraphBuilder builder) { @@ -101,7 +101,7 @@ Future testMain() async { ]; Offset offset = Offset.zero; - for (TextAlign align in aligns) { + for (final TextAlign align in aligns) { final CanvasParagraph paragraph = rich( EngineParagraphStyle(fontFamily: 'Roboto', fontSize: 14.0, textAlign: align), (CanvasParagraphBuilder builder) { diff --git a/engine/src/flutter/lib/web_ui/test/html/paragraph/text_placeholders_golden_test.dart b/engine/src/flutter/lib/web_ui/test/html/paragraph/text_placeholders_golden_test.dart index b792da6f996..5eb85870e04 100644 --- a/engine/src/flutter/lib/web_ui/test/html/paragraph/text_placeholders_golden_test.dart +++ b/engine/src/flutter/lib/web_ui/test/html/paragraph/text_placeholders_golden_test.dart @@ -32,7 +32,7 @@ Future testMain() async { final RecordingCanvas recordingCanvas = RecordingCanvas(screenRect); Offset offset = Offset.zero; - for (PlaceholderAlignment placeholderAlignment + for (final PlaceholderAlignment placeholderAlignment in PlaceholderAlignment.values) { _paintTextWithPlaceholder( recordingCanvas, diff --git a/engine/src/flutter/lib/web_ui/test/html/paragraph/text_style_golden_test.dart b/engine/src/flutter/lib/web_ui/test/html/paragraph/text_style_golden_test.dart index ae1ed58f149..dfc9447cb57 100644 --- a/engine/src/flutter/lib/web_ui/test/html/paragraph/text_style_golden_test.dart +++ b/engine/src/flutter/lib/web_ui/test/html/paragraph/text_style_golden_test.dart @@ -67,7 +67,7 @@ Future testMain() async { Offset offset = Offset.zero; - for (TextDecorationStyle decorationStyle in decorationStyles) { + for (final TextDecorationStyle decorationStyle in decorationStyles) { final TextStyle textStyle = TextStyle( color: const Color.fromRGBO(50, 50, 255, 1.0), decoration: TextDecoration.underline, @@ -106,7 +106,7 @@ Future testMain() async { Offset offset = Offset.zero; - for (TextDecoration decoration in decorations) { + for (final TextDecoration decoration in decorations) { final TextStyle textStyle = TextStyle( color: const Color.fromRGBO(50, 50, 255, 1.0), decoration: decoration, diff --git a/engine/src/flutter/lib/web_ui/test/html/path_metrics_golden_test.dart b/engine/src/flutter/lib/web_ui/test/html/path_metrics_golden_test.dart index a49ce8d9f45..046f820468a 100644 --- a/engine/src/flutter/lib/web_ui/test/html/path_metrics_golden_test.dart +++ b/engine/src/flutter/lib/web_ui/test/html/path_metrics_golden_test.dart @@ -127,7 +127,7 @@ Future testMain() async { final List metrics = path.computeMetrics().toList(); double totalLength = 0; - for (PathMetric m in metrics) { + for (final PathMetric m in metrics) { totalLength += m.length; } final Path dashedPath = Path(); @@ -181,7 +181,7 @@ Future testMain() async { final List metrics = path.computeMetrics().toList(); double totalLength = 0; - for (PathMetric m in metrics) { + for (final PathMetric m in metrics) { totalLength += m.length; } final Path dashedPath = Path(); diff --git a/engine/src/flutter/lib/web_ui/test/html/path_to_svg_golden_test.dart b/engine/src/flutter/lib/web_ui/test/html/path_to_svg_golden_test.dart index 7e26c867e9c..05a6c44b569 100644 --- a/engine/src/flutter/lib/web_ui/test/html/path_to_svg_golden_test.dart +++ b/engine/src/flutter/lib/web_ui/test/html/path_to_svg_golden_test.dart @@ -124,7 +124,7 @@ Future testMain() async { largeArc: true, clockwise: true, distance: -20) ]; int sampleIndex = 0; - for (ArcSample sample in arcs) { + for (final ArcSample sample in arcs) { ++sampleIndex; final Path path = sample.createPath(); await testPath(path, 'svg_arc_$sampleIndex'); diff --git a/engine/src/flutter/lib/web_ui/test/html/screenshot.dart b/engine/src/flutter/lib/web_ui/test/html/screenshot.dart index a3379a1d89f..825fac66d55 100644 --- a/engine/src/flutter/lib/web_ui/test/html/screenshot.dart +++ b/engine/src/flutter/lib/web_ui/test/html/screenshot.dart @@ -26,7 +26,7 @@ Future canvasScreenshot(RecordingCanvas rc, String fileName, if (setupPerspective) { // iFrame disables perspective, set it explicitly for test. engineCanvas.rootElement.style.perspective = '400px'; - for (html.Element element in engineCanvas.rootElement.querySelectorAll( + for (final html.Element element in engineCanvas.rootElement.querySelectorAll( 'div')) { element.style.perspective = '400px'; } diff --git a/engine/src/flutter/lib/web_ui/test/html/shaders/linear_gradient_golden_test.dart b/engine/src/flutter/lib/web_ui/test/html/shaders/linear_gradient_golden_test.dart index a2fbba61d02..5b18d1d5cbb 100644 --- a/engine/src/flutter/lib/web_ui/test/html/shaders/linear_gradient_golden_test.dart +++ b/engine/src/flutter/lib/web_ui/test/html/shaders/linear_gradient_golden_test.dart @@ -46,7 +46,7 @@ Future testMain() async { RecordingCanvas(const Rect.fromLTRB(0, 0, 500, 500)); final List angles = [0.0, 90.0, 180.0]; double yOffset = 0; - for (double angle in angles) { + for (final double angle in angles) { final Rect shaderRect = Rect.fromLTWH(50, 50 + yOffset, 100, 100); final Matrix4 matrix = Matrix4.identity(); matrix.translate(shaderRect.left, shaderRect.top); @@ -95,7 +95,7 @@ Future testMain() async { RecordingCanvas(const Rect.fromLTRB(0, 0, 500, 500)); final List angles = [0.0, 30.0, 210.0]; double yOffset = 0; - for (double angle in angles) { + for (final double angle in angles) { final Rect shaderRect = Rect.fromLTWH(50, 50 + yOffset, 100, 100); final SurfacePaint paint = SurfacePaint() ..shader = Gradient.linear( @@ -122,7 +122,7 @@ Future testMain() async { RecordingCanvas(const Rect.fromLTRB(0, 0, 500, 500)); final List angles = [0.0, 30.0, 210.0]; double yOffset = 0; - for (double angle in angles) { + for (final double angle in angles) { final Rect shaderRect = Rect.fromLTWH(50, 50 + yOffset, 100, 100); final SurfacePaint paint = SurfacePaint() ..shader = Gradient.linear( diff --git a/engine/src/flutter/lib/web_ui/test/html/shaders/shader_mask_golden_test.dart b/engine/src/flutter/lib/web_ui/test/html/shaders/shader_mask_golden_test.dart index 0b3eece4fcc..2832ba4eeb5 100644 --- a/engine/src/flutter/lib/web_ui/test/html/shaders/shader_mask_golden_test.dart +++ b/engine/src/flutter/lib/web_ui/test/html/shaders/shader_mask_golden_test.dart @@ -33,7 +33,7 @@ Future testMain() async { setUp(() async { debugShowClipLayers = true; SurfaceSceneBuilder.debugForgetFrameScene(); - for (html.Node scene in + for (final html.Node scene in domRenderer.sceneHostElement!.querySelectorAll('flt-scene')) { scene.remove(); } diff --git a/engine/src/flutter/lib/web_ui/test/matchers.dart b/engine/src/flutter/lib/web_ui/test/matchers.dart index a8bafad29fb..e6b6c0a1678 100644 --- a/engine/src/flutter/lib/web_ui/test/matchers.dart +++ b/engine/src/flutter/lib/web_ui/test/matchers.dart @@ -378,7 +378,7 @@ String canonicalizeHtml(String htmlContent, 'is $mode. The HTML was:\n\n$htmlContent'); } - for (html_package.Node child in original.nodes) { + for (final html_package.Node child in original.nodes) { if (child is html_package.Text && child.text.trim().isEmpty) { continue; } @@ -398,7 +398,7 @@ String canonicalizeHtml(String htmlContent, final html_package.DocumentFragment cleanDom = html_package.DocumentFragment(); - for (html_package.Element child in originalDom.children) { + for (final html_package.Element child in originalDom.children) { cleanDom.append(_cleanup(child)); } diff --git a/engine/src/flutter/lib/web_ui/test/paragraph_test.dart b/engine/src/flutter/lib/web_ui/test/paragraph_test.dart index 61757829c32..12af86413c9 100644 --- a/engine/src/flutter/lib/web_ui/test/paragraph_test.dart +++ b/engine/src/flutter/lib/web_ui/test/paragraph_test.dart @@ -46,7 +46,7 @@ Future testMain() async { const double kAhemBaselineRatio = 1.25; testEachMeasurement('predictably lays out a single-line paragraph', () { - for (double fontSize in [10.0, 20.0, 30.0, 40.0]) { + for (final double fontSize in [10.0, 20.0, 30.0, 40.0]) { final ParagraphBuilder builder = ParagraphBuilder(ParagraphStyle( fontFamily: 'Ahem', fontStyle: FontStyle.normal, @@ -70,7 +70,7 @@ Future testMain() async { }); testEachMeasurement('predictably lays out a multi-line paragraph', () { - for (double fontSize in [10.0, 20.0, 30.0, 40.0]) { + for (final double fontSize in [10.0, 20.0, 30.0, 40.0]) { final ParagraphBuilder builder = ParagraphBuilder(ParagraphStyle( fontFamily: 'Ahem', fontStyle: FontStyle.normal, @@ -97,7 +97,7 @@ Future testMain() async { }); testEachMeasurement('predictably lays out a single-line rich paragraph', () { - for (double fontSize in [10.0, 20.0, 30.0, 40.0]) { + for (final double fontSize in [10.0, 20.0, 30.0, 40.0]) { final ParagraphBuilder builder = ParagraphBuilder(ParagraphStyle( fontFamily: 'Ahem', fontStyle: FontStyle.normal, @@ -122,7 +122,7 @@ Future testMain() async { skip: browserEngine != BrowserEngine.blink); testEachMeasurement('predictably lays out a multi-line rich paragraph', () { - for (double fontSize in [10.0, 20.0, 30.0, 40.0]) { + for (final double fontSize in [10.0, 20.0, 30.0, 40.0]) { final ParagraphBuilder builder = ParagraphBuilder(ParagraphStyle( fontFamily: 'Ahem', fontStyle: FontStyle.normal, diff --git a/engine/src/flutter/lib/web_ui/test/text/line_breaker_test.dart b/engine/src/flutter/lib/web_ui/test/text/line_breaker_test.dart index a36b424d000..6c36931989b 100644 --- a/engine/src/flutter/lib/web_ui/test/text/line_breaker_test.dart +++ b/engine/src/flutter/lib/web_ui/test/text/line_breaker_test.dart @@ -321,7 +321,7 @@ List split(String text) { final List lines = []; int lastIndex = 0; - for (LineBreakResult brk in findBreaks(text)) { + for (final LineBreakResult brk in findBreaks(text)) { lines.add(Line(text.substring(lastIndex, brk.index), brk.type)); lastIndex = brk.index; } diff --git a/engine/src/flutter/lib/web_ui/test/text/word_breaker_test.dart b/engine/src/flutter/lib/web_ui/test/text/word_breaker_test.dart index dbbd7fbff09..4b37f85d25d 100644 --- a/engine/src/flutter/lib/web_ui/test/text/word_breaker_test.dart +++ b/engine/src/flutter/lib/web_ui/test/text/word_breaker_test.dart @@ -140,7 +140,7 @@ void expectWords(String text, List expectedWords) { int strIndex = 0; // Forward word break lookup. - for (String word in expectedWords) { + for (final String word in expectedWords) { final int nextBreak = WordBreaker.nextBreakIndex(text, strIndex); expect( nextBreak, strIndex + word.length, @@ -151,7 +151,7 @@ void expectWords(String text, List expectedWords) { // Backward word break lookup. strIndex = text.length; - for (String word in expectedWords.reversed) { + for (final String word in expectedWords.reversed) { final int prevBreak = WordBreaker.prevBreakIndex(text, strIndex); expect( prevBreak, strIndex - word.length, diff --git a/engine/src/flutter/lib/web_ui/test/text_test.dart b/engine/src/flutter/lib/web_ui/test/text_test.dart index 1d8805536b5..8abf5fa39d1 100644 --- a/engine/src/flutter/lib/web_ui/test/text_test.dart +++ b/engine/src/flutter/lib/web_ui/test/text_test.dart @@ -32,7 +32,7 @@ Future testMain() async { }); test('predictably lays out a single-line paragraph', () { - for (double fontSize in [10.0, 20.0, 30.0, 40.0]) { + for (final double fontSize in [10.0, 20.0, 30.0, 40.0]) { final ParagraphBuilder builder = ParagraphBuilder(ParagraphStyle( fontFamily: 'Ahem', fontStyle: FontStyle.normal, @@ -58,7 +58,7 @@ Future testMain() async { }); test('predictably lays out a multi-line paragraph', () { - for (double fontSize in [10.0, 20.0, 30.0, 40.0]) { + for (final double fontSize in [10.0, 20.0, 30.0, 40.0]) { final ParagraphBuilder builder = ParagraphBuilder(ParagraphStyle( fontFamily: 'Ahem', fontStyle: FontStyle.normal, diff --git a/engine/src/flutter/lib/web_ui/tool/unicode_sync_script.dart b/engine/src/flutter/lib/web_ui/tool/unicode_sync_script.dart index 5a74acc4b4f..4123a6073c5 100644 --- a/engine/src/flutter/lib/web_ui/tool/unicode_sync_script.dart +++ b/engine/src/flutter/lib/web_ui/tool/unicode_sync_script.dart @@ -479,7 +479,7 @@ void verifyNoOverlappingRanges(List data) { List extractHeader(List lines) { final List headerLines = []; - for (String line in lines) { + for (final String line in lines) { if (line.trim() == '#' || line.trim().isEmpty) { break; }