๐Ÿ“ฑ HOST PAGE SCROLL
0px

โŒ Issue #157435 - BEFORE FIX

Touch scrolling is blocked inside Flutter embedded view

๐Ÿ‘† Try dragging here - this works! โœ…

๐Ÿงช Touch Scrolling Test Zone

โš ๏ธ BROKEN STATE: Touch scrolling inside the Flutter view below is BLOCKED. The host page will NOT scroll when you drag inside the red-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 (red border)
  3. Notice that the page does NOT scroll (scroll indicator stays at 0px)
  4. Try dragging in the header above or footer below - those work! โœ…
  5. On desktop, mouse wheel scrolling works everywhere โœ…

Flutter Embedded View:

๐Ÿ‘‡ Try to drag/swipe inside this red-bordered area on a touch device:

๐Ÿ“– 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.