Repository: flutter
Issue: [Web]: Editable text in TextFields not selectable if the text exceeds length of the TextFields.
Labels: a: text input,framework,a: desktop,has reproducible steps,P2,found in release: 2.2,team-text-input,triaged-text-input

If the text in a TextField is too long, I can't select it.
Problem is in Flutter WEB.
Try too select "Hi". -> No problem.
But try to select text in the TextField with the long text. -> not possible.


```
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';


void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: "Test",
      home: Scaffold(body: TestPage()),
    );
  }
}

class TestPage extends StatelessWidget {
  TextEditingController _nameController;
  TextEditingController _cmdNameController;
  TextEditingController _cmdClassController;
  TextEditingController _cmdVariantController;
  TextEditingController _userController;
  TextEditingController _jobDataController;
  bool loading = false;
  String error = "";




  @override
  Widget build(BuildContext context) {


    var normalBorder = OutlineInputBorder(borderRadius: BorderRadius.circular(2), borderSide: BorderSide(color: Colors.black45, width: 0.5));
    var focusBorder = OutlineInputBorder(borderRadius: BorderRadius.circular(2), borderSide: BorderSide(color: Colors.black45, width: 1));
    InputDecoration textFiledDecoration = InputDecoration(
        border: normalBorder,
        focusedBorder: focusBorder,
        enabledBorder: normalBorder,
        contentPadding: EdgeInsets.symmetric(horizontal: 10)
    );


    _nameController = TextEditingController();
    TextField nameTextField = TextField(controller: _nameController, decoration: textFiledDecoration);
    _nameController.text = "Hi";
    SizedBox nameTextSizedBox = SizedBox(width: 500, child: nameTextField, height: 35);
    Row nameRow = _putInDescribedRow("Name:", nameTextSizedBox);

    _cmdNameController = TextEditingController();
    TextField cmdNameTextField = TextField(controller: _cmdNameController, decoration: textFiledDecoration);
    _cmdNameController.text = "Hi";
    SizedBox cmdNameTextSizedBox = SizedBox(width: 500, child: cmdNameTextField, height: 35);
    Row cmdNameRow = _putInDescribedRow("command name:", cmdNameTextSizedBox);

    _cmdClassController = TextEditingController();
    TextField cmdClassTextField = TextField(controller: _cmdClassController, decoration: textFiledDecoration);
    _cmdClassController.text = "Hi";
    SizedBox cmdClassTextSizedBox = SizedBox(width: 500, child: cmdClassTextField, height: 35);
    Row cmdClassRow = _putInDescribedRow("command class:", cmdClassTextSizedBox);


    _cmdVariantController = TextEditingController();
    TextField cmdVariantTextField = TextField(controller: _cmdVariantController, decoration: textFiledDecoration);
    _cmdVariantController.text = "You can't mark text in text field where the text is initially too long for the text field.";
    SizedBox cmdVariantTextSizedBox = SizedBox(width: 500, child: cmdVariantTextField, height: 35);
    Row cmdVariantRow = _putInDescribedRow("command variant:", cmdVariantTextSizedBox);

    _userController = TextEditingController();
    TextField userTextField = TextField(controller: _userController, decoration: textFiledDecoration);
    _userController.text = "Hi";
    SizedBox userTextSizedBox = SizedBox(width: 500, child: userTextField, height: 35);
    Row userRow = _putInDescribedRow("user:", userTextSizedBox);

    // _jobDataController = TextEditingController();
    // TextField jobDataTextField = TextField(controller: _jobDataController, decoration: textFiledDecoration, keyboardType: TextInputType.multiline, maxLines: 8, maxLengthEnforcement: MaxLengthEnforcement.enforced);
    // _jobDataController.text = "[Some]\nMultiLine\nContent that is displayed not correct.";
    // SizedBox jobDataTextSizedBox = SizedBox(width: 500, child: jobDataTextField, height: 150);
    // Row jobDataRow = _putInDescribedRow("job data:", jobDataTextSizedBox);


    //Save Button

    // GlobalXButton saveButton = GlobalXButton(text: "Speichern", onPressed: _updateStartConfiguration, iconConstant: IconConstants.save);
    // Row saveButtonPositioned = Row(children: [saveButton], mainAxisAlignment: MainAxisAlignment.center);


    //assemble everything together

    List<Widget> content = [nameRow, SizedBox(height: 8), cmdNameRow, SizedBox(height: 8), cmdClassRow, SizedBox(height: 8), cmdVariantRow,
      SizedBox(height: 8), userRow, SizedBox(height: 8), /*jobDataRow, SizedBox(height: 15), saveButtonPositioned*/];


    if (error != "") {

      content.add(SizedBox(height: 12));
      Text errorText = Text(error, style: TextStyle(color: Colors.red));
      Row errorRow = Row(children: [errorText], mainAxisAlignment: MainAxisAlignment.center);
      content.add(errorRow);
    }

    if (loading) {
      content.add(SizedBox(height: 12));
      // content.add(LoadingSpinner());
    }

    Column column = Column(
        children: content,
        crossAxisAlignment: CrossAxisAlignment.start
    );

    return Container(child: column, color: Colors.white, padding: EdgeInsets.all(15),);

    // WhiteContentArea whiteContentArea = WhiteContentArea(child: column);
    // return whiteContentArea;
  }

  Row _putInDescribedRow(String text, Widget widget) {

    double descriptionWidth = 120;
    SizedBox description = SizedBox(child: Text(text, style: TextStyle(fontSize: 15)), width: descriptionWidth);
    Row row = Row(children: [description, SizedBox(width: 8), widget]);

    return row;

  }

}
```
```

[√] Flutter (Channel beta, 2.2.0, on Microsoft Windows [Version 10.0.19043.985], locale de-DE)
    • Flutter version 2.2.0 at C:\Users\akilian\Flutter SDK\flutter
    • Framework revision b22742018b (4 weeks ago), 2021-05-14 19:12:57 -0700
    • Engine revision a9d88a4d18
    • Dart version 2.13.0

[!] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at C:\Users\akilian\AppData\Local\Android\sdk
    • Platform android-30, build-tools 30.0.3
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6842174)
    X Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/windows#android-setup for more details.

[√] Chrome - develop for the web
    • Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe

[√] Android Studio (version 4.1.0)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin can be installed from:
       https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
       https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6842174)

[√] VS Code (version 1.52.1)
    • VS Code at C:\Users\akilian\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension can be installed from:
       https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter

[√] Connected device (2 available)
    • Chrome (web) • chrome • web-javascript • Google Chrome 91.0.4472.77
    • Edge (web)   • edge   • web-javascript • Microsoft Edge 90.0.818.49

! Doctor found issues in 1 category.
```