-
Notifications
You must be signed in to change notification settings - Fork 29.7k
Closed
Labels
P3Issues that are less important to the Flutter projectIssues that are less important to the Flutter projecta: error messageError messages from the Flutter frameworkError messages from the Flutter frameworkc: proposalA detailed proposal for a change to FlutterA detailed proposal for a change to Flutterframeworkflutter/packages/flutter repository. See also f: labels.flutter/packages/flutter repository. See also f: labels.good first issueRelatively approachable for first-time contributorsRelatively approachable for first-time contributorsplatform-webWeb applications specificallyWeb applications specificallyr: fixedIssue is closed as already fixed in a newer versionIssue is closed as already fixed in a newer versionteam-webOwned by Web platform teamOwned by Web platform teamtriaged-webTriaged by Web platform teamTriaged by Web platform team
Description
Use case
Hello!
A small proposal
Enabling the performance overlay in a Flutter web app by setting:
MaterialApp(
showPerformanceOverlay: true,
// …
)results in the following UnimplementedError:
══╡ EXCEPTION CAUGHT BY SCHEDULER LIBRARY ╞═════════════════════════════════════════════════════════
The following UnimplementedError was thrown during a scheduler callback:
UnimplementedError
When the exception was thrown, this was the stack:
dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 266:3 throw_
errors.dart:266
dart-sdk/lib/_internal/js_dev_runtime/private/profile.dart 117:39 addPerformanceOverlay
profile.dart:117
package:flutter/src/rendering/layer.dart 1056:12 addToScene
layer.dart:1056
package:flutter/src/rendering/layer.dart 711:5 [_addToSceneWithRetainedRendering]
layer.dart:711
package:flutter/src/rendering/layer.dart 1372:12 addChildrenToScene
layer.dart:1372
package:flutter/src/rendering/layer.dart 2083:5 addToScene
layer.dart:2083
package:flutter/src/rendering/layer.dart 1120:5 buildScene
layer.dart:1120
package:flutter/src/rendering/view.dart 358:30 compositeFrame
view.dart:358
package:flutter/src/rendering/binding.dart 634:19 drawFrame
binding.dart:634
package:flutter/src/widgets/binding.dart 1242:13 drawFrame
binding.dart:1242
package:flutter/src/rendering/binding.dart 495:5 [_handlePersistentFrameCallback]
binding.dart:495
dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/operations.dart 117:77 tear
operations.dart:117
package:flutter/src/scheduler/binding.dart 1438:7 [_invokeFrameCallback]
binding.dart:1438
package:flutter/src/scheduler/binding.dart 1351:9 handleDrawFrame
binding.dart:1351
package:flutter/src/scheduler/binding.dart 1060:9 <fn>
binding.dart:1060
lib/_engine/engine/frame_service.dart 147:9 <fn>
frame_service.dart:147
dart-sdk/lib/_internal/js_dev_runtime/private/isolate_helper.dart 47:11 internalCallback
isolate_helper.dart:47
════════════════════════════════════════════════════════════════════════════════════════════════════
128
Another exception was thrown: UnimplementedErrorThe stack trace doesn't indicate that this flag is simply not supported on the web, which makes it time consuming to find the root cause. I forgot that showPerformanceOverlay was enabled in the project😀
Proposal
When showPerformanceOverlay is enabled on the web platform, the framework should log a clear warning such as:
showPerformanceOverlay is not supported on web
Metadata
Metadata
Assignees
Labels
P3Issues that are less important to the Flutter projectIssues that are less important to the Flutter projecta: error messageError messages from the Flutter frameworkError messages from the Flutter frameworkc: proposalA detailed proposal for a change to FlutterA detailed proposal for a change to Flutterframeworkflutter/packages/flutter repository. See also f: labels.flutter/packages/flutter repository. See also f: labels.good first issueRelatively approachable for first-time contributorsRelatively approachable for first-time contributorsplatform-webWeb applications specificallyWeb applications specificallyr: fixedIssue is closed as already fixed in a newer versionIssue is closed as already fixed in a newer versionteam-webOwned by Web platform teamOwned by Web platform teamtriaged-webTriaged by Web platform teamTriaged by Web platform team