DescriptionStop explicit inheritance if LayoutStyle doesn't change.
Propagation of explicitly inherited properties down the tree is not
necessary when LayoutStyle does not change, so start comparing LayoutStyle
before checking the explicitInheritance flag.
The LayoutStyle comparison should not include the explicitInheritance flag
as that typically results in a propagation diff caused by that flag being
unset on new LayoutStyle instances before any children get their styles
calculated.
The assumption is that it is not relevant in other uses of
LayoutStyle::operator==, either. In particular, also the comparison with
baseRenderStyle in the ASSERT in ActiveAnimations::updateBaseLayoutStyle.
The explicitInheritance flag is also skipped for copyNonInheritedFrom.
The reason is that it's only used for sharing non-inherited properties
between elements which don't have the same children, hence should not
share that flag either.
BUG=435450
Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=190990
Patch Set 1 #
Total comments: 2
Patch Set 2 : Corrected and documented flag copying/comparisons #Messages
Total messages: 19 (6 generated)
|