Commit de3a7171 authored by ch.dumez@samsung.com's avatar ch.dumez@samsung.com

Use ElementTraversal API in ContainerNode::checkForChildrenAdjacentRuleChanges()

Use ElementTraversal API in ContainerNode::checkForChildrenAdjacentRuleChanges()
as we are only interested in child Elements.

R=esprehn@chromium.org

Review URL: https://codereview.chromium.org/316173007

git-svn-id: svn://svn.chromium.org/blink/trunk@175722 bbb929c8-8fbe-4397-9dbb-9b2b20218538
parent 0940074a
...@@ -1116,20 +1116,16 @@ void ContainerNode::checkForChildrenAdjacentRuleChanges() ...@@ -1116,20 +1116,16 @@ void ContainerNode::checkForChildrenAdjacentRuleChanges()
bool forceCheckOfAnyElementSibling = false; bool forceCheckOfAnyElementSibling = false;
Document& document = this->document(); Document& document = this->document();
for (Node* child = firstChild(); child; child = child->nextSibling()) { for (Element* child = ElementTraversal::firstChild(*this); child; child = ElementTraversal::nextSibling(*child)) {
if (!child->isElementNode()) bool childRulesChanged = child->needsStyleRecalc() && child->styleChangeType() >= SubtreeStyleChange;
continue;
Element* element = toElement(child);
bool childRulesChanged = element->needsStyleRecalc() && element->styleChangeType() >= SubtreeStyleChange;
if (forceCheckOfNextElementCount || forceCheckOfAnyElementSibling) if (forceCheckOfNextElementCount || forceCheckOfAnyElementSibling)
element->setNeedsStyleRecalc(SubtreeStyleChange); child->setNeedsStyleRecalc(SubtreeStyleChange);
if (forceCheckOfNextElementCount)
forceCheckOfNextElementCount--;
if (childRulesChanged && hasDirectAdjacentRules) if (childRulesChanged && hasDirectAdjacentRules)
forceCheckOfNextElementCount = document.styleEngine()->maxDirectAdjacentSelectors(); forceCheckOfNextElementCount = document.styleEngine()->maxDirectAdjacentSelectors();
else if (forceCheckOfNextElementCount)
--forceCheckOfNextElementCount;
forceCheckOfAnyElementSibling = forceCheckOfAnyElementSibling || (childRulesChanged && hasIndirectAdjacentRules); forceCheckOfAnyElementSibling = forceCheckOfAnyElementSibling || (childRulesChanged && hasIndirectAdjacentRules);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment