Skip to content

[ios][platform_view] drawing website's touchesBegan is not blocked when using Flutter web views #179916

@hellohuanlin

Description

@hellohuanlin

Use case

  1. Visiting a drawing website (e.g. https://sketch.io/sketchpad/).
  2. Expand a draw down menu to block the gestures
  3. Try to draw on web site

We currently have 2 gesture blocking policies for web view: eager and waitUntilTouchesEnded.

  • With eager policy, touchesBegan is not blocked (though this site doesn't do anything on touchesBegan)
  • With waitUntilTouchesEnded policy, the whole touch sequence is not blocked (see video below).
IMG_1454.MOV

Note that when trying eager on this particular website, it appears to work fine, because this website doesn't add a point during touchesBegan. However, it is still semantically incorrect that touchesBegan is called, which could very well surprise us on other websites. This can only be fixed by hitTest approach.

Proposal

#179908 is a quick fix that simply "patches" an iOS 26 bug. It doesn't address this use case. It's a quick fix that doesn't require plugin update, so we want to land it instead.

However, in the future, we should revisit hitTest approach, which is the proper solution for touch/gesture blocking.

Metadata

Metadata

Assignees

Labels

P2Important issues not at the top of the work lista: platform-viewsEmbedding Android/iOS views in Flutter appsplatform-iosiOS applications specificallyteam-iosOwned by iOS platform teamtriaged-iosTriaged by iOS platform team

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions