summaryrefslogtreecommitdiffstats
path: root/dom/base/nsContentUtils.cpp
diff options
context:
space:
mode:
authorwin7-7 <win7-7@users.noreply.github.com>2019-05-24 13:56:08 +0300
committerGitHub <noreply@github.com>2019-05-24 13:56:08 +0300
commita3434ba005b8eaa52fdcdfc3392b640f25f10410 (patch)
tree0017eeb028077818311e39526b41f7adfe60f707 /dom/base/nsContentUtils.cpp
parent315ffd563c18442e655e815bf250acce84b9b232 (diff)
downloadUXP-a3434ba005b8eaa52fdcdfc3392b640f25f10410.tar
UXP-a3434ba005b8eaa52fdcdfc3392b640f25f10410.tar.gz
UXP-a3434ba005b8eaa52fdcdfc3392b640f25f10410.tar.lz
UXP-a3434ba005b8eaa52fdcdfc3392b640f25f10410.tar.xz
UXP-a3434ba005b8eaa52fdcdfc3392b640f25f10410.zip
add main thread only cache for nsIAtoms to speed up atomization dom/base
add main thread only cache for nsIAtoms to speed up atomization
Diffstat (limited to 'dom/base/nsContentUtils.cpp')
-rw-r--r--dom/base/nsContentUtils.cpp16
1 files changed, 9 insertions, 7 deletions
diff --git a/dom/base/nsContentUtils.cpp b/dom/base/nsContentUtils.cpp
index 3696195dd..1f9c17947 100644
--- a/dom/base/nsContentUtils.cpp
+++ b/dom/base/nsContentUtils.cpp
@@ -2947,11 +2947,11 @@ nsContentUtils::SplitQName(const nsIContent* aNamespaceResolver,
if (*aNamespace == kNameSpaceID_Unknown)
return NS_ERROR_FAILURE;
- *aLocalName = NS_Atomize(Substring(colon + 1, end)).take();
+ *aLocalName = NS_AtomizeMainThread(Substring(colon + 1, end)).take();
}
else {
*aNamespace = kNameSpaceID_None;
- *aLocalName = NS_Atomize(aQName).take();
+ *aLocalName = NS_AtomizeMainThread(aQName).take();
}
NS_ENSURE_TRUE(aLocalName, NS_ERROR_OUT_OF_MEMORY);
return NS_OK;
@@ -2976,7 +2976,8 @@ nsContentUtils::GetNodeInfoFromQName(const nsAString& aNamespaceURI,
const char16_t* end;
qName.EndReading(end);
- nsCOMPtr<nsIAtom> prefix = NS_Atomize(Substring(qName.get(), colon));
+ nsCOMPtr<nsIAtom> prefix =
+ NS_AtomizeMainThread(Substring(qName.get(), colon));
rv = aNodeInfoManager->GetNodeInfo(Substring(colon + 1, end), prefix,
nsID, aNodeType, aNodeInfo);
@@ -3036,7 +3037,7 @@ nsContentUtils::SplitExpatName(const char16_t *aExpatName, nsIAtom **aPrefix,
nameStart = (uriEnd + 1);
if (nameEnd) {
const char16_t *prefixStart = nameEnd + 1;
- *aPrefix = NS_Atomize(Substring(prefixStart, pos)).take();
+ *aPrefix = NS_AtomizeMainThread(Substring(prefixStart, pos)).take();
}
else {
nameEnd = pos;
@@ -3049,7 +3050,7 @@ nsContentUtils::SplitExpatName(const char16_t *aExpatName, nsIAtom **aPrefix,
nameEnd = pos;
*aPrefix = nullptr;
}
- *aLocalName = NS_Atomize(Substring(nameStart, nameEnd)).take();
+ *aLocalName = NS_AtomizeMainThread(Substring(nameStart, nameEnd)).take();
}
// static
@@ -3887,7 +3888,8 @@ nsContentUtils::GetEventMessageAndAtom(const nsAString& aName,
}
*aEventMessage = eUnidentifiedEvent;
- nsCOMPtr<nsIAtom> atom = NS_Atomize(NS_LITERAL_STRING("on") + aName);
+ nsCOMPtr<nsIAtom> atom =
+ NS_AtomizeMainThread(NS_LITERAL_STRING("on") + aName);
sUserDefinedEvents->AppendObject(atom);
mapping.mAtom = atom;
mapping.mMessage = eUnidentifiedEvent;
@@ -3920,7 +3922,7 @@ nsContentUtils::GetEventMessageAndAtomForListener(const nsAString& aName,
if (mapping.mMaybeSpecialSVGorSMILEvent) {
// Try the atom version so that we should get the right message for
// SVG/SMIL.
- atom = NS_Atomize(NS_LITERAL_STRING("on") + aName);
+ atom = NS_AtomizeMainThread(NS_LITERAL_STRING("on") + aName);
msg = GetEventMessage(atom);
} else {
atom = mapping.mAtom;