void ServoElementSnapshot::AddAttrs(Element* aElement) { MOZ_ASSERT(aElement); if (HasAny(Flags::Attributes)) { return; } uint32_t attrCount = aElement->GetAttrCount(); const nsAttrName* attrName; for (uint32_t i = 0; i < attrCount; ++i) { attrName = aElement->GetAttrNameAt(i); const nsAttrValue* attrValue = aElement->GetParsedAttr(attrName->LocalName(), attrName->NamespaceID()); mAttrs.AppendElement(ServoAttrSnapshot(*attrName, *attrValue)); } mContains |= Flags::Attributes; }
void THomonymGrammems::Replace(const TGramBitSet& grOld, const TGramBitSet& grNew) { if ((grOld.none() || !HasAny(grOld)) && (grNew.none() || HasAll(grNew))) return; TGramBitSet noOld = ~grOld; All_ &= noOld; All_ |= grNew; TGrammarBunch tmp; for (TFormIter it(Forms_); it.Ok(); ++it) { TGramBitSet grammems = *it; grammems &= noOld; grammems |= grNew; if (grammems.any()) tmp.insert(grammems); } Forms_.swap(tmp); }