Home | History | Annotate | Download | only in invalidation

Lines Matching refs:element

12 #include "core/dom/Element.h"
22 if (Element* documentElement = document.documentElement())
29 void StyleInvalidator::scheduleInvalidation(PassRefPtrWillBeRawPtr<DescendantInvalidationSet> invalidationSet, Element& element)
31 ASSERT(element.inActiveDocument());
32 ASSERT(element.styleChangeType() < SubtreeStyleChange);
33 InvalidationList& list = ensurePendingInvalidationList(element);
41 element.setNeedsStyleInvalidation();
44 StyleInvalidator::InvalidationList& StyleInvalidator::ensurePendingInvalidationList(Element& element)
46 PendingInvalidationMap::AddResult addResult = m_pendingInvalidationMap.add(&element, nullptr);
84 bool StyleInvalidator::RecursionData::matchesCurrentInvalidationSets(Element& element)
88 if (m_invalidateCustomPseudo && element.shadowPseudoId() != nullAtom)
92 if ((*it)->invalidatesElement(element))
99 bool StyleInvalidator::checkInvalidationSetsAgainstElement(Element& element)
101 if (element.styleChangeType() >= SubtreeStyleChange || m_recursionData.wholeSubtreeInvalid()) {
105 if (element.needsStyleInvalidation()) {
106 if (InvalidationList* invalidationList = m_pendingInvalidationMap.get(&element)) {
109 // FIXME: It's really only necessary to clone the render style for this element, not full style recalc.
113 return m_recursionData.matchesCurrentInvalidationSets(element);
116 bool StyleInvalidator::invalidateChildren(Element& element)
119 for (ShadowRoot* root = element.youngestShadowRoot(); root; root = root->olderShadowRoot()) {
122 for (Element* child = ElementTraversal::firstChild(*root); child; child = ElementTraversal::nextSibling(*child)) {
129 for (Element* child = ElementTraversal::firstChild(element); child; child = ElementTraversal::nextSibling(*child)) {
136 bool StyleInvalidator::invalidate(Element& element)
140 bool thisElementNeedsStyleRecalc = checkInvalidationSetsAgainstElement(element);
143 if (m_recursionData.hasInvalidationSets() || element.childNeedsStyleInvalidation())
144 someChildrenNeedStyleRecalc = invalidateChildren(element);
147 element.setNeedsStyleRecalc(m_recursionData.wholeSubtreeInvalid() ? SubtreeStyleChange : LocalStyleChange);
150 if (RenderObject* renderer = element.renderer())
153 element.setNeedsStyleRecalc(LocalStyleChange);
156 element.clearChildNeedsStyleInvalidation();
157 element.clearNeedsStyleInvalidation();