From 3fdd6ee46fc2cc99ad69bf888fc7cf1311be3a66 Mon Sep 17 00:00:00 2001 From: chunhtai <47866232+chunhtai@users.noreply.github.com> Date: Thu, 9 Feb 2023 10:38:47 -0800 Subject: [PATCH] Reland "Overlay always applies clip (#113770)" (#116674) * Reland "Overlay always applies clip (#113770)" This reverts commit d0afbd72a782eb20657f01b082ef29a2517eee54. * Root navigator will not clip --- packages/flutter/lib/src/widgets/app.dart | 1 + packages/flutter/lib/src/widgets/overlay.dart | 10 +++----- .../test/cupertino/action_sheet_test.dart | 2 +- .../flutter/test/widgets/overlay_test.dart | 23 +++++++++++++++++++ 4 files changed, 28 insertions(+), 8 deletions(-) diff --git a/packages/flutter/lib/src/widgets/app.dart b/packages/flutter/lib/src/widgets/app.dart index 06482436d47..6c344b322be 100644 --- a/packages/flutter/lib/src/widgets/app.dart +++ b/packages/flutter/lib/src/widgets/app.dart @@ -1623,6 +1623,7 @@ class _WidgetsAppState extends State with WidgetsBindingObserver { debugLabel: 'Navigator Scope', autofocus: true, child: Navigator( + clipBehavior: Clip.none, restorationScopeId: 'nav', key: _navigator, initialRoute: _initialRouteName, diff --git a/packages/flutter/lib/src/widgets/overlay.dart b/packages/flutter/lib/src/widgets/overlay.dart index 61e75d41464..77088b105a9 100644 --- a/packages/flutter/lib/src/widgets/overlay.dart +++ b/packages/flutter/lib/src/widgets/overlay.dart @@ -702,8 +702,6 @@ class _RenderTheatre extends RenderBox with ContainerRenderObjectMixin[ + OverlayEntry( + builder: (BuildContext context) => Positioned(left: 10, right: 10, child: Container()), + ), + ], + ), + ), + ); + final RenderObject renderObject = tester.renderObject(find.byType(Overlay)); + // ignore: avoid_dynamic_calls + expect((renderObject as dynamic).paint, paints + ..save() + ..clipRect(rect: const Rect.fromLTWH(0.0, 0.0, 800.0, 600.0)) + ..restore(), + ); + }); + group('OverlayEntry listenable', () { final GlobalKey overlayKey = GlobalKey(); final Widget emptyOverlay = Directionality(