Loading content/base/src/nsAttrAndChildArray.cpp +13 −33 Original line number Diff line number Diff line Loading @@ -444,10 +444,8 @@ nsAttrAndChildArray::RemoveAttrAt(PRUint32 aPos, nsAttrValue& aValue) return NS_OK; } nsRefPtr<nsMappedAttributes> mapped; nsresult rv = GetModifiableMapped(nullptr, nullptr, false, getter_AddRefs(mapped)); NS_ENSURE_SUCCESS(rv, rv); nsRefPtr<nsMappedAttributes> mapped = GetModifiableMapped(nullptr, nullptr, false); mapped->RemoveAttrAt(aPos, aValue); Loading Loading @@ -558,18 +556,15 @@ nsAttrAndChildArray::SetAndTakeMappedAttr(nsIAtom* aLocalName, nsMappedAttributeElement* aContent, nsHTMLStyleSheet* aSheet) { nsRefPtr<nsMappedAttributes> mapped; bool willAdd = true; if (mImpl && mImpl->mMappedAttrs) { willAdd = mImpl->mMappedAttrs->GetAttr(aLocalName) == nullptr; willAdd = !mImpl->mMappedAttrs->GetAttr(aLocalName); } nsresult rv = GetModifiableMapped(aContent, aSheet, willAdd, getter_AddRefs(mapped)); NS_ENSURE_SUCCESS(rv, rv); nsRefPtr<nsMappedAttributes> mapped = GetModifiableMapped(aContent, aSheet, willAdd); rv = mapped->SetAndTakeAttr(aLocalName, aValue); nsresult rv = mapped->SetAndTakeAttr(aLocalName, aValue); NS_ENSURE_SUCCESS(rv, rv); return MakeMappedUnique(mapped); Loading @@ -584,10 +579,8 @@ nsAttrAndChildArray::DoSetMappedAttrStyleSheet(nsHTMLStyleSheet* aSheet) return NS_OK; } nsRefPtr<nsMappedAttributes> mapped; nsresult rv = GetModifiableMapped(nullptr, nullptr, false, getter_AddRefs(mapped)); NS_ENSURE_SUCCESS(rv, rv); nsRefPtr<nsMappedAttributes> mapped = GetModifiableMapped(nullptr, nullptr, false); mapped->SetStyleSheet(aSheet); Loading Loading @@ -697,33 +690,20 @@ nsAttrAndChildArray::MappedAttrCount() const return mImpl && mImpl->mMappedAttrs ? (PRUint32)mImpl->mMappedAttrs->Count() : 0; } nsresult nsMappedAttributes* nsAttrAndChildArray::GetModifiableMapped(nsMappedAttributeElement* aContent, nsHTMLStyleSheet* aSheet, bool aWillAddAttr, nsMappedAttributes** aModifiable) bool aWillAddAttr) { *aModifiable = nullptr; if (mImpl && mImpl->mMappedAttrs) { *aModifiable = mImpl->mMappedAttrs->Clone(aWillAddAttr); NS_ENSURE_TRUE(*aModifiable, NS_ERROR_OUT_OF_MEMORY); NS_ADDREF(*aModifiable); return NS_OK; return mImpl->mMappedAttrs->Clone(aWillAddAttr); } NS_ASSERTION(aContent, "Trying to create modifiable without content"); MOZ_ASSERT(aContent, "Trying to create modifiable without content"); nsMapRuleToAttributesFunc mapRuleFunc = aContent->GetAttributeMappingFunction(); *aModifiable = new nsMappedAttributes(aSheet, mapRuleFunc); NS_ENSURE_TRUE(*aModifiable, NS_ERROR_OUT_OF_MEMORY); NS_ADDREF(*aModifiable); return NS_OK; return new nsMappedAttributes(aSheet, mapRuleFunc); } nsresult Loading content/base/src/nsAttrAndChildArray.h +5 −4 Original line number Diff line number Diff line Loading @@ -127,10 +127,11 @@ private: PRUint32 NonMappedAttrCount() const; PRUint32 MappedAttrCount() const; nsresult GetModifiableMapped(nsMappedAttributeElement* aContent, // Returns a non-null zero-refcount object. nsMappedAttributes* GetModifiableMapped(nsMappedAttributeElement* aContent, nsHTMLStyleSheet* aSheet, bool aWillAddAttr, nsMappedAttributes** aModifiable); bool aWillAddAttr); nsresult MakeMappedUnique(nsMappedAttributes* aAttributes); PRUint32 AttrSlotsSize() const Loading content/base/src/nsMappedAttributes.cpp +1 −3 Original line number Diff line number Diff line Loading @@ -68,9 +68,7 @@ void* nsMappedAttributes::operator new(size_t aSize, PRUint32 aAttrCount) CPP_TH aAttrCount * sizeof(InternalAttr)); #ifdef DEBUG if (newAttrs) { static_cast<nsMappedAttributes*>(newAttrs)->mBufferSize = aAttrCount; } #endif return newAttrs; Loading content/base/src/nsMappedAttributes.h +1 −1 Original line number Diff line number Diff line Loading @@ -26,8 +26,8 @@ public: nsMappedAttributes(nsHTMLStyleSheet* aSheet, nsMapRuleToAttributesFunc aMapRuleFunc); // Do not return null. void* operator new(size_t size, PRUint32 aAttrCount = 1) CPP_THROW_NEW; nsMappedAttributes* Clone(bool aWillAddAttr); NS_DECL_ISUPPORTS Loading Loading
content/base/src/nsAttrAndChildArray.cpp +13 −33 Original line number Diff line number Diff line Loading @@ -444,10 +444,8 @@ nsAttrAndChildArray::RemoveAttrAt(PRUint32 aPos, nsAttrValue& aValue) return NS_OK; } nsRefPtr<nsMappedAttributes> mapped; nsresult rv = GetModifiableMapped(nullptr, nullptr, false, getter_AddRefs(mapped)); NS_ENSURE_SUCCESS(rv, rv); nsRefPtr<nsMappedAttributes> mapped = GetModifiableMapped(nullptr, nullptr, false); mapped->RemoveAttrAt(aPos, aValue); Loading Loading @@ -558,18 +556,15 @@ nsAttrAndChildArray::SetAndTakeMappedAttr(nsIAtom* aLocalName, nsMappedAttributeElement* aContent, nsHTMLStyleSheet* aSheet) { nsRefPtr<nsMappedAttributes> mapped; bool willAdd = true; if (mImpl && mImpl->mMappedAttrs) { willAdd = mImpl->mMappedAttrs->GetAttr(aLocalName) == nullptr; willAdd = !mImpl->mMappedAttrs->GetAttr(aLocalName); } nsresult rv = GetModifiableMapped(aContent, aSheet, willAdd, getter_AddRefs(mapped)); NS_ENSURE_SUCCESS(rv, rv); nsRefPtr<nsMappedAttributes> mapped = GetModifiableMapped(aContent, aSheet, willAdd); rv = mapped->SetAndTakeAttr(aLocalName, aValue); nsresult rv = mapped->SetAndTakeAttr(aLocalName, aValue); NS_ENSURE_SUCCESS(rv, rv); return MakeMappedUnique(mapped); Loading @@ -584,10 +579,8 @@ nsAttrAndChildArray::DoSetMappedAttrStyleSheet(nsHTMLStyleSheet* aSheet) return NS_OK; } nsRefPtr<nsMappedAttributes> mapped; nsresult rv = GetModifiableMapped(nullptr, nullptr, false, getter_AddRefs(mapped)); NS_ENSURE_SUCCESS(rv, rv); nsRefPtr<nsMappedAttributes> mapped = GetModifiableMapped(nullptr, nullptr, false); mapped->SetStyleSheet(aSheet); Loading Loading @@ -697,33 +690,20 @@ nsAttrAndChildArray::MappedAttrCount() const return mImpl && mImpl->mMappedAttrs ? (PRUint32)mImpl->mMappedAttrs->Count() : 0; } nsresult nsMappedAttributes* nsAttrAndChildArray::GetModifiableMapped(nsMappedAttributeElement* aContent, nsHTMLStyleSheet* aSheet, bool aWillAddAttr, nsMappedAttributes** aModifiable) bool aWillAddAttr) { *aModifiable = nullptr; if (mImpl && mImpl->mMappedAttrs) { *aModifiable = mImpl->mMappedAttrs->Clone(aWillAddAttr); NS_ENSURE_TRUE(*aModifiable, NS_ERROR_OUT_OF_MEMORY); NS_ADDREF(*aModifiable); return NS_OK; return mImpl->mMappedAttrs->Clone(aWillAddAttr); } NS_ASSERTION(aContent, "Trying to create modifiable without content"); MOZ_ASSERT(aContent, "Trying to create modifiable without content"); nsMapRuleToAttributesFunc mapRuleFunc = aContent->GetAttributeMappingFunction(); *aModifiable = new nsMappedAttributes(aSheet, mapRuleFunc); NS_ENSURE_TRUE(*aModifiable, NS_ERROR_OUT_OF_MEMORY); NS_ADDREF(*aModifiable); return NS_OK; return new nsMappedAttributes(aSheet, mapRuleFunc); } nsresult Loading
content/base/src/nsAttrAndChildArray.h +5 −4 Original line number Diff line number Diff line Loading @@ -127,10 +127,11 @@ private: PRUint32 NonMappedAttrCount() const; PRUint32 MappedAttrCount() const; nsresult GetModifiableMapped(nsMappedAttributeElement* aContent, // Returns a non-null zero-refcount object. nsMappedAttributes* GetModifiableMapped(nsMappedAttributeElement* aContent, nsHTMLStyleSheet* aSheet, bool aWillAddAttr, nsMappedAttributes** aModifiable); bool aWillAddAttr); nsresult MakeMappedUnique(nsMappedAttributes* aAttributes); PRUint32 AttrSlotsSize() const Loading
content/base/src/nsMappedAttributes.cpp +1 −3 Original line number Diff line number Diff line Loading @@ -68,9 +68,7 @@ void* nsMappedAttributes::operator new(size_t aSize, PRUint32 aAttrCount) CPP_TH aAttrCount * sizeof(InternalAttr)); #ifdef DEBUG if (newAttrs) { static_cast<nsMappedAttributes*>(newAttrs)->mBufferSize = aAttrCount; } #endif return newAttrs; Loading
content/base/src/nsMappedAttributes.h +1 −1 Original line number Diff line number Diff line Loading @@ -26,8 +26,8 @@ public: nsMappedAttributes(nsHTMLStyleSheet* aSheet, nsMapRuleToAttributesFunc aMapRuleFunc); // Do not return null. void* operator new(size_t size, PRUint32 aAttrCount = 1) CPP_THROW_NEW; nsMappedAttributes* Clone(bool aWillAddAttr); NS_DECL_ISUPPORTS Loading