DescriptionDon't always full invalidate on change of align-content, align-items and align-self.
On change of align-content, align-items and align-self, if there are
real geometry changes, the renderer can handle through the normal
geometry change path. Otherwise we should not repaint.
Move the cases from
RenderStyle::diffNeedsFullLayoutAndPaintInvalidation()
to
RenderStyle::diffNeedsFullLayout
Tests cover cases of align-content, align-items and align-self changes
needing invalidation, and align-content and align-self changes not
needing invalidation.
For now any change of align-items causes reattaching of RenderObject
so we still always invalidate.
This change is needed for bug 408697 (position style change) because
changing position:relative to position:absolute also changes align-self.
BUG=375876
TEST=fast/repaint/align*.html
R=dsinclair@chromium.org, jchaffraix@chromium.org
Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=181415
Patch Set 1 #
Total comments: 5
Patch Set 2 : s/repaint/invalidation/ in tests #Patch Set 3 : Update test expectations #Messages
Total messages: 12 (4 generated)
|