Bug 116076 - Don't recalc style for the whole subtree during animations
Summary: Don't recalc style for the whole subtree during animations
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: Layout and Rendering (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords: BlinkMergeCandidate
Depends on:
Blocks:
 
Reported: 2013-05-13 16:37 PDT by Ryosuke Niwa
Modified: 2013-05-20 20:58 PDT (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ryosuke Niwa 2013-05-13 16:37:29 PDT
We probably want to merge
https://chromium.googlesource.com/chromium/blink/+/96a74fcd42643e3e9b0320192b57a91e271f7709

Don't recalc style for the whole subtree during animations

SyntheticStyleChange was used by animations to trigger a style recalc on the
element that is being animated, but it was after FullStyleChange in the enum
which meant we'd Force recalc style on all the descendants of the animating
element as well even though it wasn't needed.

Instead we can put SyntheticStyleChange earlier in the enum and only trigger
a local style change on the animating element and let the normal Node::diff
logic decide if we need to recalc our children.

This should greatly improve performance when animating elements that
contain a large number of descendants.
Comment 1 Simon Fraser (smfr) 2013-05-13 16:44:38 PDT
Need to make sure the regressions we saw from bug 79389 don't occur here too.