Open Bug 1934722 Opened 2 months ago

Run browser_partial_prerender_animation_in_popup.js with enabling apz.popups.enabled

Categories

(Core :: Panning and Zooming, task, P3)

task

Tracking

()

People

(Reporter: hiro, Unassigned)

References

(Blocks 1 open bug)

Details

In bug 1682629 we are going to enable APZ in popups having no remote content. With that, browser_partial_prerender_animation_in_popup.js fails.

There are 3 problemss I've identified.

  1. Hit MOZ_ASSERT(clipFrame == aFrame->PresShell()->GetRootScrollContainerFrame())
    This is because nsLayoutUtils::IsInPositionFixedSubtree(aFrame) fails for popup frames since the function walks up the frame teee in the browser window, we need to stop it by checking nsIFrame::IsMenuPopupFrame().

  2. Any jank is not observed, with APZ the pre-render area is taller than expected (I guess it's tied to the display port size)
    Thus we need to move the transform animation translateY(-130px) isn't enough, I've confirmed translateY(-430px) causes jank.

  3. With APZ, we do use the corresponding APZC's composition bounds, but the composition bounds includes the offset to the reference frame
    Thus it somehow breaks the test results.

Anyways, with enabling APZ for panel popups the test doesn't work as expected, i.e. there's only one jank.

That's said, we have disabled partial prerender animations even on nightlies, so I am going to defer this problem now as a follow-up.

You need to log in before you can comment on or make changes to this bug.