Replace usage of "TimedPromise" with a simple timer in AnimationFramePromise
Categories
(Remote Protocol :: Agent, task, P2)
Tracking
(firefox140 fixed, firefox141 fixed)
People
(Reporter: whimboo, Assigned: whimboo)
References
Details
(Whiteboard: [webdriver:m16])
Attachments
(2 files)
|
Bug 1971512 - [remote] Replace usage of "TimedPromise" with a simple timer in AnimationFramePromise.
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
Bug 1971512 - [remote] Replace usage of "TimedPromise" with a simple timer in AnimationFramePromise.
48 bytes,
text/x-phabricator-request
|
phab-bot
:
approval-mozilla-beta+
|
Details | Review |
On bug 1947402 the AnimationFramePromise got refactored to allow to escape as well after a given amount of seconds. Therefore the TimedPromise was used to allow an early abort via Promise.race.
As it looks like the usage of the TimedPromise caused a regression because it cannot be canceled when requestAnimationFrame was called or the window was closed or put into BFCache. As such a warning log entry is done causing confusion when observing WebDriver logs or even failing tests that rely on specific log output.
I would suggest that we use a basic timer from the Timer.sys.mjs module instead for the AnimationFramePromise. That way we have a timer id that we can cancel once Promise.race was resolved.
| Assignee | ||
Comment 1•1 year ago
|
||
| Assignee | ||
Comment 2•1 year ago
|
||
This is causing a higher failure rate for Thunderbird so putting it into the m16 milestone.
| Assignee | ||
Comment 5•11 months ago
|
||
Original Revision: https://phabricator.services.mozilla.com/D253321
Updated•11 months ago
|
Comment 6•11 months ago
|
||
firefox-beta Uplift Approval Request
- User impact if declined: Only affects automation with Webdriver causing extra logs and potential xpcshell test failures
- Code covered by automated testing: yes
- Fix verified in Nightly: yes
- Needs manual QE test: no
- Steps to reproduce for manual QE testing: none
- Risk associated with taking this patch: low
- Explanation of risk level: Replaces a custom timer promise with a plain timer promise
- String changes made/needed: none
- Is Android affected?: yes
Updated•11 months ago
|
Updated•11 months ago
|
Description
•