diff options
author | Matt A. Tobin <email@mattatobin.com> | 2020-04-17 05:07:41 -0400 |
---|---|---|
committer | Matt A. Tobin <email@mattatobin.com> | 2020-04-17 05:07:41 -0400 |
commit | 5f297c5f57583b0f9d27d714beb285919f42d655 (patch) | |
tree | f67fd1bafe4c449fc6527e172deb59411bfbf85f /dom/base/nsAttrAndChildArray.cpp | |
parent | f07f8aecb8a03d33d0b90d685d85960a29543c75 (diff) | |
download | UXP-5f297c5f57583b0f9d27d714beb285919f42d655.tar UXP-5f297c5f57583b0f9d27d714beb285919f42d655.tar.gz UXP-5f297c5f57583b0f9d27d714beb285919f42d655.tar.lz UXP-5f297c5f57583b0f9d27d714beb285919f42d655.tar.xz UXP-5f297c5f57583b0f9d27d714beb285919f42d655.zip |
Issue #1375 - Include content rules from HTMLTableCellElement::WalkContentStyleRules and move to the mapped attr functionality
* Bugs 1341647 and 1341648
Diffstat (limited to 'dom/base/nsAttrAndChildArray.cpp')
-rw-r--r-- | dom/base/nsAttrAndChildArray.cpp | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/dom/base/nsAttrAndChildArray.cpp b/dom/base/nsAttrAndChildArray.cpp index 9fd27262b..4daac498b 100644 --- a/dom/base/nsAttrAndChildArray.cpp +++ b/dom/base/nsAttrAndChildArray.cpp @@ -714,10 +714,19 @@ nsAttrAndChildArray::MappedAttrCount() const return mImpl && mImpl->mMappedAttrs ? (uint32_t)mImpl->mMappedAttrs->Count() : 0; } +nsresult +nsAttrAndChildArray::ForceMapped(nsMappedAttributeElement* aContent, nsIDocument* aDocument) +{ + nsHTMLStyleSheet* sheet = aDocument->GetAttributeStyleSheet(); + RefPtr<nsMappedAttributes> mapped = GetModifiableMapped(aContent, sheet, false, 0); + return MakeMappedUnique(mapped); +} + nsMappedAttributes* nsAttrAndChildArray::GetModifiableMapped(nsMappedAttributeElement* aContent, nsHTMLStyleSheet* aSheet, - bool aWillAddAttr) + bool aWillAddAttr, + int32_t aAttrCount) { if (mImpl && mImpl->mMappedAttrs) { return mImpl->mMappedAttrs->Clone(aWillAddAttr); @@ -727,7 +736,7 @@ nsAttrAndChildArray::GetModifiableMapped(nsMappedAttributeElement* aContent, nsMapRuleToAttributesFunc mapRuleFunc = aContent->GetAttributeMappingFunction(); - return new nsMappedAttributes(aSheet, mapRuleFunc); + return new (aAttrCount) nsMappedAttributes(aSheet, mapRuleFunc); } nsresult |