зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1370700
part 2 - Use mAttributeCache.GetOrInsert() to avoid a second hashtable lookup for Put(). r=froydnj
MozReview-Commit-ID: BE6vztn6ljl
This commit is contained in:
Родитель
6cdee8c35e
Коммит
4ab8b6f8bc
|
@ -132,13 +132,13 @@ nsDOMAttributeMap::GetAttribute(mozilla::dom::NodeInfo* aNodeInfo)
|
|||
|
||||
nsAttrKey attr(aNodeInfo->NamespaceID(), aNodeInfo->NameAtom());
|
||||
|
||||
Attr* node = mAttributeCache.GetWeak(attr);
|
||||
RefPtr<Attr>& entryValue = mAttributeCache.GetOrInsert(attr);
|
||||
Attr* node = entryValue;
|
||||
if (!node) {
|
||||
// Newly inserted entry!
|
||||
RefPtr<mozilla::dom::NodeInfo> ni = aNodeInfo;
|
||||
RefPtr<Attr> newAttr =
|
||||
new Attr(this, ni.forget(), EmptyString());
|
||||
mAttributeCache.Put(attr, newAttr);
|
||||
node = newAttr;
|
||||
entryValue = new Attr(this, ni.forget(), EmptyString());
|
||||
node = entryValue;
|
||||
}
|
||||
|
||||
return node;
|
||||
|
|
Загрузка…
Ссылка в новой задаче