Repository: flutter
Issue: [Web]TextField text selection broken on Chrome
Labels: a: text input,f: material design,f: scrolling,platform-web,has reproducible steps,browser: chrome-desktop,team-web,found in release: 3.28,found in release: 3.29

### Steps to reproduce

Run attached code. You can also use any other scrollable widget, change any TextField properties, the result will be the same

### Expected results

A fully functional, expanded TextField inside a scrollable widget is expected. Any workarounds to achieve this setup would be greatly appreciated

### Actual results

Text selection unexpectedly jumps to the start, causing issues such as scrolling to the top of the TextField. 

### Code sample

<details open><summary>Code sample</summary>

```dart
import 'package:flutter/material.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(home: Scaffold(body: BugWidget()));
  }
}

class BugWidget extends StatefulWidget {
  const BugWidget({super.key});

  @override
  State<BugWidget> createState() => _BugWidgetState();
}

class _BugWidgetState extends State<BugWidget> {
  late final TextEditingController controller;

  String text = """
      Kvkvbj v1 Nfxwzsh AV
      vxmjvsftshjzi gx_US [
      mwxiwz [
      sxndxjy="Bjgfujp";
      lcccdkqy="Gexcl";
      mhbjrjqx="Fypg";
      ]
      lcccdkqy {
      AV.VRLRCNMW.SPM_RLVGWX [
      kwmx="Fypg Rlvgwx";
      zwbs="Olgtjq Fypg Rlvgwx";
      hvrpgejmxpj="Keg brp yv gkqfr zr g kbx rlvgwx. Rkag twyja gmuu xmse dqnu pkyxw jp st gt g hrpmwm yet, xp tpgy gjnxcykx rqkcl";
      vlbjx="Yjmfiv vlbjx gkqfr rlvgwx fvzrly";
      swfjlcr="Fypg rlvgwx xtjdqm ivx bqe bmm gjmqgjjq";
      ];
      AV.VRLRCNMW.SPM_JQKPPRG [
      kwmx="Fypg Jqkppr";
      zwbs="Olgtjq Fypg Jqkppr";
      hvrpgejmxpj="Keg brp yv gkqfr zr g jqkppr. Xyilyebm, gmuu xmse jpq hfrj gkqfr qkyxw jw cpyg. Yjmfiv twyja gmuu jxse gkqfr jqkppr jp st gt g hrpmwm yet.";
      vlbjx="Yjmfiv vlbjx gkqfr jqkppr ymzyfmrjvmsj";
      swfjlcr="Fypg jqkppr xtjdqm ivx bqe cmm dgjjqgjrp";
      ];
      AV.VRLRCNMW.SPM_MKHGMUJX [
      kwmx="Fypg Mkhgmujx";
      zwbs="Vtgs Fypg Mkhgmujx";
      hvrpgejmxpj="Keg brp yv gkqfr zr g Mkhgmujx. Rkag twyja jp dpjnsxmj gjpxg yq e kbx rlvgwx mj hxdzrjv. Rkag twyja gmuu jpse gmuu Mkhgmujx jp st gt g hrpmwm yet.";
      vlbjx="Yjmfiv vlbjx gkqfr Mkhgmujx jgyjsjxvjmsj";
      swfjlcr="Fypg Mkhgmujx xtjdqm ivx bqe dgjjqgjrp";
      ];
      AV.VRLRCNMW.VQKMX_MKHGMUJX [
      kwmx="Vxkdjk Mkhgmujx";
      zwbs="Vqkxej Mkhgmujx";
      hvrpgejmxpj=zrxe;
      vlbjx="Yjmfiv vlbjx gkqfr vxkdjk Mkhgmujx";
      swfjlcr="Vxkdjk Mkhgmujx xtjdqm ivx bqe dgjjqgjrp";
      ];
      }
      irpxqm {
      # dxmdkx
      AV.VRLRCNMW.SPM_RLVGWX.%XJQGK [
      kwmx="Rlvgwx xjgj";
      hvrpgejmxpj="Whe hcgp kg fmkx he rlvgwx vtmmq yvjfx gm mm hgrxge gj bmx jgjgpmiotm.";
      fknjmrx=zrxe;
      ];
      AV.VRLRCNMW.SPM_RLVGWX.%ZBFJ [
      kwmx="Rlvgwx's zbfj";
      #hvrpgejmxpj="Whe zbfj he rlvgwx. Olgtjq brx jx zmuu hjngjqjqw gxv pqgcqtxbjm. Jcmz zbfj xjgj gm gjxyjmnxgxjp. Dwm jgf zbfj kgse djxy gm gjxyjmnxgxjp.";
      #fknjmrx=zrxe;
      hvrpgejmxpj="Fqjvw jc vav c xixj qmpgxjgvw vxv gzy pryfflxw.";
      swfjlcr="Fqjvw jc vav c xixj qmpgxjgvw xmxllx dvx jyy cmm dqnlmxw";
      ];
      AV.VRLRCNMW.SPM_RLVGWX.%DQL [
      kwmx="Rlvgwx's Qql";
      hvrpgejmxpj="Whe Rlvgwx's Qql. Whe ql mjkxgm ffy yr gkkxg rx ljgjgj gp wxrbcpr rz fhhmmhffl ymt fxgt gj tjjxtjjxl xjgjgpmiotm.";
      fknjmrx=zrxe;
      ];
      AV.VRLRCNMW.SPM_RLVGWX.%ZBFJ [
      kwmx="Rlvgwx's Xjqbjf Kxvxsxrxwx";
      hvrpgejmxpj="Whe Xjqbjf Kxvxsxrxwx. Yjmfiv Cvxj gmuu jp fvmx xjxljp nz gx hjylxv jxy jm fmmg lvxjxgxjgg.";
      fknjmrx=zrxe;
      ];
      AV.VRLRCNMW.SPM_RLVGWX.%CPGXF [
      kwmx="Rlvgwx's Cpgyx";
      hvrpgejmxpj="Rlvgwx's Cpgyx. Yjmfiv Whe Rlvgwx's Cpgyx, xgxjxljgxrz xj rlvgwx jxvxlr yp wzcpxj gmuu jxgzgzxj xjxljp.";
      fknjmrx=zrxe;
      ];
      AV.VRLRCNMW.SPM_RLVGWX.%MJLLGC_XBJRXM [
      kwmx="Rlvgwx's Mjllgc Xbjrxm";
      hvrpgejmxpj="Whe Rlvgwx's Mjllgc Xbjrxm yp wzcpxj. Yjmfiv Whe mjllgc xbjrxm he rvlgpj gz rqwc pg xepldmw mz gxcxng, hggxzqpjms jq gx jxgxzgxg gdygqgxcw. Yjmfiv Whe rvlgpj xbjrxm he rvlgpj gz rqwc pg xepldmw mz gxcxng, hggxzqpjms jq gx jxgxzgxg gdygqgxcw.";
      fknjmrx=zrxe;
      ];
      # dxmdkx
      AV.VRLRCNMW.SPM_JQKPPRG.%XJQGK [
      kwmx="Jqkppr xjgj";
      hvrpgejmxpj=zrxe;
      fknjmrx=zrxe;
      ];
      AV.VRLRCNMW.SPM_JQKPPRG.%ZBFJ [
      kwmx="Jqkppr's zbfj";
      hvrpgejmxpj=zrxe;
      fknjmrx=zrxe;
      ];
      AV.VRLRCNMW.SPM_JQKPPRG.%CPGXF [
      kwmx="Jqkppr's Cpgyx";
      hvrpgejmxpj=zrxe;
      fknjmrx=zrxe;
      ];
      AV.VRLRCNMW.SPM_JQKPPRG.%MJLLGC_XBJRXM [
      kwmx="Jqkppr's Mjllgc Xbjrxm";
      hvrpgejmxpj=zrxe;
      fknjmrx=zrxe;
      ];
      # dqjmmnx
      AV.VRLRCNMW.zazzazaa [
      kwmx="zazzazaa";
      kwmxs="zazzazaav";
      ];
      AV.VRLRCNMW.asdasd [
      kwmx="asdasd";
      kwmxs="asdasds";
      ];
      AV.VRLRCNMW.asdasdasd [
      kwmx="asdasdasd";
      kwmxs="asdasdasd";
      ];
      }
      attributes {
      # dxmdkx
      AV.VRLRCNMW.zazzazaa.@XJQGK [
      kwmx="zazzazaa xjgj";
      ];
      AV.VRLRCNMW.zazzazaa.@ZBFJ [
      kwmx="zazzazaa's zbfj";
      ];
      AV.VRLRCNMW.zazzazaa.@CPGXF [
      kwmx="zazzazaa's Cpgyx Kxvxsxrxwx";
      ];
      AV.VRLRCNMW.zazzazaa.@MJLLGC_XBJRXM [
      kwmx="zazzazaa's Mjllgc Xbjrxm";
      ];
      # asdasd
      AV.VRLRCNMW.asdasd.@XJQGK [
      kwmx="asdasd xjgj";
      ];
      AV.VRLRCNMW.asdasd.@ZBFJ [
      kwmx="asdasd's zbfj";
      ];
      AV.VRLRCNMW.asdasd.@CPGXF [
      kwmx="asdasd's Cpgyx";
      ];
      AV.VRLRCNMW.asdasd.@MJLLGC_XBJRXM [
      kwmx="asdasd's Mjllgc Xbjrxm";
      ];
      # asdasdasd
      AV.VRLRCNMW.asdasdasd.@ESTABLISHED [
      kwmx="Time of the asdasdasd";
      ];
      AV.VRLRCNMW.asdasdasd.@BY_asdasd [
      kwmx="By asdasd";
      ];
      AV.VRLRCNMW.asdasdasd.@OF_zazzazaa [
      kwmx="Of zazzazaa";
      ];
      AV.VRLRCNMW.asdasdasd.@DESCRIPTION [
      kwmx="Detailed description";
      ];
      AV.VRLRCNMW.asdasdasd.@PRESCRIPTIONS [
      kwmx="Prescriptions written out";
      ];
      AV.VRLRCNMW.asdasdasd.@NOTES [
      kwmx="asdasd's notes";
      ];
      }
      ]
      """;

  @override
  void initState() {
    super.initState();
    controller = TextEditingController(text: text);
  }

  @override
  void dispose() {
    controller.dispose();
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {
    return SingleChildScrollView(
      child: TextField(
        controller: controller,
        maxLines: null,
        expands: true,
        scrollPhysics: NeverScrollableScrollPhysics(),
      ),
    );
  }
}


```

</details>


### Screenshots or Video

<details open>
<summary>Screenshots / Video demonstration</summary>

https://github.com/user-attachments/assets/7f7c473c-d615-4e22-8652-6506497cec62

</details>


### Logs

<details open><summary>Logs</summary>

While debugging, I limited the height of the TextField using a SizedBox. There is a magic number (3004 px on my computer) at which it stops working as expected

</details>


### Flutter Doctor output

<details open><summary>Doctor output</summary>

```console
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel master, 3.28.0-2.0.pre.38700, on macOS 15.2 24C101 darwin-arm64, locale en-US)
[✓] Android toolchain - develop for Android devices (Android SDK version 35.0.0)
[!] Xcode - develop for iOS and macOS (Xcode 16.2)
    ! CocoaPods 1.15.2 out of date (1.16.2 is recommended).
        CocoaPods is a package manager for iOS or macOS platform code.
        Without CocoaPods, plugins will not work on iOS or macOS.
        For more info, see https://flutter.dev/to/platform-plugins
      To update CocoaPods, see https://guides.cocoapods.org/using/getting-started.html#updating-cocoapods
[✓] Chrome - develop for the web
[✓] Android Studio (version 2024.2)
[✓] IntelliJ IDEA Ultimate Edition (version 2024.3.1.1)
[✓] VS Code (version 1.96.2)
[✓] Connected device (4 available)
[✓] Network resources

! Doctor found issues in 1 category.
```

</details>