Make partial-prerender-expansion-with-resolution-1.html pass on WebRender with enabling partial pre-render on Android
Categories
(Core :: Layout, defect, P3)
Tracking
()
People
(Reporter: mattwoodrow, Unassigned)
References
(Depends on 1 open bug, Blocks 1 open bug)
Details
Bug 1707513 changes the reftest harness slightly so that it uses async messages with a reply for requesting a canvas update, instead of a sync message.
Looking at the log for the failing test, it seems that we keep detecting that there's a pending paint and so we wait for the MozAfterPaint event. This repeats for what looks to be ~3000 paints.
I think we're just waiting for the entire 100s animation to complete (log timestamps aren't useful, because the reftest harness dumps the whole test log in one go), and then capturing a final screenshot without the transform applied.
I guess if isMozAfterPaintPending is returning true, then it means we're not running this animation async?
I'm going to mark this as failing on WebRender+Android for now.
Updated•3 years ago
|
Comment 2•3 years ago
|
||
With the layers backend, this transform
value includes reftest-resolution value, whereas with the WebRender backend, this transform
doesn't include the resolution value, thus we fail to detect jank with WebRender, in other words, we mis-consider janks a lot, then we repeatedly see MozAfterPaint events.
I fixed a similar issue caused by this WebRender/layers backend difference in bug 1682200 for hit-testing issues on fission worlds, in that bug we applied the desktop zoom value (i.e. reftest-resolution value) in the top level content document on the main-thread, but I am almost 100% sure we can't take the same approach here. Presumably we need to apply the zoom value on the compositor in the case of WebRender.
Comment 3•3 years ago
|
||
Thanks.
:hiro, I have additional question. When I tested browser_test_scrollbar_in_extension_popup_window.js locally on Linux, it did not use WebRenderLayerManager::MakeSnapshotIfRequired() nor ClientLayerManager::MakeSnapshotIfRequired(), since CanvasRenderingContext2D::DrawWindow() was called in content process. With it, does the test work as expected?
Comment 4•3 years ago
|
||
So as for the case of browser_test_scrollbar_in_extension_popup_window.js, it opens an extension's popup window which is opened in a content process, i.e. popup.html in the test is opened in a content process, then we can take a snapshot on the content by canvas drawWindow just like our reftest harness does.
Comment 5•3 years ago
|
||
Sorry, browser_test_scrollbar_in_extension_popup_window.js is not related to this bug. I was confused. I just worried that popup reftests does not test expected target(WebRender/Compositor).
Comment 7•3 years ago
|
||
bug 1722359 made this reftest pass on Android+WR, should we close this? See bug 1722436
Comment 8•3 years ago
|
||
Yep, sure. Thanks! So there were some inconsistencies about the pref showing/hiding scrollbars?
Description
•