void ShadowRoot::recalcStyle(StyleRecalcChange change) { // ShadowRoot doesn't support custom callbacks. ASSERT(!hasCustomStyleCallbacks()); StyleResolverParentScope parentScope(*this); if (styleChangeType() >= SubtreeStyleChange) change = Force; // There's no style to update so just calling recalcStyle means we're updated. clearNeedsStyleRecalc(); recalcChildStyle(change); clearChildNeedsStyleRecalc(); }
void Element::recalcStyle(StyleRecalcChange change) { ASSERT(document().inStyleRecalc()); ASSERT(!parentNode()->needsStyleRecalc()); if (change >= Inherit || needsStyleRecalc()) { if (hasRareData()) { ElementRareData* data = elementRareData(); data->clearComputedStyle(); } if (parentRenderStyle()) change = recalcOwnStyle(change); clearNeedsStyleRecalc(); } // If we reattached we don't need to recalc the style of our descendants anymore. if ((change >= Inherit && change < Reattach) || childNeedsStyleRecalc()) { recalcChildStyle(change); clearChildNeedsStyleRecalc(); } }