void CSSStyleRule::setSelectorText(const String& selectorText) { Document* doc = 0; StyleSheet* ownerStyleSheet = m_style->stylesheet(); if (ownerStyleSheet) { if (ownerStyleSheet->isCSSStyleSheet()) doc = static_cast<CSSStyleSheet*>(ownerStyleSheet)->document(); if (!doc) doc = ownerStyleSheet->ownerNode() ? ownerStyleSheet->ownerNode()->document() : 0; } if (!doc) doc = m_style->node() ? m_style->node()->document() : 0; if (!doc) return; CSSParser p; CSSSelectorList selectorList; p.parseSelector(selectorText, doc, selectorList); if (!selectorList.first()) return; String oldSelectorText = this->selectorText(); m_selectorList.adopt(selectorList); if (this->selectorText() == oldSelectorText) return; doc->styleSelectorChanged(DeferRecalcStyle); }
void CSSPageRule::setSelectorText(const String& selectorText) { Document* doc = 0; if (CSSStyleSheet* styleSheet = parentStyleSheet()) doc = styleSheet->findDocument(); if (!doc) return; CSSParser p; CSSSelectorList selectorList; p.parseSelector(selectorText, doc, selectorList); if (!selectorList.first()) return; String oldSelectorText = this->selectorText(); m_selectorList.adopt(selectorList); if (this->selectorText() == oldSelectorText) return; doc->styleSelectorChanged(DeferRecalcStyle); }