REGRESSION: ChildrenAffectedBy flags lost between siblings which have child elements...
authorAllan Sandfeld Jensen <allan.jensen@digia.com>
Wed, 6 Feb 2013 17:53:55 +0000 (18:53 +0100)
committerThe Qt Project <gerrit-noreply@qt-project.org>
Thu, 7 Feb 2013 18:21:34 +0000 (19:21 +0100)
commit4bebf46b5ae9868a5925f09a3e259adc77041ae1
treedd4417c5216166c0f459b1fe925a7a46162c3e5c
parent9c8d87d26c8b572af44b95c13838b8b838c4dfa9
REGRESSION: ChildrenAffectedBy flags lost between siblings which have child elements sharing style

https://bugs.webkit.org/show_bug.cgi?id=105672

Reviewed by Andreas Kling.

Change in how childrenAffectedBy bits were stored made it easier to trigger an issue where childrenAffectedBy bits
were not set due to sharing of styles between cousin elements.

This patch fixes the issue by not sharing styles from children with parents who prevent sharing.

Tests: fast/selectors/cousin-stylesharing-adjacent-selector.html
        fast/selectors/cousin-stylesharing-last-child-selector.html

* css/StyleResolver.cpp:
(WebCore::parentElementPreventsSharing):
(WebCore::StyleResolver::locateCousinList):
* dom/Element.cpp:
(WebCore::Element::hasFlagsSetDuringStylingOfChildren):
* dom/Element.h:
(Element):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141093 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Change-Id: I333eb08622790a1be96287abca38e0d1efb49de6
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
Source/WebCore/ChangeLog
Source/WebCore/css/StyleResolver.cpp
Source/WebCore/dom/Element.cpp
Source/WebCore/dom/Element.h