Repository: flutter
Issue: [Flutter Web][Android Chrome] ListView freeze after scroll in IFrame
Labels: a: text input,framework,f: scrolling,platform-web,has reproducible steps,P2,browser: chrome-android,found in release: 3.3,found in release: 3.7,team-web,triaged-web

## Steps to Reproduce

1. Execute `flutter run -d web-server --web-port 8080 --web-hostname 0.0.0.0` on the ListView code sample
2. Replace `X.X.X.X` in IFrame code sample with your IP address (Use `ipconfig getifaddr en1` for wireless, or `ipconfig getifaddr en0` for ethernet to fetch you IP address)
3. Execute `flutter run -d web-server --web-port 8081 --web-hostname 0.0.0.0` on the IFrame code sample
4. Open chrome on android device or emulator and go to 'http://X.X.X.X:8081' (replace `X.X.X.X` with your IP address)
5. Scroll immediately after the page loads, then tap on a text filed

**Expected results:**
Expceted that I can focus text field after scroll.

**Actual results:**
Nothing can gain focus after scroll.

<details>
<summary>ListView code sample</summary>

```
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(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: Scaffold(
        body: ListView(
          children: [
            for (int i = 0; i < 20; i++)
              Padding(
                padding: const EdgeInsets.all(8.0),
                child: TextFormField(),
              ),
          ],
        ),
      ),
    );
  }
}
```

</details>

<details>
  <summary>IFrame code sample</summary>

```
import 'package:flutter/material.dart';
import 'dart:html';
import 'dart:ui' as ui;

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: const IframeView(source: 'http://X.X.X.X:8080'),
    );
  }
}

class IframeView extends StatefulWidget {
  final String source;

  const IframeView({Key? key, required this.source}) : super(key: key);

  @override
  _IframeViewState createState() => _IframeViewState();
}

class _IframeViewState extends State<IframeView> {
  // Widget _iframeWidget;
  final IFrameElement _iframeElement = IFrameElement();

  @override
  void initState() {
    super.initState();
    _iframeElement.src = widget.source;
    _iframeElement.style.border = 'none';

    //ignore: undefined_prefixed_name
    ui.platformViewRegistry.registerViewFactory(
      'iframeElement',
      (int viewId) => _iframeElement,
    );
  }

  @override
  Widget build(BuildContext context) {
    return HtmlElementView(
      key: UniqueKey(),
      viewType: 'iframeElement',
    );
  }
}

```
</details>

So far, I only managed to reproduce this on Android on chrome browser.
<img width="400" src="https://user-images.githubusercontent.com/19204342/212659848-540d1646-4624-4a45-beef-5729a82e10d0.gif">