Skip to content

Pointer position shifts in scaled Platform Views in Flutter 3.19 Android #144278

@toda-bps

Description

@toda-bps

Steps to reproduce

  1. Run code sample.
  2. Click some links on the page.

Expected results

Click at the same location as the cursor.

example: 3.13.9.mp4, 3.16.9.mp4, 3.19.1_ios.mp4

  • note
    • There is no problem with 3.13.9/3.16.9/3.19.1 on iOS.
    • webview_flutter: 4.5.0

Actual results

Click at a different position than the cursor.

example: 3.19.1.mp4

Code sample

Code sample
import 'package:flutter/material.dart';
import 'package:webview_flutter/webview_flutter.dart';

void main() => runApp(const _App());

class _App extends StatelessWidget {
  const _App();

  @override
  Widget build(BuildContext context) {
    return const MaterialApp(home: _Home());
  }
}

class _Home extends StatefulWidget {
  const _Home();

  @override
  State<_Home> createState() => _HomeState();
}

class _HomeState extends State<_Home> {
  final _controller = WebViewController();

  @override
  void initState() {
    super.initState();
    _controller
      ..setJavaScriptMode(JavaScriptMode.unrestricted)
      ..loadRequest(Uri.https('api.flutter.dev'));
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text('Scaled WebView Tester'),
      ),
      body: Transform.scale(
        scale: 0.75,
        child: WebViewWidget(controller: _controller),
      ),
    );
  }
}

Screenshots or Video

Screenshots / Video demonstration
3.13.9.mp4
3.16.9.mp4
3.19.1_ios.mp4
3.19.1.mp4

Flutter Doctor output

Doctor output

3.13.9

HEAD is now at d211f42860 [flutter_releases] Flutter stable 3.13.9 Framework Cherrypicks (#137284)
+ flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[!] Flutter (Channel [user-branch], 3.13.9, on macOS 14.3.1 23D60 darwin-x64, locale ja-JP)
    ! Flutter version 3.13.9 on channel [user-branch] at /System/Volumes/Data/buildroot/flutter_3.13
      Currently on an unknown channel. Run `flutter channel` to switch to an official channel.
      If that doesn't fix the issue, reinstall Flutter by following instructions at https://flutter.dev/docs/get-started/install.
    ! Upstream repository unknown source is not a standard remote.
      Set environment variable "FLUTTER_GIT_URL" to unknown source to dismiss this error.
[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
[✓] Xcode - develop for iOS and macOS (Xcode 15.2)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2023.1)
[✓] VS Code (version 1.86.2)
[✓] Connected device (2 available)
[✓] Network resources

3.16.9

[!] Flutter (Channel [user-branch], 3.16.9, on macOS 14.3.1 23D60 darwin-x64, locale ja-JP)
    ! Flutter version 3.16.9 on channel [user-branch] at /System/Volumes/Data/buildroot/flutter_3.16
      Currently on an unknown channel. Run `flutter channel` to switch to an official channel.
      If that doesn't fix the issue, reinstall Flutter by following instructions at https://flutter.dev/docs/get-started/install.
    ! Upstream repository unknown source is not a standard remote.
      Set environment variable "FLUTTER_GIT_URL" to unknown source to dismiss this error.
[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
[✓] Xcode - develop for iOS and macOS (Xcode 15.2)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2023.1)
[✓] VS Code (version 1.86.2)
[✓] Connected device (3 available)
[✓] Network resources

3.19.1

Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.19.1, on macOS 14.3.1 23D60 darwin-x64, locale ja-JP)
[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
[✓] Xcode - develop for iOS and macOS (Xcode 15.2)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2023.1)
[✓] VS Code (version 1.86.2)
[✓] Connected device (3 available)
[✓] Network resources

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Important issues not at the top of the work lista: platform-viewsEmbedding Android/iOS views in Flutter appsc: regressionIt was better in the past than it is nowfound in release: 3.19Found to occur in 3.19found in release: 3.20Found to occur in 3.20has reproducible stepsThe issue has been confirmed reproducible and is ready to work onplatform-androidAndroid applications specificallyteam-androidOwned by Android platform teamtriaged-androidTriaged by Android platform team

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions