Add --no-launch-browser flag to DevTools pub run command (#72519)

diff --git a/packages/flutter_tools/lib/src/devtools_launcher.dart b/packages/flutter_tools/lib/src/devtools_launcher.dart
index 7a69cd2..c553a99 100644
--- a/packages/flutter_tools/lib/src/devtools_launcher.dart
+++ b/packages/flutter_tools/lib/src/devtools_launcher.dart
@@ -71,6 +71,7 @@
         'global',
         'run',
         'devtools',
+        if (!openInBrowser) '--no-launch-browser',
         if (vmServiceUri != null) '--vm-uri=$vmServiceUri',
       ]);
       final Completer<Uri> completer = Completer<Uri>();
diff --git a/packages/flutter_tools/test/general.shard/devtools_launcher_test.dart b/packages/flutter_tools/test/general.shard/devtools_launcher_test.dart
index 9d06ec7..c7cf570 100644
--- a/packages/flutter_tools/test/general.shard/devtools_launcher_test.dart
+++ b/packages/flutter_tools/test/general.shard/devtools_launcher_test.dart
@@ -34,6 +34,7 @@
             'global',
             'run',
             'devtools',
+            '--no-launch-browser',
           ],
           stdout: 'Serving DevTools at http://127.0.0.1:9100\n',
           completer: completer,
@@ -46,6 +47,39 @@
     expect(address.port, 9100);
   });
 
+  testWithoutContext('DevtoolsLauncher launches DevTools in browser', () async {
+    final Completer<void> completer = Completer<void>();
+    final DevtoolsLauncher launcher = DevtoolsServerLauncher(
+      pubExecutable: 'pub',
+      logger: BufferLogger.test(),
+      processManager: FakeProcessManager.list(<FakeCommand>[
+        const FakeCommand(
+          command: <String>[
+            'pub',
+            'global',
+            'activate',
+            'devtools',
+          ],
+          stdout: 'Activated DevTools 0.9.5',
+        ),
+        FakeCommand(
+          command: const <String>[
+            'pub',
+            'global',
+            'run',
+            'devtools',
+          ],
+          stdout: 'Serving DevTools at http://127.0.0.1:9100\n',
+          completer: completer,
+        ),
+      ]),
+    );
+
+    final DevToolsServerAddress address = await launcher.serve(openInBrowser: true);
+    expect(address.host, '127.0.0.1');
+    expect(address.port, 9100);
+  });
+
   testWithoutContext('DevtoolsLauncher prints error if exception is thrown during activate', () async {
     final BufferLogger logger = BufferLogger.test();
     final DevtoolsLauncher launcher = DevtoolsServerLauncher(
@@ -68,6 +102,7 @@
               'global',
               'run',
               'devtools',
+              '--no-launch-browser',
               '--vm-uri=http://127.0.0.1:1234/abcdefg',
             ],
             onRun: () {
@@ -103,6 +138,7 @@
               'global',
               'run',
               'devtools',
+              '--no-launch-browser',
               '--vm-uri=http://127.0.0.1:1234/abcdefg',
             ],
             onRun: () {