Files
Daniil 48004de24d osr: win: Fix character events dropped for low byte 0x08/0x1B (fixes #4282) (#4283)
ui::KeyboardCode became a uint8_t on Windows in Chromium 148. A
character event carries its character in CefKeyEvent::windows_key_code,
so the ui::KeyEvent built from it keeps only the low byte in its key
code, and the one-argument NativeWebKeyboardEvent constructor copies
that key code into the web event. For characters whose low byte is 0x08
or 0x1B (e.g. U+041B Л, U+0408 Ј, U+011B ě) the web event then carries
VK_BACK/VK_ESCAPE, and WebFrameWidgetImpl::HandleCharEvent drops it
because WebKeyboardEvent::IsCharacterKey() is false for those codes.

Use the two-argument constructor for KEYEVENT_CHAR, as
RenderWidgetHostViewAura::InsertChar does for windowed browsers, so that
windows_key_code carries the full character.
2026-10-09 13:43:21 -04:00
..