Revert "iOS 16 context menu (#115805)" (#116312)

This reverts commit 1cb16a1e396fdfaedae0bb291aae562fa88d1d81.
diff --git a/packages/flutter/lib/src/cupertino/text_selection_toolbar.dart b/packages/flutter/lib/src/cupertino/text_selection_toolbar.dart
index c6ad4c2..a630b3d 100644
--- a/packages/flutter/lib/src/cupertino/text_selection_toolbar.dart
+++ b/packages/flutter/lib/src/cupertino/text_selection_toolbar.dart
@@ -5,13 +5,11 @@
 import 'dart:collection';
 import 'dart:ui' as ui;
 
-import 'package:flutter/foundation.dart' show Brightness, clampDouble;
+import 'package:flutter/foundation.dart' show clampDouble;
 import 'package:flutter/rendering.dart';
 import 'package:flutter/widgets.dart';
 
-import 'colors.dart';
 import 'text_selection_toolbar_button.dart';
-import 'theme.dart';
 
 // Values extracted from https://developer.apple.com/design/resources/.
 // The height of the toolbar, including the arrow.
@@ -31,27 +29,9 @@
 // Values extracted from https://developer.apple.com/design/resources/.
 const Radius _kToolbarBorderRadius = Radius.circular(8);
 
-const CupertinoDynamicColor _kToolbarDividerColor = CupertinoDynamicColor.withBrightness(
-  // This value was extracted from a screenshot of iOS 16.0.3, as light mode
-  // didn't appear in the Apple design resources assets linked below.
-  color: Color(0xFFB6B6B6),
-  // Color extracted from https://developer.apple.com/design/resources/.
-  // TODO(LongCatIsLooong): https://github.com/flutter/flutter/issues/41507.
-  darkColor: Color(0xFF808080),
-);
-
-// These values were extracted from a screenshot of iOS 16.0.3, as light mode
-// didn't appear in the Apple design resources assets linked above.
-final BoxDecoration _kToolbarShadow = BoxDecoration(
-  borderRadius: const BorderRadius.all(_kToolbarBorderRadius),
-  boxShadow: <BoxShadow>[
-    BoxShadow(
-      color: CupertinoColors.black.withOpacity(0.1),
-      blurRadius: 16.0,
-      offset: Offset(0, _kToolbarArrowSize.height / 2),
-    ),
-  ],
-);
+// Colors extracted from https://developer.apple.com/design/resources/.
+// TODO(LongCatIsLooong): https://github.com/flutter/flutter/issues/41507.
+const Color _kToolbarDividerColor = Color(0xFF808080);
 
 /// The type for a Function that builds a toolbar's container with the given
 /// child.
@@ -139,23 +119,14 @@
   // Builds a toolbar just like the default iOS toolbar, with the right color
   // background and a rounded cutout with an arrow.
   static Widget _defaultToolbarBuilder(BuildContext context, Offset anchor, bool isAbove, Widget child) {
-    final Widget outputChild = _CupertinoTextSelectionToolbarShape(
+    return _CupertinoTextSelectionToolbarShape(
       anchor: anchor,
       isAbove: isAbove,
       child: DecoratedBox(
-        decoration: const BoxDecoration(
-          color: _kToolbarDividerColor,
-        ),
+        decoration: const BoxDecoration(color: _kToolbarDividerColor),
         child: child,
       ),
     );
-    if (CupertinoTheme.brightnessOf(context) == Brightness.dark) {
-      return outputChild;
-    }
-    return DecoratedBox(
-      decoration: _kToolbarShadow,
-      child: outputChild,
-    );
   }
 
   @override
@@ -255,6 +226,7 @@
     super.child,
   );
 
+
   @override
   bool get isRepaintBoundary => true;
 
@@ -513,7 +485,7 @@
           onPressed: _handleNextPage,
           text: '▶',
         ),
-        nextButtonDisabled: const CupertinoTextSelectionToolbarButton.text(
+        nextButtonDisabled: CupertinoTextSelectionToolbarButton.text(
           text: '▶',
         ),
         children: widget.children,
diff --git a/packages/flutter/lib/src/cupertino/text_selection_toolbar_button.dart b/packages/flutter/lib/src/cupertino/text_selection_toolbar_button.dart
index 4ca6d67..6cc1cc4 100644
--- a/packages/flutter/lib/src/cupertino/text_selection_toolbar_button.dart
+++ b/packages/flutter/lib/src/cupertino/text_selection_toolbar_button.dart
@@ -18,17 +18,7 @@
 
 // Colors extracted from https://developer.apple.com/design/resources/.
 // TODO(LongCatIsLooong): https://github.com/flutter/flutter/issues/41507.
-const CupertinoDynamicColor _kToolbarBackgroundColor = CupertinoDynamicColor.withBrightness(
-  // This value was extracted from a screenshot of iOS 16.0.3, as light mode
-  // didn't appear in the Apple design resources assets linked above.
-  color: Color(0xEB202020),
-  darkColor: Color(0xEBF7F7F7),
-);
-
-const CupertinoDynamicColor _kToolbarTextColor = CupertinoDynamicColor.withBrightness(
-  color: CupertinoColors.black,
-  darkColor: CupertinoColors.white,
-);
+const Color _kToolbarBackgroundColor = Color(0xEB202020);
 
 // Eyeballed value.
 const EdgeInsets _kToolbarButtonPadding = EdgeInsets.symmetric(vertical: 16.0, horizontal: 18.0);
@@ -43,17 +33,22 @@
     this.onPressed,
     required Widget this.child,
   }) : assert(child != null),
-       text = null,
        buttonItem = null;
 
   /// Create an instance of [CupertinoTextSelectionToolbarButton] whose child is
   /// a [Text] widget styled like the default iOS text selection toolbar button.
-  const CupertinoTextSelectionToolbarButton.text({
+  CupertinoTextSelectionToolbarButton.text({
     super.key,
     this.onPressed,
-    required this.text,
+    required String text,
   }) : buttonItem = null,
-       child = null;
+       child = Text(
+         text,
+         overflow: TextOverflow.ellipsis,
+         style: _kToolbarButtonFontStyle.copyWith(
+           color: onPressed != null ? CupertinoColors.white : CupertinoColors.inactiveGray,
+         ),
+       );
 
   /// Create an instance of [CupertinoTextSelectionToolbarButton] from the given
   /// [ContextMenuButtonItem].
@@ -64,7 +59,6 @@
     required ContextMenuButtonItem this.buttonItem,
   }) : assert(buttonItem != null),
        child = null,
-       text = null,
        onPressed = buttonItem.onPressed;
 
   /// {@template flutter.cupertino.CupertinoTextSelectionToolbarButton.child}
@@ -85,10 +79,6 @@
   /// {@endtemplate}
   final ContextMenuButtonItem? buttonItem;
 
-  /// The text used in the button's label when using
-  /// [CupertinoTextSelectionToolbarButton.text].
-  final String? text;
-
   /// Returns the default button label String for the button of the given
   /// [ContextMenuButtonItem]'s [ContextMenuButtonType].
   static String getButtonLabel(BuildContext context, ContextMenuButtonItem buttonItem) {
@@ -115,15 +105,12 @@
   @override
   Widget build(BuildContext context) {
     final Widget child = this.child ?? Text(
-       text ?? getButtonLabel(context, buttonItem!),
-       overflow: TextOverflow.ellipsis,
-       style: _kToolbarButtonFontStyle.copyWith(
-         color: onPressed != null
-             ? _kToolbarTextColor
-             : CupertinoColors.inactiveGray,
-       ),
-     );
-
+      getButtonLabel(context, buttonItem!),
+      overflow: TextOverflow.ellipsis,
+      style: _kToolbarButtonFontStyle.copyWith(
+        color: onPressed != null ? CupertinoColors.white : CupertinoColors.inactiveGray,
+      ),
+    );
     return CupertinoButton(
       borderRadius: null,
       color: _kToolbarBackgroundColor,
diff --git a/packages/flutter/test/cupertino/text_field_test.dart b/packages/flutter/test/cupertino/text_field_test.dart
index 8050c30..44076c6 100644
--- a/packages/flutter/test/cupertino/text_field_test.dart
+++ b/packages/flutter/test/cupertino/text_field_test.dart
@@ -1523,11 +1523,7 @@
     await tester.pump(const Duration(milliseconds: 200));
 
     Text text = tester.widget<Text>(find.text('Paste'));
-    const CupertinoDynamicColor toolbarTextColor = CupertinoDynamicColor.withBrightness(
-      color: CupertinoColors.black,
-      darkColor: CupertinoColors.white,
-    );
-    expect(text.style!.color, toolbarTextColor);
+    expect(text.style!.color, CupertinoColors.white);
     expect(text.style!.fontSize, 14);
     expect(text.style!.letterSpacing, -0.15);
     expect(text.style!.fontWeight, FontWeight.w400);
@@ -1559,7 +1555,7 @@
 
     text = tester.widget<Text>(find.text('Paste'));
     // The toolbar buttons' text are still the same style.
-    expect(text.style!.color, toolbarTextColor);
+    expect(text.style!.color, CupertinoColors.white);
     expect(text.style!.fontSize, 14);
     expect(text.style!.letterSpacing, -0.15);
     expect(text.style!.fontWeight, FontWeight.w400);
diff --git a/packages/flutter/test/cupertino/text_selection_toolbar_test.dart b/packages/flutter/test/cupertino/text_selection_toolbar_test.dart
index 015b098..5052d1e 100644
--- a/packages/flutter/test/cupertino/text_selection_toolbar_test.dart
+++ b/packages/flutter/test/cupertino/text_selection_toolbar_test.dart
@@ -60,11 +60,6 @@
   static const double itemWidth = 100.0;
 }
 
-const CupertinoDynamicColor _kToolbarBackgroundColor = CupertinoDynamicColor.withBrightness(
-  color: Color(0xEB202020),
-  darkColor: Color(0xEBF7F7F7),
-);
-
 void main() {
   TestWidgetsFlutterBinding.ensureInitialized();
 
@@ -267,40 +262,4 @@
     expect(find.text('Paste'), findsNothing);
     expect(find.text('Select all'), findsNothing);
   }, skip: kIsWeb); // [intended] We do not use Flutter-rendered context menu on the Web.
-
-  testWidgets('draws dark buttons in dark mode and light button in light mode', (WidgetTester tester) async {
-    for (final Brightness brightness in Brightness.values) {
-      await tester.pumpWidget(
-        CupertinoApp(
-          home: Center(
-            child: Builder(
-              builder: (BuildContext context) {
-                return MediaQuery(
-                  data: MediaQuery.of(context).copyWith(platformBrightness: brightness),
-                  child: CupertinoTextSelectionToolbar(
-                    anchorAbove: const Offset(100.0, 0.0),
-                    anchorBelow: const Offset(100.0, 0.0),
-                    children: <Widget>[
-                      CupertinoTextSelectionToolbarButton.text(
-                        onPressed: () {},
-                        text: 'Button',
-                      ),
-                    ],
-                  ),
-                );
-              },
-            ),
-          ),
-        ),
-      );
-
-      final Finder buttonFinder = find.byType(CupertinoButton);
-      expect(find.byType(CupertinoButton), findsOneWidget);
-      final CupertinoButton button = tester.widget(buttonFinder);
-      expect(
-        button.color,
-        _kToolbarBackgroundColor,
-      );
-    }
-  }, skip: kIsWeb); // [intended] We do not use Flutter-rendered context menu on the Web.
 }