diff --git a/packages/flutter_tools/lib/src/base/command_help.dart b/packages/flutter_tools/lib/src/base/command_help.dart index c1162cdfb29..ec35e066b83 100644 --- a/packages/flutter_tools/lib/src/base/command_help.dart +++ b/packages/flutter_tools/lib/src/base/command_help.dart @@ -120,7 +120,7 @@ class CommandHelp { late final CommandHelpOption j = _makeOption( 'j', - 'Dump frame raster stats for the current frame.', + 'Dump frame raster stats for the current frame. (Unsupported for web)', ); late final CommandHelpOption k = _makeOption( diff --git a/packages/flutter_tools/lib/src/resident_runner.dart b/packages/flutter_tools/lib/src/resident_runner.dart index af5007ebaa2..3f575688a70 100644 --- a/packages/flutter_tools/lib/src/resident_runner.dart +++ b/packages/flutter_tools/lib/src/resident_runner.dart @@ -701,6 +701,10 @@ abstract class ResidentHandlers { return false; } for (final FlutterDevice? device in flutterDevices) { + if (device?.targetPlatform == TargetPlatform.web_javascript) { + logger!.printWarning('Unable to get jank metrics for web'); + continue; + } final List views = await device!.vmService!.getFlutterViews(); for (final FlutterView view in views) { final Map? rasterData = diff --git a/packages/flutter_tools/test/general.shard/terminal_handler_test.dart b/packages/flutter_tools/test/general.shard/terminal_handler_test.dart index 646a24a85f4..259d8b2ccd0 100644 --- a/packages/flutter_tools/test/general.shard/terminal_handler_test.dart +++ b/packages/flutter_tools/test/general.shard/terminal_handler_test.dart @@ -177,6 +177,12 @@ void main() { await terminalHandler.processTerminalInput('a'); }); + testWithoutContext('j unsupported jank metrics for web', () async { + final TerminalHandler terminalHandler = setUpTerminalHandler([], web: true); + await terminalHandler.processTerminalInput('j'); + expect(terminalHandler.logger.warningText.contains('Unable to get jank metrics for web'), true); + }); + testWithoutContext('a - debugToggleProfileWidgetBuilds without service protocol is skipped', () async { final TerminalHandler terminalHandler = setUpTerminalHandler([], supportsServiceProtocol: false); diff --git a/packages/flutter_tools/test/integration.shard/overall_experience_test.dart b/packages/flutter_tools/test/integration.shard/overall_experience_test.dart index c373871f944..887f9b7ab14 100644 --- a/packages/flutter_tools/test/integration.shard/overall_experience_test.dart +++ b/packages/flutter_tools/test/integration.shard/overall_experience_test.dart @@ -612,7 +612,7 @@ void main() { 'a Toggle timeline events for all widget build methods. (debugProfileWidgetBuilds)', 'M Write SkSL shaders to a unique file in the project directory.', 'g Run source code generators.', - 'j Dump frame raster stats for the current frame.', + 'j Dump frame raster stats for the current frame. (Unsupported for web)', 'h Repeat this help message.', 'd Detach (terminate "flutter run" but leave application running).', 'c Clear the screen',