diff --git a/packages/flutter/lib/src/widgets/_platform_selectable_region_context_menu_web.dart b/packages/flutter/lib/src/widgets/_platform_selectable_region_context_menu_web.dart index c4fa712ac19..0f261aa21ae 100644 --- a/packages/flutter/lib/src/widgets/_platform_selectable_region_context_menu_web.dart +++ b/packages/flutter/lib/src/widgets/_platform_selectable_region_context_menu_web.dart @@ -135,7 +135,6 @@ class PlatformSelectableRegionContextMenu extends StatelessWidget { @override Widget build(BuildContext context) { return Stack( - alignment: Alignment.center, children: [ const Positioned.fill( child: HtmlElementView( diff --git a/packages/flutter/test/widgets/selectable_region_test.dart b/packages/flutter/test/widgets/selectable_region_test.dart index c1710f8dd36..051cfda9545 100644 --- a/packages/flutter/test/widgets/selectable_region_test.dart +++ b/packages/flutter/test/widgets/selectable_region_test.dart @@ -3594,6 +3594,27 @@ void main() { skip: kIsWeb, // [intended] Web uses its native context menu. ); + // Regression test for https://github.com/flutter/flutter/issues/121053. + testWidgets('Ensure SelectionArea does not affect the layout of its children', (WidgetTester tester) async { + await tester.pumpWidget( + const MaterialApp( + home: Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + SelectionArea(child: Text('row 1')), + Text('row 2'), + ], + ), + ), + ); + await tester.pumpAndSettle(); + final double xOffset1 = tester.getTopLeft(find.text('row 1')).dx; + final double xOffset2 = tester.getTopLeft(find.text('row 2')).dx; + expect(xOffset1, xOffset2); + }, + variant: TargetPlatformVariant.all(), + ); + testWidgets('the selection behavior when clicking `Copy` item in mobile platforms', (WidgetTester tester) async { List buttonItems = []; final FocusNode focusNode = FocusNode();