Skip to content

[Impeller] WebView jumps around while scrolling into view #115664

@zanderso

Description

@zanderso

With Impeller enabled, a WebView will jump around as it scrolls into view. I think this might be different from #109007, but I'm not sure.

main.dart
import 'package:flutter/material.dart';
import 'package:webview_flutter/webview_flutter.dart';

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: MyHomePage(),
    );
  }
}

class MyHomePage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text('Flutter Impeller Test'),
      ),
      body: Center(

        child: ListView(

          children: <Widget>[
            Text(
              'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi a metus elit. Duis eget odio eget leo blandit malesuada ut non felis. Donec tempor erat sed lobortis convallis. Nunc sodales fermentum est, ut molestie lectus fringilla ac. Donec nec rhoncus urna, nec facilisis augue. Ut fermentum fermentum massa, sit amet aliquet purus imperdiet ac. Aliquam erat volutpat. Vestibulum ut justo quis dui mattis mattis. Nunc tincidunt mi at nunc consectetur egestas vitae quis velit. Duis nec est vel nisi egestas suscipit. Nam congue laoreet urna. Ut convallis augue viverra sapien tempor, vel viverra erat varius.'
              'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi a metus elit. Duis eget odio eget leo blandit malesuada ut non felis. Donec tempor erat sed lobortis convallis. Nunc sodales fermentum est, ut molestie lectus fringilla ac. Donec nec rhoncus urna, nec facilisis augue. Ut fermentum fermentum massa, sit amet aliquet purus imperdiet ac. Aliquam erat volutpat. Vestibulum ut justo quis dui mattis mattis. Nunc tincidunt mi at nunc consectetur egestas vitae quis velit. Duis nec est vel nisi egestas suscipit. Nam congue laoreet urna. Ut convallis augue viverra sapien tempor, vel viverra erat varius.'
              'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi a metus elit. Duis eget odio eget leo blandit malesuada ut non felis. Donec tempor erat sed lobortis convallis. Nunc sodales fermentum est, ut molestie lectus fringilla ac. Donec nec rhoncus urna, nec facilisis augue. Ut fermentum fermentum massa, sit amet aliquet purus imperdiet ac. Aliquam erat volutpat. Vestibulum ut justo quis dui mattis mattis. Nunc tincidunt mi at nunc consectetur egestas vitae quis velit. Duis nec est vel nisi egestas suscipit. Nam congue laoreet urna. Ut convallis augue viverra sapien tempor, vel viverra erat varius.'
              'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi a metus elit. Duis eget odio eget leo blandit malesuada ut non felis. Donec tempor erat sed lobortis convallis. Nunc sodales fermentum est, ut molestie lectus fringilla ac. Donec nec rhoncus urna, nec facilisis augue. Ut fermentum fermentum massa, sit amet aliquet purus imperdiet ac. Aliquam erat volutpat. Vestibulum ut justo quis dui mattis mattis. Nunc tincidunt mi at nunc consectetur egestas vitae quis velit. Duis nec est vel nisi egestas suscipit. Nam congue laoreet urna. Ut convallis augue viverra sapien tempor, vel viverra erat varius.',
            ),
            Container(
              height: 400,
              child: WebView(
                initialUrl: 'https://flutter.dev',
              ),
            ),
            Text(
              'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi a metus elit. Duis eget odio eget leo blandit malesuada ut non felis. Donec tempor erat sed lobortis convallis. Nunc sodales fermentum est, ut molestie lectus fringilla ac. Donec nec rhoncus urna, nec facilisis augue. Ut fermentum fermentum massa, sit amet aliquet purus imperdiet ac. Aliquam erat volutpat. Vestibulum ut justo quis dui mattis mattis. Nunc tincidunt mi at nunc consectetur egestas vitae quis velit. Duis nec est vel nisi egestas suscipit. Nam congue laoreet urna. Ut convallis augue viverra sapien tempor, vel viverra erat varius.'
              'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi a metus elit. Duis eget odio eget leo blandit malesuada ut non felis. Donec tempor erat sed lobortis convallis. Nunc sodales fermentum est, ut molestie lectus fringilla ac. Donec nec rhoncus urna, nec facilisis augue. Ut fermentum fermentum massa, sit amet aliquet purus imperdiet ac. Aliquam erat volutpat. Vestibulum ut justo quis dui mattis mattis. Nunc tincidunt mi at nunc consectetur egestas vitae quis velit. Duis nec est vel nisi egestas suscipit. Nam congue laoreet urna. Ut convallis augue viverra sapien tempor, vel viverra erat varius.'
              'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi a metus elit. Duis eget odio eget leo blandit malesuada ut non felis. Donec tempor erat sed lobortis convallis. Nunc sodales fermentum est, ut molestie lectus fringilla ac. Donec nec rhoncus urna, nec facilisis augue. Ut fermentum fermentum massa, sit amet aliquet purus imperdiet ac. Aliquam erat volutpat. Vestibulum ut justo quis dui mattis mattis. Nunc tincidunt mi at nunc consectetur egestas vitae quis velit. Duis nec est vel nisi egestas suscipit. Nam congue laoreet urna. Ut convallis augue viverra sapien tempor, vel viverra erat varius.'
              'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi a metus elit. Duis eget odio eget leo blandit malesuada ut non felis. Donec tempor erat sed lobortis convallis. Nunc sodales fermentum est, ut molestie lectus fringilla ac. Donec nec rhoncus urna, nec facilisis augue. Ut fermentum fermentum massa, sit amet aliquet purus imperdiet ac. Aliquam erat volutpat. Vestibulum ut justo quis dui mattis mattis. Nunc tincidunt mi at nunc consectetur egestas vitae quis velit. Duis nec est vel nisi egestas suscipit. Nam congue laoreet urna. Ut convallis augue viverra sapien tempor, vel viverra erat varius.',
            ),
          ],
        ),
      ),
    );
  }
}
RPReplay_Final1668797362.mp4

This was recorded with flutter/engine @ flutter/engine@556e041

Metadata

Metadata

Assignees

No one assigned

    Labels

    P0Critical issues such as a build break or regressione: impellerImpeller rendering backend issues and features requests

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions