::first-line not invalidated if ::first-letter rule matches the same element
Reported by
r...@opera.com,
Mar 4 2017
|
||
Issue descriptionA combination of ::first-line and ::first-letter for the same container will not invalidate for ::first-line changes.
,
Mar 6 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/f193ee6d21e6548ed425746ec80fb71faa7998a5 commit f193ee6d21e6548ed425746ec80fb71faa7998a5 Author: rune <rune@opera.com> Date: Mon Mar 06 11:33:42 2017 Bit-mask incorrectly removed first-line pseudo bit. The m_pseudoBits member only contains the 8 bits for the public pseudo element bits, yet we used a mask to retrieve them. That mask was incorrectly set to 0x1fe when it should have been 0xff. Anyway, that mask is unnecessary and removed. The mask issue caused StylePropagationDiff, returned from diffPseudoStyles, to be NoChange for pure ::first-line changes. That NoChange return were the only case which triggered first-line invalidation properly. Instead, always check for pseudo style changes in pseudoStyleCacheIsInvalid. This fixes issue 698451 . The pseudoStyleCacheIsInvalid method has a weird name, has bugs, and should be put on LayoutObject and called as part of setStyle instead. That is for follow-up CLs. R=meade@chromium.org,mstensho@opera.com BUG= 698451 Review-Url: https://codereview.chromium.org/2729373003 Cr-Commit-Position: refs/heads/master@{#454850} [add] https://crrev.com/f193ee6d21e6548ed425746ec80fb71faa7998a5/third_party/WebKit/LayoutTests/paint/invalidation/first-line-with-first-letter-expected.html [add] https://crrev.com/f193ee6d21e6548ed425746ec80fb71faa7998a5/third_party/WebKit/LayoutTests/paint/invalidation/first-line-with-first-letter.html [modify] https://crrev.com/f193ee6d21e6548ed425746ec80fb71faa7998a5/third_party/WebKit/Source/core/dom/Element.cpp [modify] https://crrev.com/f193ee6d21e6548ed425746ec80fb71faa7998a5/third_party/WebKit/Source/core/dom/Element.h [modify] https://crrev.com/f193ee6d21e6548ed425746ec80fb71faa7998a5/third_party/WebKit/Source/core/style/ComputedStyle.h [modify] https://crrev.com/f193ee6d21e6548ed425746ec80fb71faa7998a5/third_party/WebKit/Source/core/style/ComputedStyleConstants.h [modify] https://crrev.com/f193ee6d21e6548ed425746ec80fb71faa7998a5/third_party/WebKit/Source/core/style/ComputedStyleTest.cpp
,
Mar 6 2017
|
||
►
Sign in to add a comment |
||
Comment 1 by r...@opera.com
, Mar 6 2017