mirror of
https://github.com/flutter/flutter
synced 2024-10-06 00:09:53 +00:00
Use wasm-compatible conditional import in timeline.dart, avoid emitting timeline events in SchedulerBinding (#144682)
This commit is contained in:
parent
7a88767a1b
commit
aba7bc3f42
|
@ -8,7 +8,7 @@ import 'dart:typed_data';
|
|||
import 'package:meta/meta.dart';
|
||||
|
||||
import '_timeline_io.dart'
|
||||
if (dart.library.js_util) '_timeline_web.dart' as impl;
|
||||
if (dart.library.js_interop) '_timeline_web.dart' as impl;
|
||||
import 'constants.dart';
|
||||
|
||||
/// Measures how long blocks of code take to run.
|
||||
|
|
|
@ -1318,13 +1318,17 @@ mixin SchedulerBinding on BindingBase {
|
|||
final List<FrameCallback> localPostFrameCallbacks =
|
||||
List<FrameCallback>.of(_postFrameCallbacks);
|
||||
_postFrameCallbacks.clear();
|
||||
Timeline.startSync('POST_FRAME');
|
||||
if (!kReleaseMode) {
|
||||
FlutterTimeline.startSync('POST_FRAME');
|
||||
}
|
||||
try {
|
||||
for (final FrameCallback callback in localPostFrameCallbacks) {
|
||||
_invokeFrameCallback(callback, _currentFrameTimeStamp!);
|
||||
}
|
||||
} finally {
|
||||
Timeline.finishSync();
|
||||
if (!kReleaseMode) {
|
||||
FlutterTimeline.finishSync();
|
||||
}
|
||||
}
|
||||
} finally {
|
||||
_schedulerPhase = SchedulerPhase.idle;
|
||||
|
|
Loading…
Reference in a new issue