Bug 1921097 - Fix up RadioGroupContainer::SizeOfIncludingThis(). r=dom-core,jjaschke
mRadioGroups is an interior pointer, so we shouldn't pass it to MallocSizeOf. Also, devirtualize RadioGroupContainer::WalkRadioGroup. This method being virtual meant that RadioGroupContainer needed a vtable, causing `this` to not be equal to `this.mRadioGroups`. Differential Revision: https://phabricator.services.mozilla.com/D223638
This commit is contained in:
@@ -65,7 +65,7 @@ void RadioGroupContainer::Traverse(RadioGroupContainer* tmp,
|
||||
|
||||
size_t RadioGroupContainer::SizeOfIncludingThis(
|
||||
MallocSizeOf aMallocSizeOf) const {
|
||||
return mRadioGroups.SizeOfIncludingThis(aMallocSizeOf);
|
||||
return aMallocSizeOf(this) + mRadioGroups.SizeOfExcludingThis(aMallocSizeOf);
|
||||
}
|
||||
|
||||
nsresult RadioGroupContainer::WalkRadioGroup(const nsAString& aName,
|
||||
|
||||
@@ -26,7 +26,7 @@ class RadioGroupContainer final {
|
||||
nsCycleCollectionTraversalCallback& cb);
|
||||
size_t SizeOfIncludingThis(MallocSizeOf aMallocSizeOf) const;
|
||||
|
||||
NS_IMETHOD WalkRadioGroup(const nsAString& aName, nsIRadioVisitor* aVisitor);
|
||||
nsresult WalkRadioGroup(const nsAString& aName, nsIRadioVisitor* aVisitor);
|
||||
void SetCurrentRadioButton(const nsAString& aName, HTMLInputElement* aRadio);
|
||||
HTMLInputElement* GetCurrentRadioButton(const nsAString& aName);
|
||||
nsresult GetNextRadioButton(const nsAString& aName, const bool aPrevious,
|
||||
|
||||
Reference in New Issue
Block a user