9
9
/// @docImport 'layer.dart';
10
10
library ;
11
11
12
+ import 'dart:async' ;
12
13
import 'dart:ui' as ui show PictureRecorder, SceneBuilder, SemanticsUpdate;
13
14
14
15
import 'package:flutter/foundation.dart' ;
@@ -85,43 +86,49 @@ mixin RendererBinding
85
86
setter: (bool value) async {
86
87
if (debugInvertOversizedImages != value) {
87
88
debugInvertOversizedImages = value;
88
- return _forceRepaint ();
89
+ // We don't want to block the vm service response on the frame
90
+ // actually rendering, just schedule it and return;
91
+ unawaited (_forceRepaint ());
89
92
}
90
- return Future <void >.value ();
91
93
},
92
94
);
93
95
registerBoolServiceExtension (
94
96
name: RenderingServiceExtensions .debugPaint.name,
95
97
getter: () async => debugPaintSizeEnabled,
96
- setter: (bool value) {
98
+ setter: (bool value) async {
97
99
if (debugPaintSizeEnabled == value) {
98
- return Future < void >. value () ;
100
+ return ;
99
101
}
100
102
debugPaintSizeEnabled = value;
101
- return _forceRepaint ();
103
+ // We don't want to block the vm service response on the frame
104
+ // actually rendering, just schedule it and return;
105
+ unawaited (_forceRepaint ());
102
106
},
103
107
);
104
108
registerBoolServiceExtension (
105
109
name: RenderingServiceExtensions .debugPaintBaselinesEnabled.name,
106
110
getter: () async => debugPaintBaselinesEnabled,
107
- setter: (bool value) {
111
+ setter: (bool value) async {
108
112
if (debugPaintBaselinesEnabled == value) {
109
- return Future < void >. value () ;
113
+ return ;
110
114
}
111
115
debugPaintBaselinesEnabled = value;
112
- return _forceRepaint ();
116
+ // We don't want to block the vm service response on the frame
117
+ // actually rendering, just schedule it and return;
118
+ unawaited (_forceRepaint ());
113
119
},
114
120
);
115
121
registerBoolServiceExtension (
116
122
name: RenderingServiceExtensions .repaintRainbow.name,
117
123
getter: () async => debugRepaintRainbowEnabled,
118
- setter: (bool value) {
124
+ setter: (bool value) async {
119
125
final bool repaint = debugRepaintRainbowEnabled && ! value;
120
126
debugRepaintRainbowEnabled = value;
121
127
if (repaint) {
122
- return _forceRepaint ();
128
+ // We don't want to block the vm service response on the frame
129
+ // actually rendering, just schedule it and return;
130
+ unawaited (_forceRepaint ());
123
131
}
124
- return Future <void >.value ();
125
132
},
126
133
);
127
134
registerServiceExtension (
@@ -133,34 +140,40 @@ mixin RendererBinding
133
140
registerBoolServiceExtension (
134
141
name: RenderingServiceExtensions .debugDisableClipLayers.name,
135
142
getter: () async => debugDisableClipLayers,
136
- setter: (bool value) {
143
+ setter: (bool value) async {
137
144
if (debugDisableClipLayers == value) {
138
- return Future < void >. value () ;
145
+ return ;
139
146
}
140
147
debugDisableClipLayers = value;
141
- return _forceRepaint ();
148
+ // We don't want to block the vm service response on the frame
149
+ // actually rendering, just schedule it and return;
150
+ unawaited (_forceRepaint ());
142
151
},
143
152
);
144
153
registerBoolServiceExtension (
145
154
name: RenderingServiceExtensions .debugDisablePhysicalShapeLayers.name,
146
155
getter: () async => debugDisablePhysicalShapeLayers,
147
- setter: (bool value) {
156
+ setter: (bool value) async {
148
157
if (debugDisablePhysicalShapeLayers == value) {
149
- return Future < void >. value () ;
158
+ return ;
150
159
}
151
160
debugDisablePhysicalShapeLayers = value;
152
- return _forceRepaint ();
161
+ // We don't want to block the vm service response on the frame
162
+ // actually rendering, just schedule it and return;
163
+ unawaited (_forceRepaint ());
153
164
},
154
165
);
155
166
registerBoolServiceExtension (
156
167
name: RenderingServiceExtensions .debugDisableOpacityLayers.name,
157
168
getter: () async => debugDisableOpacityLayers,
158
- setter: (bool value) {
169
+ setter: (bool value) async {
159
170
if (debugDisableOpacityLayers == value) {
160
- return Future < void >. value () ;
171
+ return ;
161
172
}
162
173
debugDisableOpacityLayers = value;
163
- return _forceRepaint ();
174
+ // We don't want to block the vm service response on the frame
175
+ // actually rendering, just schedule it and return;
176
+ unawaited (_forceRepaint ());
164
177
},
165
178
);
166
179
return true ;
0 commit comments