๐Ÿ“ฑ HOST PAGE SCROLL
0px

โœ… Issue #157435 - AFTER FIX

Touch scrolling works everywhere with engine fix!

๐Ÿ‘† Try dragging anywhere - it all works! โœ…

๐Ÿงช Touch Scrolling Test Zone

โœ… FIXED STATE: Touch scrolling inside the Flutter view below now WORKS! The host page scrolls when you drag inside the green-bordered area.
๐Ÿ“‹ How to Test:
  1. Open this page on a mobile device (or use Chrome DevTools mobile emulation)
  2. Try to drag/swipe up or down inside the Flutter view (green border)
  3. Notice that the page DOES scroll now! (scroll indicator moves)
  4. Touch scrolling works everywhere - both inside and outside the Flutter view! โœ…
  5. On desktop, mouse wheel scrolling also works everywhere โœ…

Flutter Embedded View:

๐Ÿ‘‡ Try to drag/swipe inside this green-bordered area on a touch device - it works now!

๐Ÿ“– About This Issue

GitHub Issue: #157435

Problem: When a Flutter web app is embedded in a page using multiViewEnabled: true or iframe, touch-based scrolling (mainly on Android/iOS browsers) does NOT scroll the host page.

Root Cause: Flutter's engine calls preventDefault() on touch events, which blocks the browser's native touch scrolling behavior.

Impact: This is a MAJOR BLOCKER for using Flutter view-embedding on mobile devices. Users cannot scroll the host page when touching the Flutter content.

โœ… What Works

โŒ What's Broken

๐Ÿ’ก The Fix

The solution is to modify the engine's pointer_binding.dart to NOT call preventDefault() on touch events when the Flutter content is non-scrollable or when browser scrolling should be enabled.

This allows the browser to handle native touch scrolling while still supporting Flutter's gesture detection for interactive widgets.