`PerformanceOverlay`'s multiple fields are not updated when the user wants to update it (#112039)
diff --git a/packages/flutter/lib/src/widgets/performance_overlay.dart b/packages/flutter/lib/src/widgets/performance_overlay.dart
index 6b36a44..352d4ae 100644
--- a/packages/flutter/lib/src/widgets/performance_overlay.dart
+++ b/packages/flutter/lib/src/widgets/performance_overlay.dart
@@ -115,6 +115,8 @@
void updateRenderObject(BuildContext context, RenderPerformanceOverlay renderObject) {
renderObject
..optionsMask = optionsMask
- ..rasterizerThreshold = rasterizerThreshold;
+ ..rasterizerThreshold = rasterizerThreshold
+ ..checkerboardRasterCacheImages = checkerboardRasterCacheImages
+ ..checkerboardOffscreenLayers = checkerboardOffscreenLayers;
}
}
diff --git a/packages/flutter/test/widgets/performance_overlay_test.dart b/packages/flutter/test/widgets/performance_overlay_test.dart
index 61f0003..8c337f1 100644
--- a/packages/flutter/test/widgets/performance_overlay_test.dart
+++ b/packages/flutter/test/widgets/performance_overlay_test.dart
@@ -2,6 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
+import 'package:flutter/src/rendering/performance_overlay.dart';
import 'package:flutter/widgets.dart';
import 'package:flutter_test/flutter_test.dart';
@@ -10,4 +11,30 @@
await tester.pumpWidget(const PerformanceOverlay());
await tester.pumpWidget(PerformanceOverlay.allEnabled());
});
+
+ testWidgets('update widget field checkerboardRasterCacheImages',
+ (WidgetTester tester) async {
+ await tester.pumpWidget(const PerformanceOverlay());
+ await tester.pumpWidget(
+ const PerformanceOverlay(checkerboardRasterCacheImages: true));
+ final Finder finder = find.byType(PerformanceOverlay);
+ expect(
+ tester
+ .renderObject<RenderPerformanceOverlay>(finder)
+ .checkerboardRasterCacheImages,
+ true);
+ });
+
+ testWidgets('update widget field checkerboardOffscreenLayers',
+ (WidgetTester tester) async {
+ await tester.pumpWidget(const PerformanceOverlay());
+ await tester.pumpWidget(
+ const PerformanceOverlay(checkerboardOffscreenLayers: true));
+ final Finder finder = find.byType(PerformanceOverlay);
+ expect(
+ tester
+ .renderObject<RenderPerformanceOverlay>(finder)
+ .checkerboardOffscreenLayers,
+ true);
+ });
}