New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 660586 link

Starred by 3 users

Issue metadata

Status: Duplicate
Merged: issue 650433
Owner:
Closed: Oct 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

CSS animation in a descendent of a display:None block triggers a style recalc on every frame.

Project Member Reported by erikc...@chromium.org, Oct 28 2016

Issue description

See https://b.corp.google.com/issues/32124393 for more details. 

This structure seems to be causing a style recalc on every frame. This is my guess - I have not yet created a minified repro. 
Div A - display:None
  iFrame
    Div C - infinite CSS animation

Once we solve this, we should also add this to the CPU time perf benchmark to prevent future regressions.
 
Have a minimized repro that confirms my guess. Will throw together a test.
Neat bug!

Is the iframe important to the bug?

Is a telemetry benchmark the right place to prevent regressing this? It doesn't seem like a high-level user-centric use-case.
Does style calc have LayoutTests or unittests?

Comment 3 by samli@chromium.org, Oct 30 2016

Labels: Performance
Components: -Blink>Animation Blink>HTML>IFrame
This behaviour can be checked with a layout test (check getAnimations() on the animating element (hidden behind the experimental flag)), a performance test isn't necessary.

I think the core of this issue is in how we treat iframes inside display: none elements. If animations are running then presumably everything else in the iframe is behaving like it's not display: none as well. My guess is that frames aren't checking whether their DOM ancestry has display: none when running their document lifecycle.

Comment 5 by dcheng@chromium.org, Oct 31 2016

Mergedinto: 650433
Status: Duplicate (was: Assigned)
Cc: erikc...@chromium.org
 Issue 654106  has been merged into this issue.
Issue 656210 has been merged into this issue.

Sign in to add a comment