diff --git a/packages/flutter_test/lib/src/_matchers_web.dart b/packages/flutter_test/lib/src/_matchers_web.dart index ed6206fd638..e9d15a7f59a 100644 --- a/packages/flutter_test/lib/src/_matchers_web.dart +++ b/packages/flutter_test/lib/src/_matchers_web.dart @@ -59,69 +59,37 @@ class MatchesGoldenFile extends AsyncMatcher { return 'matched too many widgets'; } final Element element = elements.single; - final RenderObject renderObject = _findRepaintBoundary(element); - final Size size = renderObject.paintBounds.size; - final TestWidgetsFlutterBinding binding = TestWidgetsFlutterBinding.instance; - final ui.FlutterView view = binding.platformDispatcher.implicitView!; - final RenderView renderView = binding.renderViews.firstWhere( - (RenderView r) => r.flutterView == view, - ); - if (isSkiaWeb) { - // In CanvasKit and Skwasm, use Layer.toImage to generate the screenshot. - final TestWidgetsFlutterBinding binding = TestWidgetsFlutterBinding.instance; - return binding.runAsync(() async { - assert(element.renderObject != null); - RenderObject renderObject = element.renderObject!; - while (!renderObject.isRepaintBoundary) { - renderObject = renderObject.parent!; + // In CanvasKit and Skwasm, use Layer.toImage to generate the screenshot. + final TestWidgetsFlutterBinding binding = TestWidgetsFlutterBinding.instance; + return binding.runAsync(() async { + assert(element.renderObject != null); + RenderObject renderObject = element.renderObject!; + while (!renderObject.isRepaintBoundary) { + renderObject = renderObject.parent!; + } + assert(!renderObject.debugNeedsPaint); + final OffsetLayer layer = renderObject.debugLayer! as OffsetLayer; + final ui.Image image = await layer.toImage(renderObject.paintBounds); + try { + final ByteData? bytes = await image.toByteData(format: ui.ImageByteFormat.png); + if (bytes == null) { + return 'could not encode screenshot.'; } - assert(!renderObject.debugNeedsPaint); - final OffsetLayer layer = renderObject.debugLayer! as OffsetLayer; - final ui.Image image = await layer.toImage(renderObject.paintBounds); - try { - final ByteData? bytes = await image.toByteData(format: ui.ImageByteFormat.png); - if (bytes == null) { - return 'could not encode screenshot.'; - } - if (autoUpdateGoldenFiles) { - await goldenFileComparator.update(key, bytes.buffer.asUint8List()); - return null; - } - try { - final bool success = await goldenFileComparator.compare( - bytes.buffer.asUint8List(), - key, - ); - return success ? null : 'does not match'; - } on TestFailure catch (ex) { - return ex.message; - } - } finally { - image.dispose(); - } - }); - } else { - // In the HTML renderer, we don't have the ability to render an element - // to an image directly. Instead, we will use `window.render()` to render - // only the element being requested, and send a request to the test server - // requesting it to take a screenshot through the browser's debug interface. - _renderElement(view, renderObject); - final String? result = await binding.runAsync(() async { if (autoUpdateGoldenFiles) { - await webGoldenComparator.update(size.width, size.height, key); + await goldenFileComparator.update(key, bytes.buffer.asUint8List()); return null; } try { - final bool success = await webGoldenComparator.compare(size.width, size.height, key); + final bool success = await goldenFileComparator.compare(bytes.buffer.asUint8List(), key); return success ? null : 'does not match'; } on TestFailure catch (ex) { return ex.message; } - }); - _renderElement(view, renderView); - return result; - } + } finally { + image.dispose(); + } + }); } @override @@ -130,27 +98,3 @@ class MatchesGoldenFile extends AsyncMatcher { return description.add('one widget whose rasterized image matches golden image "$testNameUri"'); } } - -RenderObject _findRepaintBoundary(Element element) { - assert(element.renderObject != null); - RenderObject renderObject = element.renderObject!; - while (!renderObject.isRepaintBoundary) { - renderObject = renderObject.parent!; - } - return renderObject; -} - -void _renderElement(ui.FlutterView window, RenderObject renderObject) { - assert(renderObject.debugLayer != null); - final Layer layer = renderObject.debugLayer!; - final ui.SceneBuilder sceneBuilder = ui.SceneBuilder(); - if (layer is OffsetLayer) { - sceneBuilder.pushOffset(-layer.offset.dx, -layer.offset.dy); - } - // ignore: invalid_use_of_visible_for_testing_member, invalid_use_of_protected_member - layer.updateSubtreeNeedsAddToScene(); - // ignore: invalid_use_of_protected_member - layer.addToScene(sceneBuilder); - sceneBuilder.pop(); - window.render(sceneBuilder.build()); -} diff --git a/packages/flutter_tools/lib/src/artifacts.dart b/packages/flutter_tools/lib/src/artifacts.dart index 835d396c561..b7422ab75d0 100644 --- a/packages/flutter_tools/lib/src/artifacts.dart +++ b/packages/flutter_tools/lib/src/artifacts.dart @@ -103,21 +103,14 @@ enum HostArtifact { /// The precompiled SDKs and sourcemaps for web debug builds with the AMD module system. // TODO(markzipan): delete these when DDC's AMD module system is deprecated, https://github.com/flutter/flutter/issues/142060. - webPrecompiledAmdSdk, - webPrecompiledAmdSdkSourcemaps, webPrecompiledAmdCanvaskitSdk, webPrecompiledAmdCanvaskitSdkSourcemaps, - webPrecompiledAmdCanvaskitAndHtmlSdk, - webPrecompiledAmdCanvaskitAndHtmlSdkSourcemaps, /// The precompiled SDKs and sourcemaps for web debug builds with the DDC - /// library bundle module system. - webPrecompiledDdcLibraryBundleSdk, - webPrecompiledDdcLibraryBundleSdkSourcemaps, + /// library bundle module system. Only SDKs built with sound null-safety are + /// provided here. webPrecompiledDdcLibraryBundleCanvaskitSdk, webPrecompiledDdcLibraryBundleCanvaskitSdkSourcemaps, - webPrecompiledDdcLibraryBundleCanvaskitAndHtmlSdk, - webPrecompiledDdcLibraryBundleCanvaskitAndHtmlSdkSourcemaps, iosDeploy, idevicesyslog, @@ -263,19 +256,11 @@ String _hostArtifactToFileName(HostArtifact artifact, Platform platform) { return 'dart2js_platform.dill'; case HostArtifact.flutterWebLibrariesJson: return 'libraries.json'; - case HostArtifact.webPrecompiledAmdSdk: case HostArtifact.webPrecompiledAmdCanvaskitSdk: - case HostArtifact.webPrecompiledAmdCanvaskitAndHtmlSdk: - case HostArtifact.webPrecompiledDdcLibraryBundleSdk: case HostArtifact.webPrecompiledDdcLibraryBundleCanvaskitSdk: - case HostArtifact.webPrecompiledDdcLibraryBundleCanvaskitAndHtmlSdk: return 'dart_sdk.js'; - case HostArtifact.webPrecompiledAmdSdkSourcemaps: case HostArtifact.webPrecompiledAmdCanvaskitSdkSourcemaps: - case HostArtifact.webPrecompiledAmdCanvaskitAndHtmlSdkSourcemaps: - case HostArtifact.webPrecompiledDdcLibraryBundleSdkSourcemaps: case HostArtifact.webPrecompiledDdcLibraryBundleCanvaskitSdkSourcemaps: - case HostArtifact.webPrecompiledDdcLibraryBundleCanvaskitAndHtmlSdkSourcemaps: return 'dart_sdk.js.map'; case HostArtifact.impellerc: return 'impellerc$exe'; @@ -459,15 +444,6 @@ class CachedArtifacts implements Artifacts { _hostArtifactToFileName(artifact, _platform), ); return _fileSystem.file(path); - case HostArtifact.webPrecompiledAmdSdk: - case HostArtifact.webPrecompiledAmdSdkSourcemaps: - final String path = _fileSystem.path.join( - _getFlutterWebSdkPath(), - 'kernel', - 'amd', - _hostArtifactToFileName(artifact, _platform), - ); - return _fileSystem.file(path); case HostArtifact.webPrecompiledAmdCanvaskitSdk: case HostArtifact.webPrecompiledAmdCanvaskitSdkSourcemaps: final String path = _fileSystem.path.join( @@ -477,24 +453,6 @@ class CachedArtifacts implements Artifacts { _hostArtifactToFileName(artifact, _platform), ); return _fileSystem.file(path); - case HostArtifact.webPrecompiledAmdCanvaskitAndHtmlSdk: - case HostArtifact.webPrecompiledAmdCanvaskitAndHtmlSdkSourcemaps: - final String path = _fileSystem.path.join( - _getFlutterWebSdkPath(), - 'kernel', - 'amd-canvaskit-html', - _hostArtifactToFileName(artifact, _platform), - ); - return _fileSystem.file(path); - case HostArtifact.webPrecompiledDdcLibraryBundleSdk: - case HostArtifact.webPrecompiledDdcLibraryBundleSdkSourcemaps: - final String path = _fileSystem.path.join( - _getFlutterWebSdkPath(), - 'kernel', - 'ddcLibraryBundle', - _hostArtifactToFileName(artifact, _platform), - ); - return _fileSystem.file(path); case HostArtifact.webPrecompiledDdcLibraryBundleCanvaskitSdk: case HostArtifact.webPrecompiledDdcLibraryBundleCanvaskitSdkSourcemaps: final String path = _fileSystem.path.join( @@ -504,15 +462,6 @@ class CachedArtifacts implements Artifacts { _hostArtifactToFileName(artifact, _platform), ); return _fileSystem.file(path); - case HostArtifact.webPrecompiledDdcLibraryBundleCanvaskitAndHtmlSdk: - case HostArtifact.webPrecompiledDdcLibraryBundleCanvaskitAndHtmlSdkSourcemaps: - final String path = _fileSystem.path.join( - _getFlutterWebSdkPath(), - 'kernel', - 'ddcLibraryBundle-canvaskit-html', - _hostArtifactToFileName(artifact, _platform), - ); - return _fileSystem.file(path); case HostArtifact.idevicesyslog: case HostArtifact.idevicescreenshot: final String artifactFileName = _hostArtifactToFileName(artifact, _platform); @@ -1162,15 +1111,6 @@ class CachedLocalEngineArtifacts implements Artifacts { _hostArtifactToFileName(artifact, _platform), ); return _fileSystem.file(path); - case HostArtifact.webPrecompiledAmdSdk: - case HostArtifact.webPrecompiledAmdSdkSourcemaps: - final String path = _fileSystem.path.join( - _getFlutterWebSdkPath(), - 'kernel', - 'amd', - _hostArtifactToFileName(artifact, _platform), - ); - return _fileSystem.file(path); case HostArtifact.webPrecompiledAmdCanvaskitSdk: case HostArtifact.webPrecompiledAmdCanvaskitSdkSourcemaps: final String path = _fileSystem.path.join( @@ -1180,24 +1120,6 @@ class CachedLocalEngineArtifacts implements Artifacts { _hostArtifactToFileName(artifact, _platform), ); return _fileSystem.file(path); - case HostArtifact.webPrecompiledAmdCanvaskitAndHtmlSdk: - case HostArtifact.webPrecompiledAmdCanvaskitAndHtmlSdkSourcemaps: - final String path = _fileSystem.path.join( - _getFlutterWebSdkPath(), - 'kernel', - 'amd-canvaskit-html', - _hostArtifactToFileName(artifact, _platform), - ); - return _fileSystem.file(path); - case HostArtifact.webPrecompiledDdcLibraryBundleSdk: - case HostArtifact.webPrecompiledDdcLibraryBundleSdkSourcemaps: - final String path = _fileSystem.path.join( - _getFlutterWebSdkPath(), - 'kernel', - 'ddcLibraryBundle', - _hostArtifactToFileName(artifact, _platform), - ); - return _fileSystem.file(path); case HostArtifact.webPrecompiledDdcLibraryBundleCanvaskitSdk: case HostArtifact.webPrecompiledDdcLibraryBundleCanvaskitSdkSourcemaps: final String path = _fileSystem.path.join( @@ -1207,15 +1129,6 @@ class CachedLocalEngineArtifacts implements Artifacts { _hostArtifactToFileName(artifact, _platform), ); return _fileSystem.file(path); - case HostArtifact.webPrecompiledDdcLibraryBundleCanvaskitAndHtmlSdk: - case HostArtifact.webPrecompiledDdcLibraryBundleCanvaskitAndHtmlSdkSourcemaps: - final String path = _fileSystem.path.join( - _getFlutterWebSdkPath(), - 'kernel', - 'ddcLibraryBundle-canvaskit-html', - _hostArtifactToFileName(artifact, _platform), - ); - return _fileSystem.file(path); case HostArtifact.idevicesyslog: case HostArtifact.idevicescreenshot: final String artifactFileName = _hostArtifactToFileName(artifact, _platform); @@ -1569,15 +1482,6 @@ class CachedLocalWebSdkArtifacts implements Artifacts { _hostArtifactToFileName(artifact, _platform), ); return _fileSystem.file(path); - case HostArtifact.webPrecompiledAmdSdk: - case HostArtifact.webPrecompiledAmdSdkSourcemaps: - final String path = _fileSystem.path.join( - _getFlutterWebSdkPath(), - 'kernel', - 'amd', - _hostArtifactToFileName(artifact, _platform), - ); - return _fileSystem.file(path); case HostArtifact.webPrecompiledAmdCanvaskitSdk: case HostArtifact.webPrecompiledAmdCanvaskitSdkSourcemaps: final String path = _fileSystem.path.join( @@ -1587,24 +1491,6 @@ class CachedLocalWebSdkArtifacts implements Artifacts { _hostArtifactToFileName(artifact, _platform), ); return _fileSystem.file(path); - case HostArtifact.webPrecompiledAmdCanvaskitAndHtmlSdk: - case HostArtifact.webPrecompiledAmdCanvaskitAndHtmlSdkSourcemaps: - final String path = _fileSystem.path.join( - _getFlutterWebSdkPath(), - 'kernel', - 'amd-canvaskit-html', - _hostArtifactToFileName(artifact, _platform), - ); - return _fileSystem.file(path); - case HostArtifact.webPrecompiledDdcLibraryBundleSdk: - case HostArtifact.webPrecompiledDdcLibraryBundleSdkSourcemaps: - final String path = _fileSystem.path.join( - _getFlutterWebSdkPath(), - 'kernel', - 'ddcLibraryBundle', - _hostArtifactToFileName(artifact, _platform), - ); - return _fileSystem.file(path); case HostArtifact.webPrecompiledDdcLibraryBundleCanvaskitSdk: case HostArtifact.webPrecompiledDdcLibraryBundleCanvaskitSdkSourcemaps: final String path = _fileSystem.path.join( @@ -1614,15 +1500,6 @@ class CachedLocalWebSdkArtifacts implements Artifacts { _hostArtifactToFileName(artifact, _platform), ); return _fileSystem.file(path); - case HostArtifact.webPrecompiledDdcLibraryBundleCanvaskitAndHtmlSdk: - case HostArtifact.webPrecompiledDdcLibraryBundleCanvaskitAndHtmlSdkSourcemaps: - final String path = _fileSystem.path.join( - _getFlutterWebSdkPath(), - 'kernel', - 'ddcLibraryBundle-canvaskit-html', - _hostArtifactToFileName(artifact, _platform), - ); - return _fileSystem.file(path); case HostArtifact.iosDeploy: case HostArtifact.idevicesyslog: case HostArtifact.idevicescreenshot: diff --git a/packages/flutter_tools/lib/src/commands/build_web.dart b/packages/flutter_tools/lib/src/commands/build_web.dart index 3290472f63e..71e6aca7d5f 100644 --- a/packages/flutter_tools/lib/src/commands/build_web.dart +++ b/packages/flutter_tools/lib/src/commands/build_web.dart @@ -169,9 +169,6 @@ class BuildWebCommand extends BuildSubCommand { final bool sourceMaps = boolArg('source-maps'); final List compilerConfigs; - if (webRenderer.isDeprecated) { - globals.logger.printWarning(webRenderer.deprecationWarning); - } if (useWasm) { if (webRenderer != WebRendererMode.getDefault(useWasm: true)) { diff --git a/packages/flutter_tools/lib/src/commands/run.dart b/packages/flutter_tools/lib/src/commands/run.dart index e4a3908b9c8..3cb2f34e8f2 100644 --- a/packages/flutter_tools/lib/src/commands/run.dart +++ b/packages/flutter_tools/lib/src/commands/run.dart @@ -672,10 +672,6 @@ class RunCommand extends RunCommandBase { throwToolExit('--wasm is only supported on the web platform'); } - if (webRenderer.isDeprecated) { - globals.logger.printWarning(webRenderer.deprecationWarning); - } - if (webRenderer == WebRendererMode.skwasm && !useWasm) { throwToolExit('Skwasm renderer requires --wasm'); } diff --git a/packages/flutter_tools/lib/src/commands/test.dart b/packages/flutter_tools/lib/src/commands/test.dart index d1a4d4e94ab..418f75ab8cd 100644 --- a/packages/flutter_tools/lib/src/commands/test.dart +++ b/packages/flutter_tools/lib/src/commands/test.dart @@ -592,10 +592,6 @@ class TestCommand extends FlutterCommand with DeviceBasedDevelopmentArtifacts { throwToolExit('Skwasm renderer requires --wasm'); } - if (webRenderer.isDeprecated) { - globals.logger.printWarning(webRenderer.deprecationWarning); - } - Device? integrationTestDevice; if (_isIntegrationTest) { integrationTestDevice = await findTargetDevice(); diff --git a/packages/flutter_tools/lib/src/test/flutter_web_platform.dart b/packages/flutter_tools/lib/src/test/flutter_web_platform.dart index 696d3c36ab0..4dc403beea3 100644 --- a/packages/flutter_tools/lib/src/test/flutter_web_platform.dart +++ b/packages/flutter_tools/lib/src/test/flutter_web_platform.dart @@ -17,7 +17,6 @@ import 'package:shelf_web_socket/shelf_web_socket.dart'; import 'package:stream_channel/stream_channel.dart'; import 'package:test_core/src/platform.dart'; // ignore: implementation_imports import 'package:web_socket_channel/web_socket_channel.dart'; -import 'package:webkit_inspection_protocol/webkit_inspection_protocol.dart' hide StackTrace; import '../artifacts.dart'; import '../base/common.dart'; @@ -451,49 +450,12 @@ class FlutterWebPlatform extends PlatformPlugin { json.decode(await request.readAsString()) as Map; final Uri goldenKey = Uri.parse(body['key']! as String); final Uri testUri = Uri.parse(body['testUri']! as String); - final num? width = body['width'] as num?; - final num? height = body['height'] as num?; Uint8List bytes; if (body.containsKey('bytes')) { bytes = base64.decode(body['bytes']! as String); } else { - // TODO(hterkelsen): Do not use browser screenshots for testing on the - // web once we transition off the HTML renderer. See: - // https://github.com/flutter/flutter/issues/135700 - try { - final ChromeTab chromeTab = - (await getChromeTabGuarded(_browserManager!._browser.chromeConnection, ( - ChromeTab tab, - ) { - return tab.url.contains(_browserManager!._browser.url!); - }))!; - final WipConnection connection = await chromeTab.connect(); - final WipResponse response = await connection.sendCommand( - 'Page.captureScreenshot', - { - // Clip the screenshot to include only the element. - // Prior to taking a screenshot, we are calling `window.render()` in - // `_matchers_web.dart` to only render the element on screen. That - // will make sure that the element will always be displayed on the - // origin of the screen. - 'clip': { - 'x': 0.0, - 'y': 0.0, - 'width': width!.toDouble(), - 'height': height!.toDouble(), - 'scale': 1.0, - }, - }, - ); - bytes = base64.decode(response.result!['data'] as String); - } on WipError catch (ex) { - _logger.printError('Caught WIPError: $ex'); - return shelf.Response.ok('WIP error: $ex'); - } on FormatException catch (ex) { - _logger.printError('Caught FormatException: $ex'); - return shelf.Response.ok('Caught exception: $ex'); - } + return shelf.Response.ok('Request must contain bytes in the body.'); } if (updateGoldens) { return switch (await _testGoldenComparator.update(testUri, bytes, goldenKey)) { diff --git a/packages/flutter_tools/lib/src/web/compile.dart b/packages/flutter_tools/lib/src/web/compile.dart index 1b216975365..de4c701b5c7 100644 --- a/packages/flutter_tools/lib/src/web/compile.dart +++ b/packages/flutter_tools/lib/src/web/compile.dart @@ -160,30 +160,19 @@ class WebBuilder { /// Web rendering backend mode. enum WebRendererMode { - /// Auto detects which rendering backend to use. - auto, - /// Always uses canvaskit. canvaskit, - /// Always uses html. - html, - /// Always use skwasm. skwasm; factory WebRendererMode.fromDartDefines(Iterable defines, {required bool useWasm}) { - if (defines.contains('FLUTTER_WEB_AUTO_DETECT=true')) { - return auto; - } else if (defines.contains('FLUTTER_WEB_USE_SKIA=false') && + if (defines.contains('FLUTTER_WEB_USE_SKIA=false') && defines.contains('FLUTTER_WEB_USE_SKWASM=true')) { return skwasm; } else if (defines.contains('FLUTTER_WEB_USE_SKIA=true') && defines.contains('FLUTTER_WEB_USE_SKWASM=false')) { return canvaskit; - } else if (defines.contains('FLUTTER_WEB_USE_SKIA=false') && - defines.contains('FLUTTER_WEB_USE_SKWASM=false')) { - return html; // The horror! } return getDefault(useWasm: useWasm); } @@ -195,30 +184,6 @@ enum WebRendererMode { static const WebRendererMode defaultForJs = WebRendererMode.canvaskit; static const WebRendererMode defaultForWasm = WebRendererMode.skwasm; - /// Returns whether the WebRendererMode is considered deprecated or not. - /// - /// Deprecated modes: auto, html. - bool get isDeprecated => switch (this) { - auto => true, - canvaskit => false, - html => true, - skwasm => false, - }; - - /// Returns a consistent deprecation warning for the WebRendererMode. - String get deprecationWarning => - 'The HTML Renderer is deprecated and will be removed. Please, stop using it.' - '\nSee: https://docs.flutter.dev/to/web-html-renderer-deprecation'; - - String get helpText => switch (this) { - auto => 'Use the HTML renderer on mobile devices, and CanvasKit on desktop devices.', - canvaskit => - 'Always use the CanvasKit renderer. This renderer uses WebGL and WebAssembly to render graphics.', - html => - 'Always use the HTML renderer. This renderer uses a combination of HTML, CSS, SVG, 2D Canvas, and WebGL.', - skwasm => 'Always use the experimental skwasm renderer.', - }; - /// Returns [dartDefines] in a way usable from the CLI. /// /// This is used to start integration tests. @@ -226,9 +191,7 @@ enum WebRendererMode { dartDefines.map((String define) => '--dart-define=$define'); Iterable get dartDefines => switch (this) { - auto => const {'FLUTTER_WEB_AUTO_DETECT=true'}, canvaskit => const {'FLUTTER_WEB_USE_SKIA=true', 'FLUTTER_WEB_USE_SKWASM=false'}, - html => const {'FLUTTER_WEB_USE_SKIA=false', 'FLUTTER_WEB_USE_SKWASM=false'}, skwasm => const {'FLUTTER_WEB_USE_SKIA=false', 'FLUTTER_WEB_USE_SKWASM=true'}, }; @@ -238,9 +201,7 @@ enum WebRendererMode { dartDefinesSet ..removeWhere((String d) { - return d.startsWith('FLUTTER_WEB_AUTO_DETECT=') || - d.startsWith('FLUTTER_WEB_USE_SKIA=') || - d.startsWith('FLUTTER_WEB_USE_SKWASM='); + return d.startsWith('FLUTTER_WEB_USE_SKIA=') || d.startsWith('FLUTTER_WEB_USE_SKWASM='); }) ..addAll(dartDefines); @@ -251,37 +212,28 @@ enum WebRendererMode { /// The correct precompiled artifact to use for each build and render mode for DDC with AMD modules. // TODO(markzipan): delete this when DDC's AMD module system is deprecated, https://github.com/flutter/flutter/issues/142060. const Map kAmdDartSdkJsArtifactMap = { - WebRendererMode.auto: HostArtifact.webPrecompiledAmdCanvaskitAndHtmlSdk, WebRendererMode.canvaskit: HostArtifact.webPrecompiledAmdCanvaskitSdk, - WebRendererMode.html: HostArtifact.webPrecompiledAmdSdk, }; /// The correct source map artifact to use for each build and render mode for DDC with AMD modules. // TODO(markzipan): delete this when DDC's AMD module system is deprecated, https://github.com/flutter/flutter/issues/142060. const Map kAmdDartSdkJsMapArtifactMap = { - WebRendererMode.auto: HostArtifact.webPrecompiledAmdCanvaskitAndHtmlSdkSourcemaps, WebRendererMode.canvaskit: HostArtifact.webPrecompiledAmdCanvaskitSdkSourcemaps, - WebRendererMode.html: HostArtifact.webPrecompiledAmdSdkSourcemaps, }; /// The correct precompiled artifact to use for each build and render mode for /// DDC with DDC library bundle module format. const Map kDdcLibraryBundleDartSdkJsArtifactMap = { - WebRendererMode.auto: HostArtifact.webPrecompiledDdcLibraryBundleCanvaskitAndHtmlSdk, WebRendererMode.canvaskit: HostArtifact.webPrecompiledDdcLibraryBundleCanvaskitSdk, - WebRendererMode.html: HostArtifact.webPrecompiledDdcLibraryBundleSdk, }; /// The correct source map artifact to use for each build and render mode for /// DDC with DDC library bundle module format. const Map kDdcLibraryBundleDartSdkJsMapArtifactMap = { - WebRendererMode.auto: - HostArtifact.webPrecompiledDdcLibraryBundleCanvaskitAndHtmlSdkSourcemaps, WebRendererMode.canvaskit: HostArtifact.webPrecompiledDdcLibraryBundleCanvaskitSdkSourcemaps, - WebRendererMode.html: HostArtifact.webPrecompiledDdcLibraryBundleSdkSourcemaps, }; String _buildEventAnalyticsSettings({required List configs}) { diff --git a/packages/flutter_tools/test/commands.shard/hermetic/build_web_test.dart b/packages/flutter_tools/test/commands.shard/hermetic/build_web_test.dart index 76b3dea300e..a68a6c950c5 100644 --- a/packages/flutter_tools/test/commands.shard/hermetic/build_web_test.dart +++ b/packages/flutter_tools/test/commands.shard/hermetic/build_web_test.dart @@ -4,7 +4,6 @@ import 'package:args/command_runner.dart'; import 'package:file/memory.dart'; -import 'package:flutter_tools/src/base/common.dart'; import 'package:flutter_tools/src/base/file_system.dart'; import 'package:flutter_tools/src/base/logger.dart'; import 'package:flutter_tools/src/base/platform.dart'; @@ -14,14 +13,12 @@ import 'package:flutter_tools/src/build_system/targets/web.dart'; import 'package:flutter_tools/src/cache.dart'; import 'package:flutter_tools/src/commands/build.dart'; import 'package:flutter_tools/src/commands/build_web.dart'; -import 'package:flutter_tools/src/dart/pub.dart'; import 'package:flutter_tools/src/features.dart'; import 'package:flutter_tools/src/runner/flutter_command.dart'; import 'package:flutter_tools/src/web/compile.dart'; import '../../src/common.dart'; import '../../src/context.dart'; -import '../../src/fake_pub_deps.dart'; import '../../src/fakes.dart'; import '../../src/test_build_system.dart'; import '../../src/test_flutter_command_runner.dart'; @@ -32,16 +29,6 @@ void main() { late BufferLogger logger; late ProcessManager processManager; - // TODO(matanlurey): Remove after `explicit-package-dependencies` is enabled by default. - // See https://github.com/flutter/flutter/issues/160257 for details. - FeatureFlags enableExplicitPackageDependencies() { - return TestFeatureFlags( - isExplicitPackageDependenciesEnabled: true, - // Assumed to be true below. - isWebEnabled: true, - ); - } - setUpAll(() { Cache.flutterRoot = ''; Cache.disableLocking(); @@ -459,42 +446,6 @@ void main() { }, ); - // Tests whether using a deprecated webRenderer toggles a warningText. - Future testWebRendererDeprecationMessage(WebRendererMode webRenderer) async { - testUsingContext( - 'Using the "${webRenderer.name}" renderer triggers a warningText.', - () async { - // Run the command so it parses the renderer, but ignore all errors. - // We only care about the logger. - try { - final TestWebBuildCommand buildCommand = TestWebBuildCommand(fileSystem: fileSystem); - await createTestCommandRunner( - buildCommand, - ).run(['build', 'web', '--no-pub', ...webRenderer.toCliDartDefines]); - } on ToolExit catch (error) { - expect(error, isA()); - } - expect( - logger.warningText, - contains('See: https://docs.flutter.dev/to/web-html-renderer-deprecation'), - ); - }, - overrides: { - Platform: () => fakePlatform, - FileSystem: () => fileSystem, - ProcessManager: () => processManager, - Logger: () => logger, - FeatureFlags: enableExplicitPackageDependencies, - Pub: FakePubWithPrimedDeps.new, - }, - ); - } - - /// Do test all the deprecated WebRendererModes - WebRendererMode.values - .where((WebRendererMode mode) => mode.isDeprecated) - .forEach(testWebRendererDeprecationMessage); - testUsingContext( 'flutter build web option visibility', () async { diff --git a/packages/flutter_tools/test/commands.shard/hermetic/flutter_web_platform_test.dart b/packages/flutter_tools/test/commands.shard/hermetic/flutter_web_platform_test.dart index ab38f8d9971..94f72f49ba1 100644 --- a/packages/flutter_tools/test/commands.shard/hermetic/flutter_web_platform_test.dart +++ b/packages/flutter_tools/test/commands.shard/hermetic/flutter_web_platform_test.dart @@ -53,12 +53,8 @@ void main() { tempDir = fileSystem.systemTempDirectory.createTempSync('flutter_web_platform_test.'); for (final HostArtifact artifact in [ - HostArtifact.webPrecompiledAmdCanvaskitAndHtmlSdk, HostArtifact.webPrecompiledAmdCanvaskitSdk, - HostArtifact.webPrecompiledAmdSdk, - HostArtifact.webPrecompiledDdcLibraryBundleCanvaskitAndHtmlSdk, HostArtifact.webPrecompiledDdcLibraryBundleCanvaskitSdk, - HostArtifact.webPrecompiledDdcLibraryBundleSdk, ]) { final File artifactFile = artifacts.getHostArtifact(artifact) as File; artifactFile.createSync(); diff --git a/packages/flutter_tools/test/commands.shard/hermetic/run_test.dart b/packages/flutter_tools/test/commands.shard/hermetic/run_test.dart index 48f0343c85c..ff3dca76aca 100644 --- a/packages/flutter_tools/test/commands.shard/hermetic/run_test.dart +++ b/packages/flutter_tools/test/commands.shard/hermetic/run_test.dart @@ -1107,39 +1107,6 @@ void main() { }, ); - // Tests whether using a deprecated webRenderer toggles a warningText. - Future testWebRendererDeprecationMessage(WebRendererMode webRenderer) async { - testUsingContext( - 'Using the "${webRenderer.name}" renderer triggers a warningText.', - () async { - // Run the command so it parses the renderer, but ignore all errors. - // We only care about the logger. - try { - await createTestCommandRunner( - RunCommand(), - ).run(['run', '--no-pub', ...webRenderer.toCliDartDefines]); - } on ToolExit catch (error) { - expect(error, isA()); - } - expect( - logger.warningText, - contains('See: https://docs.flutter.dev/to/web-html-renderer-deprecation'), - ); - }, - overrides: { - FileSystem: () => fileSystem, - ProcessManager: () => FakeProcessManager.any(), - Logger: () => logger, - DeviceManager: () => testDeviceManager, - }, - ); - } - - /// Do test all the deprecated WebRendererModes - WebRendererMode.values - .where((WebRendererMode mode) => mode.isDeprecated) - .forEach(testWebRendererDeprecationMessage); - testUsingContext( 'accepts headers with commas in them', () async { diff --git a/packages/flutter_tools/test/commands.shard/hermetic/test_test.dart b/packages/flutter_tools/test/commands.shard/hermetic/test_test.dart index 2f4e2912c73..ca84eaac9b1 100644 --- a/packages/flutter_tools/test/commands.shard/hermetic/test_test.dart +++ b/packages/flutter_tools/test/commands.shard/hermetic/test_test.dart @@ -1525,45 +1525,6 @@ dev_dependencies: ); }); - // Tests whether using a deprecated webRenderer toggles a warningText. - Future testWebRendererDeprecationMessage(WebRendererMode webRenderer) async { - testUsingContext( - 'Using the "${webRenderer.name}" renderer triggers a warningText.', - () async { - // Run the command so it parses the renderer, but ignore all errors. - // We only care about the logger. - try { - final FakeFlutterTestRunner testRunner = FakeFlutterTestRunner(0); - - final TestCommand testCommand = TestCommand(testRunner: testRunner); - await createTestCommandRunner(testCommand).run([ - 'test', - 'web', - '--no-pub', - '--platform=chrome', - ...webRenderer.toCliDartDefines, - ]); - } on ToolExit catch (error) { - expect(error, isA()); - } - expect( - logger.warningText, - contains('See: https://docs.flutter.dev/to/web-html-renderer-deprecation'), - ); - }, - overrides: { - FileSystem: () => fs, - ProcessManager: () => FakeProcessManager.any(), - Logger: () => logger, - }, - ); - } - - /// Do test all the deprecated WebRendererModes - WebRendererMode.values - .where((WebRendererMode mode) => mode.isDeprecated) - .forEach(testWebRendererDeprecationMessage); - testUsingContext( 'Can test in a pub workspace', () async { diff --git a/packages/flutter_tools/test/general.shard/artifacts_test.dart b/packages/flutter_tools/test/general.shard/artifacts_test.dart index f39afecae2a..47d907c118e 100644 --- a/packages/flutter_tools/test/general.shard/artifacts_test.dart +++ b/packages/flutter_tools/test/general.shard/artifacts_test.dart @@ -236,14 +236,6 @@ void main() { ); testWithoutContext('Precompiled web AMD module system artifact paths are correct', () { - expect( - artifacts.getHostArtifact(HostArtifact.webPrecompiledAmdSdk).path, - 'root/bin/cache/flutter_web_sdk/kernel/amd/dart_sdk.js', - ); - expect( - artifacts.getHostArtifact(HostArtifact.webPrecompiledAmdSdkSourcemaps).path, - 'root/bin/cache/flutter_web_sdk/kernel/amd/dart_sdk.js.map', - ); expect( artifacts.getHostArtifact(HostArtifact.webPrecompiledAmdCanvaskitSdk).path, 'root/bin/cache/flutter_web_sdk/kernel/amd-canvaskit/dart_sdk.js', @@ -257,14 +249,6 @@ void main() { testWithoutContext( 'Precompiled web DDC library bundle module system artifact paths are correct', () { - expect( - artifacts.getHostArtifact(HostArtifact.webPrecompiledDdcLibraryBundleSdk).path, - 'root/bin/cache/flutter_web_sdk/kernel/ddcLibraryBundle/dart_sdk.js', - ); - expect( - artifacts.getHostArtifact(HostArtifact.webPrecompiledDdcLibraryBundleSdkSourcemaps).path, - 'root/bin/cache/flutter_web_sdk/kernel/ddcLibraryBundle/dart_sdk.js.map', - ); expect( artifacts.getHostArtifact(HostArtifact.webPrecompiledDdcLibraryBundleCanvaskitSdk).path, 'root/bin/cache/flutter_web_sdk/kernel/ddcLibraryBundle-canvaskit/dart_sdk.js', diff --git a/packages/flutter_tools/test/general.shard/build_system/targets/web_defines_test.dart b/packages/flutter_tools/test/general.shard/build_system/targets/web_defines_test.dart index b54b89bb1ef..284c7b01af3 100644 --- a/packages/flutter_tools/test/general.shard/build_system/targets/web_defines_test.dart +++ b/packages/flutter_tools/test/general.shard/build_system/targets/web_defines_test.dart @@ -13,39 +13,17 @@ void main() { dartDefines = []; }); - test('auto web-renderer with no dart-defines', () { - dartDefines = WebRendererMode.auto.updateDartDefines(dartDefines); - expect(dartDefines, ['FLUTTER_WEB_AUTO_DETECT=true']); - }); - test('canvaskit web-renderer with no dart-defines', () { dartDefines = WebRendererMode.canvaskit.updateDartDefines(dartDefines); expect(dartDefines, ['FLUTTER_WEB_USE_SKIA=true', 'FLUTTER_WEB_USE_SKWASM=false']); }); - test('html web-renderer with no dart-defines', () { - dartDefines = WebRendererMode.html.updateDartDefines(dartDefines); - expect(dartDefines, ['FLUTTER_WEB_USE_SKIA=false', 'FLUTTER_WEB_USE_SKWASM=false']); - }); - - test('auto web-renderer with existing dart-defines', () { - dartDefines = ['FLUTTER_WEB_USE_SKIA=false']; - dartDefines = WebRendererMode.auto.updateDartDefines(dartDefines); - expect(dartDefines, ['FLUTTER_WEB_AUTO_DETECT=true']); - }); - test('canvaskit web-renderer with existing dart-defines', () { dartDefines = ['FLUTTER_WEB_USE_SKIA=false']; dartDefines = WebRendererMode.canvaskit.updateDartDefines(dartDefines); expect(dartDefines, ['FLUTTER_WEB_USE_SKIA=true', 'FLUTTER_WEB_USE_SKWASM=false']); }); - test('html web-renderer with existing dart-defines', () { - dartDefines = ['FLUTTER_WEB_USE_SKIA=true']; - dartDefines = WebRendererMode.html.updateDartDefines(dartDefines); - expect(dartDefines, ['FLUTTER_WEB_USE_SKIA=false', 'FLUTTER_WEB_USE_SKWASM=false']); - }); - test('skwasm web-renderer with existing dart-defines', () { dartDefines = ['FLUTTER_WEB_USE_SKWASM=false']; dartDefines = WebRendererMode.skwasm.updateDartDefines(dartDefines); diff --git a/packages/flutter_tools/test/general.shard/build_system/targets/web_test.dart b/packages/flutter_tools/test/general.shard/build_system/targets/web_test.dart index dd4d3c1a3f8..be14a814e52 100644 --- a/packages/flutter_tools/test/general.shard/build_system/targets/web_test.dart +++ b/packages/flutter_tools/test/general.shard/build_system/targets/web_test.dart @@ -1236,7 +1236,6 @@ void main() { JsCompilerConfig(optimizationLevel: 0), JsCompilerConfig(noFrequencyBasedMinification: true), JsCompilerConfig(sourceMaps: false), - JsCompilerConfig(renderer: WebRendererMode.html), // All properties non-default JsCompilerConfig( @@ -1246,7 +1245,6 @@ void main() { optimizationLevel: 0, noFrequencyBasedMinification: true, sourceMaps: false, - renderer: WebRendererMode.html, ), ]; diff --git a/packages/flutter_tools/test/general.shard/web/devfs_web_ddc_modules_test.dart b/packages/flutter_tools/test/general.shard/web/devfs_web_ddc_modules_test.dart index 08bfdacdc95..767a3e63d9c 100644 --- a/packages/flutter_tools/test/general.shard/web/devfs_web_ddc_modules_test.dart +++ b/packages/flutter_tools/test/general.shard/web/devfs_web_ddc_modules_test.dart @@ -807,7 +807,7 @@ void main() { chromiumLauncher: null, ddcModuleSystem: usesDdcModuleSystem, canaryFeatures: canaryFeatures, - webRenderer: WebRendererMode.html, + webRenderer: WebRendererMode.canvaskit, isWasm: false, useLocalCanvasKit: false, rootDirectory: globals.fs.currentDirectory, @@ -822,12 +822,6 @@ void main() { globals.fs.currentDirectory.childDirectory('lib').childFile('web_entrypoint.dart') ..createSync(recursive: true) ..writeAsStringSync('GENERATED'); - final String webPrecompiledSdk = - globals.artifacts!.getHostArtifact(HostArtifact.webPrecompiledDdcLibraryBundleSdk).path; - final String webPrecompiledSdkSourcemaps = - globals.artifacts! - .getHostArtifact(HostArtifact.webPrecompiledDdcLibraryBundleSdkSourcemaps) - .path; final String webPrecompiledCanvaskitSdk = globals.artifacts! .getHostArtifact(HostArtifact.webPrecompiledDdcLibraryBundleCanvaskitSdk) @@ -836,18 +830,12 @@ void main() { globals.artifacts! .getHostArtifact(HostArtifact.webPrecompiledDdcLibraryBundleCanvaskitSdkSourcemaps) .path; - globals.fs.file(webPrecompiledSdk) - ..createSync(recursive: true) - ..writeAsStringSync('HELLO'); - globals.fs.file(webPrecompiledSdkSourcemaps) - ..createSync(recursive: true) - ..writeAsStringSync('THERE'); globals.fs.file(webPrecompiledCanvaskitSdk) ..createSync(recursive: true) - ..writeAsStringSync('OL'); + ..writeAsStringSync('HELLO'); globals.fs.file(webPrecompiledCanvaskitSdkSourcemaps) ..createSync(recursive: true) - ..writeAsStringSync('CHUM'); + ..writeAsStringSync('THERE'); await webDevFS.update( mainUri: globals.fs.file(globals.fs.path.join('lib', 'main.dart')).uri, @@ -872,7 +860,7 @@ void main() { expect(await webDevFS.webAssetServer.dartSourceContents('dart_sdk.js.map'), 'THERE'); // Update to the SDK. - globals.fs.file(webPrecompiledSdk).writeAsStringSync('BELLOW'); + globals.fs.file(webPrecompiledCanvaskitSdk).writeAsStringSync('BELLOW'); // New SDK should be visible.. expect(await webDevFS.webAssetServer.dartSourceContents('dart_sdk.js'), 'BELLOW'); @@ -1071,57 +1059,6 @@ void main() { await webDevFS.destroy(); }); - runInTestbed('Can start web server with auto detect enabled', () async { - final String path = globals.fs.path.join('lib', 'main.dart'); - final File outputFile = globals.fs.file(path)..createSync(recursive: true); - outputFile.parent.childFile('a.sources').writeAsStringSync(''); - outputFile.parent.childFile('a.json').writeAsStringSync('{}'); - outputFile.parent.childFile('a.map').writeAsStringSync('{}'); - - final WebDevFS webDevFS = WebDevFS( - hostname: 'localhost', - port: 0, - tlsCertPath: null, - tlsCertKeyPath: null, - packagesFilePath: '.dart_tool/package_config.json', - urlTunneller: null, - useSseForDebugProxy: true, - useSseForDebugBackend: true, - useSseForInjectedClient: true, - nullAssertions: true, - nativeNullAssertions: true, - buildInfo: const BuildInfo( - BuildMode.debug, - '', - treeShakeIcons: false, - dartDefines: ['FLUTTER_WEB_AUTO_DETECT=true'], - packageConfigPath: '.dart_tool/package_config.json', - ), - enableDwds: false, - enableDds: false, - entrypoint: Uri.base, - testMode: true, - expressionCompiler: null, - extraHeaders: const {}, - chromiumLauncher: null, - ddcModuleSystem: usesDdcModuleSystem, - canaryFeatures: canaryFeatures, - webRenderer: WebRendererMode.auto, - isWasm: false, - useLocalCanvasKit: false, - rootDirectory: globals.fs.currentDirectory, - isWindows: false, - ); - webDevFS.ddcModuleLoaderJS.createSync(recursive: true); - webDevFS.stackTraceMapper.createSync(recursive: true); - - await webDevFS.create(); - - expect(webDevFS.webAssetServer.webRenderer, WebRendererMode.auto); - - await webDevFS.destroy(); - }); - runInTestbed('Can start web server with tls connection', () async { final String dataPath = globals.fs.path.join( getFlutterRoot(), diff --git a/packages/flutter_tools/test/general.shard/web/devfs_web_test.dart b/packages/flutter_tools/test/general.shard/web/devfs_web_test.dart index 156785bdad8..75d5d4fc1f7 100644 --- a/packages/flutter_tools/test/general.shard/web/devfs_web_test.dart +++ b/packages/flutter_tools/test/general.shard/web/devfs_web_test.dart @@ -927,7 +927,7 @@ void main() { chromiumLauncher: null, ddcModuleSystem: usesDdcModuleSystem, canaryFeatures: canaryFeatures, - webRenderer: WebRendererMode.html, + webRenderer: WebRendererMode.canvaskit, isWasm: false, useLocalCanvasKit: false, rootDirectory: globals.fs.currentDirectory, @@ -939,17 +939,19 @@ void main() { final Uri uri = await webDevFS.create(); webDevFS.webAssetServer.entrypointCacheDirectory = globals.fs.currentDirectory; - final String webPrecompiledSdk = - globals.artifacts!.getHostArtifact(HostArtifact.webPrecompiledAmdSdk).path; - final String webPrecompiledSdkSourcemaps = - globals.artifacts!.getHostArtifact(HostArtifact.webPrecompiledAmdSdkSourcemaps).path; + final String webPrecompiledCanvaskitSdk = + globals.artifacts!.getHostArtifact(HostArtifact.webPrecompiledAmdCanvaskitSdk).path; + final String webPrecompiledCanvaskitSdkSourcemaps = + globals.artifacts! + .getHostArtifact(HostArtifact.webPrecompiledAmdCanvaskitSdkSourcemaps) + .path; globals.fs.currentDirectory.childDirectory('lib').childFile('web_entrypoint.dart') ..createSync(recursive: true) ..writeAsStringSync('GENERATED'); - globals.fs.file(webPrecompiledSdk) + globals.fs.file(webPrecompiledCanvaskitSdk) ..createSync(recursive: true) ..writeAsStringSync('HELLO'); - globals.fs.file(webPrecompiledSdkSourcemaps) + globals.fs.file(webPrecompiledCanvaskitSdkSourcemaps) ..createSync(recursive: true) ..writeAsStringSync('THERE'); @@ -976,7 +978,7 @@ void main() { expect(await webDevFS.webAssetServer.dartSourceContents('dart_sdk.js.map'), 'THERE'); // Update to the SDK. - globals.fs.file(webPrecompiledSdk).writeAsStringSync('BELLOW'); + globals.fs.file(webPrecompiledCanvaskitSdk).writeAsStringSync('BELLOW'); // New SDK should be visible.. expect(await webDevFS.webAssetServer.dartSourceContents('dart_sdk.js'), 'BELLOW'); @@ -1034,7 +1036,7 @@ void main() { chromiumLauncher: null, ddcModuleSystem: usesDdcModuleSystem, canaryFeatures: canaryFeatures, - webRenderer: WebRendererMode.html, + webRenderer: WebRendererMode.canvaskit, isWasm: false, useLocalCanvasKit: false, rootDirectory: globals.fs.currentDirectory, @@ -1049,10 +1051,6 @@ void main() { globals.fs.currentDirectory.childDirectory('lib').childFile('web_entrypoint.dart') ..createSync(recursive: true) ..writeAsStringSync('GENERATED'); - final String webPrecompiledSdk = - globals.artifacts!.getHostArtifact(HostArtifact.webPrecompiledAmdSdk).path; - final String webPrecompiledSdkSourcemaps = - globals.artifacts!.getHostArtifact(HostArtifact.webPrecompiledAmdSdkSourcemaps).path; final String webPrecompiledCanvaskitSdk = globals.artifacts!.getHostArtifact(HostArtifact.webPrecompiledAmdCanvaskitSdk).path; final String webPrecompiledCanvaskitSdkSourcemaps = @@ -1063,18 +1061,12 @@ void main() { globals.artifacts!.getHostArtifact(HostArtifact.flutterJsDirectory).path, 'flutter.js', ); - globals.fs.file(webPrecompiledSdk) - ..createSync(recursive: true) - ..writeAsStringSync('HELLO'); - globals.fs.file(webPrecompiledSdkSourcemaps) - ..createSync(recursive: true) - ..writeAsStringSync('THERE'); globals.fs.file(webPrecompiledCanvaskitSdk) ..createSync(recursive: true) - ..writeAsStringSync('OL'); + ..writeAsStringSync('HELLO'); globals.fs.file(webPrecompiledCanvaskitSdkSourcemaps) ..createSync(recursive: true) - ..writeAsStringSync('CHUM'); + ..writeAsStringSync('THERE'); globals.fs.file(flutterJs) ..createSync(recursive: true) ..writeAsStringSync('(flutter.js content)'); @@ -1102,7 +1094,7 @@ void main() { expect(await webDevFS.webAssetServer.dartSourceContents('dart_sdk.js.map'), 'THERE'); // Update to the SDK. - globals.fs.file(webPrecompiledSdk).writeAsStringSync('BELLOW'); + globals.fs.file(webPrecompiledCanvaskitSdk).writeAsStringSync('BELLOW'); // New SDK should be visible.. expect(await webDevFS.webAssetServer.dartSourceContents('dart_sdk.js'), 'BELLOW'); @@ -1307,60 +1299,6 @@ void main() { }), ); - test( - 'Can start web server with auto detect enabled', - () => testbed.run(() async { - final File outputFile = globals.fs.file(globals.fs.path.join('lib', 'main.dart')) - ..createSync(recursive: true); - outputFile.parent.childFile('a.sources').writeAsStringSync(''); - outputFile.parent.childFile('a.json').writeAsStringSync('{}'); - outputFile.parent.childFile('a.map').writeAsStringSync('{}'); - - final WebDevFS webDevFS = WebDevFS( - hostname: 'localhost', - port: 0, - tlsCertPath: null, - tlsCertKeyPath: null, - packagesFilePath: '.dart_tool/package_config.json', - urlTunneller: null, - useSseForDebugProxy: true, - useSseForDebugBackend: true, - useSseForInjectedClient: true, - nullAssertions: true, - nativeNullAssertions: true, - buildInfo: const BuildInfo( - BuildMode.debug, - '', - treeShakeIcons: false, - dartDefines: ['FLUTTER_WEB_AUTO_DETECT=true'], - packageConfigPath: '.dart_tool/package_config.json', - ), - enableDwds: false, - enableDds: false, - entrypoint: Uri.base, - testMode: true, - expressionCompiler: null, - extraHeaders: const {}, - chromiumLauncher: null, - ddcModuleSystem: usesDdcModuleSystem, - canaryFeatures: canaryFeatures, - webRenderer: WebRendererMode.auto, - isWasm: false, - useLocalCanvasKit: false, - rootDirectory: globals.fs.currentDirectory, - isWindows: false, - ); - webDevFS.requireJS.createSync(recursive: true); - webDevFS.stackTraceMapper.createSync(recursive: true); - - await webDevFS.create(); - - expect(webDevFS.webAssetServer.webRenderer, WebRendererMode.auto); - - await webDevFS.destroy(); - }), - ); - test( 'Can start web server with tls connection', () => testbed.run(() async { diff --git a/packages/flutter_tools/test/web.shard/test_data/hot_reload_index_html_samples.dart b/packages/flutter_tools/test/web.shard/test_data/hot_reload_index_html_samples.dart index 000f58dd33e..0e5847b1733 100644 --- a/packages/flutter_tools/test/web.shard/test_data/hot_reload_index_html_samples.dart +++ b/packages/flutter_tools/test/web.shard/test_data/hot_reload_index_html_samples.dart @@ -63,7 +63,7 @@ String indexHtmlFlutterJsLoad = _generateFlutterJsIndexHtml(''' builds: [ { "compileTarget": "dartdevc", - "renderer": "html", + "renderer": "canvaskit", "mainJsPath": "main.dart.js", } ]