Commit 2751cb6
committed
[KeyEvent] Throttle keys repetition
In some apps it takes long time to handle key input (e.g. >500ms),
longer than key repetition interval is.
WebKit collects all key repetitions (KeyDown events) in m_keyEventQueue
and sends them one by one to the WebProcess. This may take
significant time, even after releasing all the buttons (keyboard/RCU)
blocking web app UI and making the app unresponsive untill all repetitions are handled.
Proposed solution is to simply detect key repetition (next KeyDown event without KeyUp)
and skip it if the previous one wasn't handled yet.1 parent 76d3b46 commit 2751cb6
3 files changed
Lines changed: 20 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
223 | 223 | | |
224 | 224 | | |
225 | 225 | | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
226 | 240 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
82 | 82 | | |
83 | 83 | | |
84 | 84 | | |
| 85 | + | |
85 | 86 | | |
86 | 87 | | |
87 | 88 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3111 | 3111 | | |
3112 | 3112 | | |
3113 | 3113 | | |
| 3114 | + | |
| 3115 | + | |
| 3116 | + | |
| 3117 | + | |
| 3118 | + | |
3114 | 3119 | | |
3115 | 3120 | | |
3116 | 3121 | | |
| |||
0 commit comments