Adding or removing ::first-line has no effect
Reported by
r...@opera.com,
Feb 8 2017
|
|||||
Issue descriptionSee attached demo. The reason is that Element::pseudoStyleCacheIsInvalid() only has an effect when ::first-line style is applied both before and after the change.
,
Feb 12 2017
,
Mar 6 2017
,
Mar 6 2017
,
Mar 7 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/3f2d0c6bbce99fc2880356ff2ebfd323b5bcd8bc commit 3f2d0c6bbce99fc2880356ff2ebfd323b5bcd8bc Author: rune <rune@opera.com> Date: Tue Mar 07 16:09:10 2017 Make ::first-line invalidation work when added or removed. We were only invalidating ::first-line properly when both old and new ComputedStyle contained ::first-line styles. Now, instead call setNeedsLayoutAndPrefWidthsRecalc to trigger changes when either old or new ComputedStyle does not have ::first-line style. The ::first-line invalidation is moved from Element to LayoutObject, and unnecessary traversal code removed. I have not been able to come up with a case where we need to compare PseudoIdFirstLineInherited style, so diffing that is removed. R=mstensho@opera.com BUG= 562418 , 564239 , 689979 Review-Url: https://codereview.chromium.org/2728383002 Cr-Commit-Position: refs/heads/master@{#455088} [modify] https://crrev.com/3f2d0c6bbce99fc2880356ff2ebfd323b5bcd8bc/third_party/WebKit/LayoutTests/fast/css/invalidation/add-first-line-style-expected.html [modify] https://crrev.com/3f2d0c6bbce99fc2880356ff2ebfd323b5bcd8bc/third_party/WebKit/LayoutTests/fast/css/invalidation/remove-first-line-style-expected.html [add] https://crrev.com/3f2d0c6bbce99fc2880356ff2ebfd323b5bcd8bc/third_party/WebKit/LayoutTests/paint/invalidation/first-line-inline-child-expected.html [add] https://crrev.com/3f2d0c6bbce99fc2880356ff2ebfd323b5bcd8bc/third_party/WebKit/LayoutTests/paint/invalidation/first-line-inline-child.html [modify] https://crrev.com/3f2d0c6bbce99fc2880356ff2ebfd323b5bcd8bc/third_party/WebKit/Source/core/dom/Element.cpp [modify] https://crrev.com/3f2d0c6bbce99fc2880356ff2ebfd323b5bcd8bc/third_party/WebKit/Source/core/dom/Element.h [modify] https://crrev.com/3f2d0c6bbce99fc2880356ff2ebfd323b5bcd8bc/third_party/WebKit/Source/core/layout/LayoutObject.cpp [modify] https://crrev.com/3f2d0c6bbce99fc2880356ff2ebfd323b5bcd8bc/third_party/WebKit/Source/core/layout/LayoutObject.h
,
Mar 7 2017
|
|||||
►
Sign in to add a comment |
|||||
Comment 1 by alancutter@chromium.org
, Feb 9 2017