Revert "[web] Switch flutter tool web-renderer default for web to auto (#73502)" (#73529)

This reverts commit d4c77f31ef7c4eaf34cc3aec5ea12a6b8b9600c6.
diff --git a/packages/flutter_tools/lib/src/runner/flutter_command.dart b/packages/flutter_tools/lib/src/runner/flutter_command.dart
index bf4247a..5c63e61 100644
--- a/packages/flutter_tools/lib/src/runner/flutter_command.dart
+++ b/packages/flutter_tools/lib/src/runner/flutter_command.dart
@@ -461,7 +461,7 @@
 
   void usesWebRendererOption() {
     argParser.addOption('web-renderer',
-      defaultsTo: 'auto',
+      defaultsTo: 'html',
       allowed: <String>['auto', 'canvaskit', 'html'],
       help: 'The renderer implementation to use when building for the web. Possible values are:\n'
             'html - always use the HTML renderer. This renderer uses a combination of HTML, CSS, SVG, 2D Canvas, and WebGL. This is the default.\n'
@@ -902,7 +902,7 @@
         ? stringsArg(FlutterOptions.kDartDefinesOption)
         : <String>[];
 
-    if (argParser.options.containsKey('web-renderer')) {
+    if (argParser.options.containsKey('web-renderer') && argResults.wasParsed('web-renderer')) {
       dartDefines = updateDartDefines(dartDefines, stringArg('web-renderer'));
     }
 
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 7f2178f..ec9a0bf 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
@@ -11,7 +11,6 @@
 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/runner/flutter_command.dart';
 import 'package:flutter_tools/src/dart/pub.dart';
 import 'package:flutter_tools/src/features.dart';
 import 'package:flutter_tools/src/globals.dart' as globals;
@@ -98,7 +97,59 @@
   testUsingContext('Builds a web bundle - end to end', () async {
     final BuildCommand buildCommand = BuildCommand();
     final CommandRunner<void> runner = createTestCommandRunner(buildCommand);
-    setupFileSystemForEndToEndTest(fileSystem);
+    final List<String> dependencies = <String>[
+      fileSystem.path.join('packages', 'flutter_tools', 'lib', 'src', 'build_system', 'targets', 'web.dart'),
+      fileSystem.path.join('bin', 'cache', 'flutter_web_sdk'),
+      fileSystem.path.join('bin', 'cache', 'dart-sdk', 'bin', 'snapshots', 'dart2js.dart.snapshot'),
+      fileSystem.path.join('bin', 'cache', 'dart-sdk', 'bin', 'dart'),
+      fileSystem.path.join('bin', 'cache', 'dart-sdk '),
+    ];
+    for (final String dependency in dependencies) {
+      fileSystem.file(dependency).createSync(recursive: true);
+    }
+
+    // Project files.
+    fileSystem.file('.packages')
+      .writeAsStringSync('''
+foo:lib/
+fizz:bar/lib/
+''');
+    fileSystem.file('pubspec.yaml')
+      .writeAsStringSync('''
+name: foo
+
+dependencies:
+  flutter:
+    sdk: flutter
+  fizz:
+    path:
+      bar/
+''');
+    fileSystem.file(fileSystem.path.join('bar', 'pubspec.yaml'))
+      ..createSync(recursive: true)
+      ..writeAsStringSync('''
+name: bar
+
+flutter:
+  plugin:
+    platforms:
+      web:
+        pluginClass: UrlLauncherPlugin
+        fileName: url_launcher_web.dart
+''');
+    fileSystem.file(fileSystem.path.join('bar', 'lib', 'url_launcher_web.dart'))
+      ..createSync(recursive: true)
+      ..writeAsStringSync('''
+class UrlLauncherPlugin {}
+''');
+    fileSystem.file(fileSystem.path.join('lib', 'main.dart'))
+      .writeAsStringSync('void main() { }');
+
+    // Process calls. We're not testing that these invocations are correct because
+    // that is covered in targets/web_test.dart.
+    when(globals.buildSystem.build(any, any)).thenAnswer((Invocation invocation) async {
+      return BuildResult(success: true);
+    });
     await runner.run(<String>['build', 'web']);
 
     expect(fileSystem.file(fileSystem.path.join('lib', 'generated_plugin_registrant.dart')).existsSync(), true);
@@ -130,98 +181,7 @@
     Pub: () => MockPub(),
     ProcessManager: () => FakeProcessManager.any(),
   });
-
-  testUsingContext('Defaults to web renderer auto mode when no option is specified', () async {
-    final TestWebBuildCommand buildCommand = TestWebBuildCommand();
-    final CommandRunner<void> runner = createTestCommandRunner(buildCommand);
-    setupFileSystemForEndToEndTest(fileSystem);
-    await runner.run(<String>['build', 'web']);
-    final BuildInfo buildInfo =
-        await buildCommand.webCommand.getBuildInfo(forcedBuildMode: BuildMode.debug);
-    expect(buildInfo.dartDefines, contains('FLUTTER_WEB_AUTO_DETECT=true'));
-  }, overrides: <Type, Generator>{
-    Platform: () => fakePlatform,
-    FileSystem: () => fileSystem,
-    FeatureFlags: () => TestFeatureFlags(isWebEnabled: true),
-    Pub: () => MockPub(),
-    ProcessManager: () => FakeProcessManager.any(),
-    BuildSystem: () => MockBuildSystem(),
-  });
-}
-
-void setupFileSystemForEndToEndTest(FileSystem fileSystem) {
-  final List<String> dependencies = <String>[
-    fileSystem.path.join('packages', 'flutter_tools', 'lib', 'src', 'build_system', 'targets', 'web.dart'),
-    fileSystem.path.join('bin', 'cache', 'flutter_web_sdk'),
-    fileSystem.path.join('bin', 'cache', 'dart-sdk', 'bin', 'snapshots', 'dart2js.dart.snapshot'),
-    fileSystem.path.join('bin', 'cache', 'dart-sdk', 'bin', 'dart'),
-    fileSystem.path.join('bin', 'cache', 'dart-sdk '),
-  ];
-  for (final String dependency in dependencies) {
-    fileSystem.file(dependency).createSync(recursive: true);
-  }
-
-  // Project files.
-  fileSystem.file('.packages')
-      .writeAsStringSync('''
-foo:lib/
-fizz:bar/lib/
-''');
-  fileSystem.file('pubspec.yaml')
-      .writeAsStringSync('''
-name: foo
-
-dependencies:
-  flutter:
-    sdk: flutter
-  fizz:
-    path:
-      bar/
-''');
-  fileSystem.file(fileSystem.path.join('bar', 'pubspec.yaml'))
-    ..createSync(recursive: true)
-    ..writeAsStringSync('''
-name: bar
-
-flutter:
-  plugin:
-    platforms:
-      web:
-        pluginClass: UrlLauncherPlugin
-        fileName: url_launcher_web.dart
-''');
-  fileSystem.file(fileSystem.path.join('bar', 'lib', 'url_launcher_web.dart'))
-    ..createSync(recursive: true)
-    ..writeAsStringSync('''
-class UrlLauncherPlugin {}
-''');
-  fileSystem.file(fileSystem.path.join('lib', 'main.dart'))
-      .writeAsStringSync('void main() { }');
-
-  // Process calls. We're not testing that these invocations are correct because
-  // that is covered in targets/web_test.dart.
-  when(globals.buildSystem.build(any, any)).thenAnswer((Invocation invocation) async {
-    return BuildResult(success: true);
-  });
 }
 
 class MockBuildSystem extends Mock implements BuildSystem {}
 class MockPub extends Mock implements Pub {}
-
-class TestWebBuildCommand extends FlutterCommand {
-  TestWebBuildCommand({ bool verboseHelp = false }) :
-    webCommand = BuildWebCommand(verboseHelp: verboseHelp) {
-    addSubcommand(webCommand);
-  }
-
-  final BuildWebCommand webCommand;
-
-  @override
-  final String name = 'build';
-
-  @override
-  final String description = 'Build a test executable app.';
-
-  @override
-  Future<FlutterCommandResult> runCommand() async => null;
-}