| Summary: | [Win] Implement DisplayRefreshMonitor by using RunLoop::Timer | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Product: | WebKit | Reporter: | Pavel Feldman <pfeldman> | ||||||
| Component: | WebCore Misc. | Assignee: | Fujii Hironori <Hironori.Fujii> | ||||||
| Status: | RESOLVED FIXED | ||||||||
| Severity: | Normal | CC: | annulen, benjamin, cdumez, cmarcelo, don.olmstead, ews-watchlist, gyuyoung.kim, Hironori.Fujii, ryuan.choi, sergio, webkit-bug-importer | ||||||
| Priority: | P2 | Keywords: | InRadar | ||||||
| Version: | WebKit Nightly Build | ||||||||
| Hardware: | Unspecified | ||||||||
| OS: | Windows 10 | ||||||||
| See Also: | https://bugs.webkit.org/show_bug.cgi?id=211711 | ||||||||
| Attachments: |
|
||||||||
Created attachment 398686 [details]
Patch
Created attachment 398690 [details]
Patch
Comment on attachment 398690 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=398690&action=review r=me > Source/WTF/wtf/PlatformUse.h:190 > #define USE_REQUEST_ANIMATION_FRAME_DISPLAY_MONITOR 1 There going to be a followup that removes references to this USE statement? Comment on attachment 398690 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=398690&action=review >> Source/WTF/wtf/PlatformUse.h:190 >> #define USE_REQUEST_ANIMATION_FRAME_DISPLAY_MONITOR 1 > > There going to be a followup that removes references to this USE statement? Yup. Comment on attachment 398690 [details] Patch Clearing flags on attachment: 398690 Committed r261264: <https://trac.webkit.org/changeset/261264> All reviewed patches have been landed. Closing bug. |
Creating a simple CSS animation fires random rafs every 2-20ms. In some of these rafs animated element is not moving. See console for the following snippet: <style>button { transition: margin 500ms linear 0s; margin-left: 0; }</style> <button id=button>Hello</button> <script> requestAnimationFrame(foo); let lastFrame = performance.now(); function foo(time) { console.log(time - lastFrame); lastFrame = time; console.log(button.getBoundingClientRect().x); if (button.getBoundingClientRect().x < 100) requestAnimationFrame(foo); } setTimeout(() => { button.style.marginLeft = "100px"; }); </script>