Chromium Code Reviews
DescriptionRemove isInShadowTree special case in Remove the forced layout in getComputedStyle for elements in Shadow DOM
This came from https://bugs.webkit.org/show_bug.cgi?id=97760 because the patch
walked the parentNode() chain looking for ancestors that need a recalc, which
didn't respect distributions, and the patch also didn't call updateDistribution
so a dirty distribution would cause incorrect results.
In blink the updateLayoutTreeForNodeIfNeeded method does respect shadow dom and
checks the distribution bits so we don't need to unconditionally force a layout.
Removing this exposed a bug in updateLayoutTreeForNodeIfNeeded where it was
using the composed tree looking for ancestor dirty bits, but the composed
tree skips over ShadowRoots, and those too can have dirty bits. To fix this
we extend the ParentTraversalDetails object to have the ShadowRoot that is
crossed when traversing.
Patch Set 1 #Patch Set 2 : Look at ShadowRoots when walking up the tree in updateLayoutTreeForNodeIfNeeded. #
Total comments: 5
Messages
Total messages: 23 (10 generated)
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||