Skip to content

Commit 31d03d5

Browse files
authored
PerformanceOverlay's multiple fields are not updated when the user wants to update it (#112039)
1 parent 772bd43 commit 31d03d5

File tree

2 files changed

+30
-1
lines changed

2 files changed

+30
-1
lines changed

packages/flutter/lib/src/widgets/performance_overlay.dart

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,8 @@ class PerformanceOverlay extends LeafRenderObjectWidget {
115115
void updateRenderObject(BuildContext context, RenderPerformanceOverlay renderObject) {
116116
renderObject
117117
..optionsMask = optionsMask
118-
..rasterizerThreshold = rasterizerThreshold;
118+
..rasterizerThreshold = rasterizerThreshold
119+
..checkerboardRasterCacheImages = checkerboardRasterCacheImages
120+
..checkerboardOffscreenLayers = checkerboardOffscreenLayers;
119121
}
120122
}

packages/flutter/test/widgets/performance_overlay_test.dart

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
// Use of this source code is governed by a BSD-style license that can be
33
// found in the LICENSE file.
44

5+
import 'package:flutter/src/rendering/performance_overlay.dart';
56
import 'package:flutter/widgets.dart';
67
import 'package:flutter_test/flutter_test.dart';
78

@@ -10,4 +11,30 @@ void main() {
1011
await tester.pumpWidget(const PerformanceOverlay());
1112
await tester.pumpWidget(PerformanceOverlay.allEnabled());
1213
});
14+
15+
testWidgets('update widget field checkerboardRasterCacheImages',
16+
(WidgetTester tester) async {
17+
await tester.pumpWidget(const PerformanceOverlay());
18+
await tester.pumpWidget(
19+
const PerformanceOverlay(checkerboardRasterCacheImages: true));
20+
final Finder finder = find.byType(PerformanceOverlay);
21+
expect(
22+
tester
23+
.renderObject<RenderPerformanceOverlay>(finder)
24+
.checkerboardRasterCacheImages,
25+
true);
26+
});
27+
28+
testWidgets('update widget field checkerboardOffscreenLayers',
29+
(WidgetTester tester) async {
30+
await tester.pumpWidget(const PerformanceOverlay());
31+
await tester.pumpWidget(
32+
const PerformanceOverlay(checkerboardOffscreenLayers: true));
33+
final Finder finder = find.byType(PerformanceOverlay);
34+
expect(
35+
tester
36+
.renderObject<RenderPerformanceOverlay>(finder)
37+
.checkerboardOffscreenLayers,
38+
true);
39+
});
1340
}

0 commit comments

Comments
 (0)