Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: b29596b70459531a1d9b16b00ff2d3de5a4a467c
https://github.com/WebKit/WebKit/commit/b29596b70459531a1d9b16b00ff2d3de5a4a467c
Author: Lauro Moura <[email protected]>
Date: 2025-12-16 (Tue, 16 Dec 2025)
Changed paths:
M Source/WebKit/UIProcess/Automation/SimulatedInputDispatcher.cpp
Log Message:
-----------
REGRESSION(304265@main) [WPE][WebDriver] Browser freeze simulating some input
actions
https://bugs.webkit.org/show_bug.cgi?id=304085
Reviewed by Carlos Garcia Campos.
304265@main uncovered a subtle use-after-modification bug in the
transition of keyboard-related input states.
When iterating the current state reference ('a') keys, the underlying
inputSource.state might get overwritten by the eventDispatchFinished
callback before the iteration finishes. Currently, this is leading to
infinite loops on the release build, and `m_weakPosition` ListHashSet
iterator assertions in debug builds.
This commit fixes this by capturing the current state keys into
snapshots before iterating.
Covered by existing tests.
* Source/WebKit/UIProcess/Automation/SimulatedInputDispatcher.cpp:
(WebKit::SimulatedInputDispatcher::transitionInputSourceToState):
Canonical link: https://commits.webkit.org/304511@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications