Bug 329455
| Summary: | [WebDriver BiDi] input.performActions: keep interpolated pointer moves to their duration under load | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Razvan Caliman <rcaliman> |
| Component: | New Bugs | Assignee: | Nobody <webkit-unassigned> |
| Status: | NEW | ||
| Severity: | Normal | CC: | webkit-bug-importer |
| Priority: | P2 | Keywords: | InRadar |
| Version: | WebKit Nightly Build | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Bug Depends on: | 326378 | ||
| Bug Blocks: | 281949 | ||
Razvan Caliman
SimulatedInputDispatcher interpolates a pointerMove in fixed steps. Each step waits stepInterval and then the event's round trip to the web process, so the total time exceeds the requested duration under load, as in debug builds and on bots.
Fix: compute each step's position from elapsed time ((MonotonicTime::now() − start) / duration), dispatch the end point once the duration has elapsed, and schedule the next step at the shorter of the interval and the time remaining. This may be best done together with webkit.org/b/329453 (concurrent interpolation), which reworks the same timer.
Reported in review of https://github.com/WebKit/WebKit/pull/75927.
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Radar WebKit Bug Importer
<rdar://problem/191328336>