Closed Bug 1764891 Opened 3 years ago Closed 3 years ago

[fission] iframe CSS animation not smooth unless constantly moving mouse cursor over it due to offscreen throttling

Categories

(Core :: DOM: Animation, defect)

Firefox 97
defect

Tracking

()

RESOLVED FIXED
101 Branch
Tracking Status
firefox-esr91 --- unaffected
firefox99 --- wontfix
firefox100 --- wontfix
firefox101 --- fixed

People

(Reporter: ke5trel, Assigned: tnikkel)

References

(Blocks 1 open bug, Regression, )

Details

(Keywords: regression)

Attachments

(1 file)

STR:

  1. Visit https://codepen.io/sarazond/pen/LYGbwj.
  2. Note the smoothness of the starfield animation.
  3. Move the mouse cursor constantly over the iframe containing the animation.

Expected:

The animation is always smooth.

Actual:

The animation is only smooth when the cursor is moving over the iframe area. Opening the frame in a new tab does not have the problem. It also does not occur with dom.animations.offscreen-throttling = false or with fission.autostart = false.

Regressed by Bug 1732358.

:nika, since you are the author of the regressor, bug 1732358, could you take a look?
For more information, please visit auto_nag documentation.

Flags: needinfo?(nika)
Has Regression Range: --- → yes
Depends on: 1580706
Flags: needinfo?(nika)

The testcase uses a 3x3 pixel div and then places a lot of box shadows that are up to a few thousand pixels away from the div. The box shadow is not included in the the rect of the frame, but is in the ink overflow rect. The div is then transformed so it's out of the viewport, so it's rect is not visible.

Added in https://hg.mozilla.org/integration/autoland/rev/dd526a39c352

The related code in nsIFrame::IsScrolledOutOfView uses ink overflow rect.

https://searchfox.org/mozilla-central/rev/b7f7de56de604bbd232c25bc6ad94ca3acf2e70b/layout/generic/nsIFrame.cpp#11355

Assignee: nobody → tnikkel
Status: NEW → ASSIGNED
Depends on: 1541705
No longer depends on: 1580706
See Also: → 1765124
Pushed by tnikkel@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/a04b8e18137d Use ink overflow rect to determine visibility in GetFrameVisibleRectOnScreen. r=hiro
Status: ASSIGNED → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → 101 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: