Changeset 189836 in webkit
- Timestamp:
- Sep 15, 2015 6:31:50 PM (9 years ago)
- Location:
- trunk
- Files:
-
- 6 added
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r189832 r189836 1 2015-09-15 Benjamin Poulain <bpoulain@apple.com> 2 3 Style invalidation affecting siblings does not work with inline-style changes 4 https://bugs.webkit.org/show_bug.cgi?id=149189 5 6 Reviewed by Antti Koivisto. 7 8 * fast/css/style-attribute-invalidation-propagates-to-counted-siblings-expected.txt: Added. 9 * fast/css/style-attribute-invalidation-propagates-to-counted-siblings.html: Added. 10 * fast/css/style-attribute-invalidation-propagates-to-direct-siblings-expected.txt: Added. 11 * fast/css/style-attribute-invalidation-propagates-to-direct-siblings.html: Added. 12 * fast/css/style-attribute-invalidation-propagates-to-indirect-siblings-expected.txt: Added. 13 * fast/css/style-attribute-invalidation-propagates-to-indirect-siblings.html: Added. 14 1 15 2015-09-15 Myles C. Maxfield <mmaxfield@apple.com> 2 16 -
trunk/Source/WebCore/ChangeLog
r189834 r189836 1 2015-09-15 Benjamin Poulain <bpoulain@apple.com> 2 3 Style invalidation affecting siblings does not work with inline-style changes 4 https://bugs.webkit.org/show_bug.cgi?id=149189 5 6 Reviewed by Antti Koivisto. 7 8 Style::resolveTree() made the assumption that inline style changes only affect 9 descendants and should not participate in "StyleRecalcAffectsNextSiblingElementStyle". 10 That was wrong. If the inline style change through CSSOM, it can cause the creation 11 of a style attribute, which is observable through "StyleRecalcAffectsNextSiblingElementStyle". 12 13 This patch removes the incorrect assumption. Style invalidation is always propagated now. 14 15 Tests: fast/css/style-attribute-invalidation-propagates-to-counted-siblings.html 16 fast/css/style-attribute-invalidation-propagates-to-direct-siblings.html 17 fast/css/style-attribute-invalidation-propagates-to-indirect-siblings.html 18 19 * css/PropertySetCSSStyleDeclaration.cpp: 20 (WebCore::InlineCSSStyleDeclaration::didMutate): Deleted. 21 * dom/StyledElement.cpp: 22 (WebCore::StyledElement::inlineStyleChanged): 23 * dom/StyledElement.h: 24 (WebCore::StyledElement::invalidateStyleAttribute): 25 Clean up inline-style invalidation a tiny bit. 26 27 * style/StyleResolveTree.cpp: 28 (WebCore::Style::resolveTree): 29 Fix the bug. 30 1 31 2015-09-15 Joseph Pecoraro <pecoraro@apple.com> 2 32 -
trunk/Source/WebCore/css/PropertySetCSSStyleDeclaration.cpp
r188315 r189836 366 366 return; 367 367 368 m_parentElement->setNeedsStyleRecalc(InlineStyleChange);369 368 m_parentElement->invalidateStyleAttribute(); 370 369 StyleAttributeMutationScope(this).didInvalidateStyleAttr(); -
trunk/Source/WebCore/dom/StyledElement.cpp
r188619 r189836 215 215 void StyledElement::inlineStyleChanged() 216 216 { 217 setNeedsStyleRecalc(InlineStyleChange); 218 ASSERT(elementData()); 219 elementData()->setStyleAttributeIsDirty(true); 217 invalidateStyleAttribute(); 220 218 InspectorInstrumentation::didInvalidateStyleAttr(document(), *this); 221 219 } -
trunk/Source/WebCore/dom/StyledElement.h
r185591 r189836 98 98 ASSERT(elementData()); 99 99 elementData()->setStyleAttributeIsDirty(true); 100 setNeedsStyleRecalc(InlineStyleChange); 100 101 } 101 102 -
trunk/Source/WebCore/style/StyleResolveTree.cpp
r189239 r189836 821 821 childElement.setNeedsStyleRecalc(); 822 822 elementNeedingStyleRecalcAffectsNextSiblingElementStyle = childElement.affectsNextSiblingElementStyle(); 823 } else if (childElement. styleChangeType() >= FullStyleChange)823 } else if (childElement.needsStyleRecalc()) 824 824 elementNeedingStyleRecalcAffectsNextSiblingElementStyle = childElement.affectsNextSiblingElementStyle(); 825 825 if (change >= Inherit || childElement.childNeedsStyleRecalc() || childElement.needsStyleRecalc()) {
Note: See TracChangeset
for help on using the changeset viewer.