Revert "Add BuildContext parameter to TextEditingController.buildTextSpan (#72344)" (#73503)
This reverts commit 4901744e62f67ad10440725d2c97e84e66ce77f5, which was a minor breaking change that I missed. Will try to open the PR again following the breaking change process.
diff --git a/packages/flutter/lib/src/material/selectable_text.dart b/packages/flutter/lib/src/material/selectable_text.dart
index bd9fc6f..7fc8433 100644
--- a/packages/flutter/lib/src/material/selectable_text.dart
+++ b/packages/flutter/lib/src/material/selectable_text.dart
@@ -31,7 +31,7 @@
final TextSpan _textSpan;
@override
- TextSpan buildTextSpan({TextStyle? style, required bool withComposing, required BuildContext context}) {
+ TextSpan buildTextSpan({TextStyle? style ,bool? withComposing}) {
// This does not care about composing.
return TextSpan(
style: style,
diff --git a/packages/flutter/lib/src/widgets/editable_text.dart b/packages/flutter/lib/src/widgets/editable_text.dart
index 828e1fc..7e374eb 100644
--- a/packages/flutter/lib/src/widgets/editable_text.dart
+++ b/packages/flutter/lib/src/widgets/editable_text.dart
@@ -185,7 +185,7 @@
///
/// By default makes text in composing range appear as underlined. Descendants
/// can override this method to customize appearance of text.
- TextSpan buildTextSpan({TextStyle? style , required bool withComposing, required BuildContext context}) {
+ TextSpan buildTextSpan({TextStyle? style , required bool withComposing}) {
assert(!value.composing.isValid || !withComposing || value.isComposingRangeValid);
// If the composing range is out of range for the current text, ignore it to
// preserve the tree integrity, otherwise in release mode a RangeError will
@@ -2669,7 +2669,6 @@
return widget.controller.buildTextSpan(
style: widget.style,
withComposing: !widget.readOnly,
- context: context,
);
}
}
diff --git a/packages/flutter/test/widgets/editable_text_test.dart b/packages/flutter/test/widgets/editable_text_test.dart
index 27a4f25..f15876d 100644
--- a/packages/flutter/test/widgets/editable_text_test.dart
+++ b/packages/flutter/test/widgets/editable_text_test.dart
@@ -5674,25 +5674,6 @@
}),
);
});
-
- testWidgets('TextEditingController.buildTextSpan receives build context', (WidgetTester tester) async {
- final _AccentColorTextEditingController controller = _AccentColorTextEditingController('a');
- const Color color = Color.fromARGB(255, 1, 2, 3);
- await tester.pumpWidget(MaterialApp(
- theme: ThemeData.light().copyWith(accentColor: color),
- home: EditableText(
- controller: controller,
- focusNode: FocusNode(),
- style: Typography.material2018(platform: TargetPlatform.android).black.subtitle1!,
- cursorColor: Colors.blue,
- backgroundCursorColor: Colors.grey,
- ),
- ));
-
- final RenderEditable renderEditable = findRenderEditable(tester);
- final TextSpan textSpan = renderEditable.text!;
- expect(textSpan.style!.color, color);
- });
});
testWidgets('autofocus:true on first frame does not throw', (WidgetTester tester) async {
@@ -7169,13 +7150,3 @@
@override
void paint(PaintingContext context, Offset offset) { }
}
-
-class _AccentColorTextEditingController extends TextEditingController {
- _AccentColorTextEditingController(String text) : super(text: text);
-
- @override
- TextSpan buildTextSpan({TextStyle? style, required bool withComposing, required BuildContext context}) {
- final Color color = Theme.of(context).accentColor;
- return super.buildTextSpan(style: TextStyle(color: color), withComposing: withComposing, context: context);
- }
-}