Bug 1355769 - Avoid malloc for nsHtml5ElementName when processing a non-interned element name.

HTML Regen.

Tag UXP Issue #1344
This commit is contained in:
Gaming4JC 2020-01-18 13:20:59 -05:00 committed by Roy Tam
commit c37e7b2047
6 changed files with 69 additions and 64 deletions

View file

@ -103,35 +103,35 @@ nsHtml5StackNode::nsHtml5StackNode(int32_t flags, int32_t ns, nsIAtom* name, nsI
nsHtml5StackNode::nsHtml5StackNode(nsHtml5ElementName* elementName, nsIContentHandle* node)
: flags(elementName->getFlags()),
name(elementName->name),
popName(elementName->name),
name(elementName->getName()),
popName(elementName->getName()),
ns(kNameSpaceID_XHTML),
node(node),
attributes(nullptr),
refcount(1)
{
MOZ_COUNT_CTOR(nsHtml5StackNode);
MOZ_ASSERT(!elementName->isCustom(), "Don't use this constructor for custom elements.");
MOZ_ASSERT(elementName->isInterned(), "Don't use this constructor for custom elements.");
}
nsHtml5StackNode::nsHtml5StackNode(nsHtml5ElementName* elementName, nsIContentHandle* node, nsHtml5HtmlAttributes* attributes)
: flags(elementName->getFlags()),
name(elementName->name),
popName(elementName->name),
name(elementName->getName()),
popName(elementName->getName()),
ns(kNameSpaceID_XHTML),
node(node),
attributes(attributes),
refcount(1)
{
MOZ_COUNT_CTOR(nsHtml5StackNode);
MOZ_ASSERT(!elementName->isCustom(), "Don't use this constructor for custom elements.");
MOZ_ASSERT(elementName->isInterned(), "Don't use this constructor for custom elements.");
}
nsHtml5StackNode::nsHtml5StackNode(nsHtml5ElementName* elementName, nsIContentHandle* node, nsIAtom* popName)
: flags(elementName->getFlags()),
name(elementName->name),
name(elementName->getName()),
popName(popName),
ns(kNameSpaceID_XHTML),
node(node),
@ -144,7 +144,7 @@ nsHtml5StackNode::nsHtml5StackNode(nsHtml5ElementName* elementName, nsIContentHa
nsHtml5StackNode::nsHtml5StackNode(nsHtml5ElementName* elementName, nsIAtom* popName, nsIContentHandle* node)
: flags(prepareSvgFlags(elementName->getFlags())),
name(elementName->name),
name(elementName->getName()),
popName(popName),
ns(kNameSpaceID_SVG),
node(node),
@ -157,7 +157,7 @@ nsHtml5StackNode::nsHtml5StackNode(nsHtml5ElementName* elementName, nsIAtom* pop
nsHtml5StackNode::nsHtml5StackNode(nsHtml5ElementName* elementName, nsIContentHandle* node, nsIAtom* popName, bool markAsIntegrationPoint)
: flags(prepareMathFlags(elementName->getFlags(), markAsIntegrationPoint)),
name(elementName->name),
name(elementName->getName()),
popName(popName),
ns(kNameSpaceID_MathML),
node(node),