Closed Bug 1706853 Opened 2 months ago Closed 8 days ago

[M-fis-xorig] High intermittent layout/style/test/test_animations_effect_timing_enddelay.html | OMTA should work

Categories

(Core :: Layout, defect, P5)

defect

Tracking

()

RESOLVED FIXED
91 Branch
Fission Milestone M8
Tracking Status
firefox91 --- fixed

People

(Reporter: intermittent-bug-filer, Assigned: hiro)

References

(Blocks 2 open bugs)

Details

(Keywords: intermittent-failure)

Attachments

(1 file)

Fission Milestone: --- → M8

I cloud reproduce the failure locally on an opt build. Will try to catch what's going on there.

Assignee: nobody → hikezoe.birchill
Status: NEW → ASSIGNED
See Also: → 1672356

So the failure happens when we haven't received BrowserChild::mTopLevelViewportVisibleRectInBrowserCoords from APZ.

Our animation code has an optimization that we skip restyling/painting where the animation's target element is scrolled out. If the target element is in an OOP iframe, we use the BrowserChild::mTopLevelViewportVisibleRectInBrowserCoords to see whether the iframe is scrolled out (or clipped out) by ancestor viewports. But if we haven't received the mTopLevelViewportVisibleRectInBrowserCoords from APZ, the corresponding function, BrowserChild::GetTopLevelViewportVisibleRectInBrowserCoords returns an empty rectangle, thus we incorrectly consider the element is scrolled out, then we fail to paint the animation, thus we fail a sanity check in animation_utils.js.

With this change we no longer incorrectly consider there is no visible rect for
the OOP iframe where we haven't yet received the rectangle from APZ.

Pushed by hikezoe.birchill@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/5e0d86ff0ab9
Make GetFrameVisibleRectOnScreen return Nothing() if we haven't received OOP iframe's transformed rectangle from APZ. r=botond
Status: ASSIGNED → RESOLVED
Closed: 8 days ago
Resolution: --- → FIXED
Target Milestone: --- → 91 Branch
Blocks: 1716403
You need to log in before you can comment on or make changes to this bug.