Repository: flutter
Issue: [web][Safari-iOS][Chrome-Android] TextField cursor doesn't move to the clicked position
Labels: a: text input,engine,platform-web,has reproducible steps,P2,browser: safari-ios,browser: chrome-android,found in release: 3.7,found in release: 3.9,team-web,triaged-web

<details>
<summary> Code sample</summary>

```dart
TextField(
                autofocus: true,
                textAlign: TextAlign.left,
                style: globalNavigatorKey.textTheme.bodyText1,
                obscureText: false,
                autocorrect: false,
                enableSuggestions: false,
                controller: _inputController,
                focusNode: _textFieldFocusNode,
                keyboardType: TextInputType.text,
                onChanged: (newValue) {
                  setState(() {
                    if (newValue != null &&
                        newValue.endsWith("@") &&
                        lastestInputLength < newValue.length) {
                      _navigateToUserSelection();
                    }
                  });
                  lastestInputLength = newValue?.length;
                },
                decoration: InputDecoration(
                    isDense: true,
                    contentPadding: const EdgeInsets.symmetric(
                        vertical: 10, horizontal: 10),
                    focusedBorder: const OutlineInputBorder(
                        borderRadius: BorderRadius.all(Radius.circular(4.0)),
                        borderSide: BorderSide(
                            color: OnesColors.primaryBlue, width: 1.0)),
                    enabledBorder: const OutlineInputBorder(
                        borderRadius: BorderRadius.all(Radius.circular(4.0)),
                        borderSide: BorderSide(
                            color: OnesColors.lightGray, width: 1.0)),
                    disabledBorder: const OutlineInputBorder(
                        borderRadius: BorderRadius.all(Radius.circular(4.0)),
                        borderSide: BorderSide(
                            color: OnesColors.lightGray, width: 1.0)),
//                        border: OutlineInputBorder(borderRadius: BorderRadius.all(Radius.circular(4.0)),borderSide: BorderSide(color: OnesColors.LoginPageTitleBackGround, width: 1.0)),
                    hintText: "",
                    hintStyle: globalNavigatorKey.textTheme.bodyText1
                        .copyWith(color: OnesColors.lightGray)),
//            maxLength: 500,
                minLines: 6,
                maxLines: 6,
              )
```
</details>

<!--
      Please create a minimal reproducible sample that shows the problem
      and attach it below between the lines with the backticks.

      To create it you can use `flutter create bug` command and update the `main.dart` file.

      Alternatively, you can use https://dartpad.dev/
      which is capable of creating and running small Flutter apps.

      Without this we will unlikely be able to progress on the issue, and because of that
      we regretfully will have to close it.
-->

</details>

<details>
  <summary>Logs</summary>

<!--
      Run your application with `flutter run --verbose` and attach all the
      log output below between the lines with the backticks. If there is an
      exception, please see if the error message includes enough information
      to explain how to solve the issue.
-->

<!--
     Run `flutter analyze` and attach any output of that command below.
     If there are any analysis errors, try resolving them before filing this issue.
-->

```
Analyzing xxxx...                                                
No issues found! (ran in 4.6s)

```

<!-- Finally, paste the output of running `flutter doctor -v` here. -->

```
╰ flutter doctor -v
[✓] Flutter (Channel stable, 2.2.3, on macOS 11.5.1 20G80 darwin-arm, locale
    zh-Hans-CN)
    • Flutter version 2.2.3 at /Users/ones/Library/flutter
    • Framework revision f4abaa0735 (6 months ago), 2021-07-01 12:46:11 -0700
    • Engine revision 241c87ad80
    • Dart version 2.13.4
    • Pub download mirror https://pub.flutter-io.cn
    • Flutter download mirror https://storage.flutter-io.cn

[!] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/ones/Library/Android/sdk
    • Platform android-30, build-tools 31.0.0
    • ANDROID_HOME = /Users/ones/Library/Android/sdk
    • ANDROID_SDK_ROOT = /Users/ones/Library/Android/sdk
    • Java binary at: bin/java
    ✗ Cannot execute bin/java to determine the version

⡿
[✓] Xcode - develop for iOS and macOS
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 13.1, Build version 13A1030d
    • CocoaPods version 1.10.1

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[!] Android Studio (not installed)
    • Android Studio not found; download from
      https://developer.android.com/studio/index.html
      (or visit https://flutter.dev/docs/get-started/install/macos#android-setup
      for detailed instructions).
```

</details>


<!--
      Consider also attaching screenshots and/or videos to better
      illustrate the issue.

      You can upload them directly on GitHub.
      Beware that video file size is limited to 10MB.
-->

https://user-images.githubusercontent.com/2295872/147738324-44066fb6-eafe-48e1-ac72-d2d870c24ca6.mov