summaryrefslogtreecommitdiffstats
path: root/dom/base/nsIdentifierMapEntry.h
diff options
context:
space:
mode:
Diffstat (limited to 'dom/base/nsIdentifierMapEntry.h')
-rw-r--r--dom/base/nsIdentifierMapEntry.h16
1 files changed, 12 insertions, 4 deletions
diff --git a/dom/base/nsIdentifierMapEntry.h b/dom/base/nsIdentifierMapEntry.h
index fce506cef..ea60d3322 100644
--- a/dom/base/nsIdentifierMapEntry.h
+++ b/dom/base/nsIdentifierMapEntry.h
@@ -54,13 +54,18 @@ public:
nsStringHashKey(aKey), mNameContentList(nullptr)
{
}
- nsIdentifierMapEntry(const nsIdentifierMapEntry& aOther) :
- nsStringHashKey(&aOther.GetKey())
+ nsIdentifierMapEntry(nsIdentifierMapEntry&& aOther) :
+ nsStringHashKey(&aOther.GetKey()),
+ mIdContentList(mozilla::Move(aOther.mIdContentList)),
+ mNameContentList(aOther.mNameContentList.forget()),
+ mChangeCallbacks(aOther.mChangeCallbacks.forget()),
+ mImageElement(aOther.mImageElement.forget())
{
- NS_ERROR("Should never be called");
}
~nsIdentifierMapEntry();
+ enum { ALLOW_MEMMOVE = false };
+
void AddNameElement(nsINode* aDocument, Element* aElement);
void RemoveNameElement(Element* aElement);
bool IsEmpty();
@@ -156,12 +161,15 @@ public:
size_t SizeOfExcludingThis(mozilla::MallocSizeOf aMallocSizeOf) const;
private:
+ nsIdentifierMapEntry(const nsIdentifierMapEntry& aOther) = delete;
+ nsIdentifierMapEntry& operator=(const nsIdentifierMapEntry& aOther) = delete;
+
void FireChangeCallbacks(Element* aOldElement, Element* aNewElement,
bool aImageOnly = false);
// empty if there are no elements with this ID.
// The elements are stored as weak pointers.
- nsTArray<Element*> mIdContentList;
+ AutoTArray<Element*, 1> mIdContentList;
RefPtr<nsBaseContentList> mNameContentList;
nsAutoPtr<nsTHashtable<ChangeCallbackEntry> > mChangeCallbacks;
RefPtr<Element> mImageElement;