Mouad Debbar 8df5257785
[web] Fix error in ClickDebouncer when using VoiceOver (#174046)
When using VoiceOver, clicking the button through `ctrl+opt+space`
causes the browser to send `pointerdown`, `pointerup` and `click` events
successively within the same event loop. This case wasn't handled
correct by the recent `ClickDebouncer` change here:
https://github.com/flutter/flutter/pull/172995

More details:

We currently wait until the end of the event loop to set the
`ClickDebouncer`'s state. When other events arrive before the end of the
event loop, they expect the `state` to already be set.

The fix is to set the `state` immediately to allow events to be queued
right away, but still keep the debouncing delayed until the end of the
event loop so that Safari continues to work correctly (issue:
https://github.com/flutter/flutter/issues/172180)

Fixes https://github.com/flutter/flutter/issues/173741
2025-08-19 22:02:15 +00:00
..

Flutter Engine

Setting up the Engine development environment

See here

gclient bootstrap

Flutter engine uses gclient to manage dependencies.

If you've already cloned the flutter repository:

  1. Copy one of the engine/scripts/*.gclient to the root folder as .gclient:
    1. Googlers: copy rbe.gclient to enable faster builds with RBE
    2. Everyone else: copy standard.gclient
  2. run gclient sync from the root folder