Bug 1852866 - Make LifecycleCallbackArgs::mName a RefPtr<nsAtom>. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D188100
This commit is contained in:
@@ -125,8 +125,7 @@ class CustomElementCallbackReaction final : public CustomElementReaction {
|
|||||||
|
|
||||||
size_t LifecycleCallbackArgs::SizeOfExcludingThis(
|
size_t LifecycleCallbackArgs::SizeOfExcludingThis(
|
||||||
MallocSizeOf aMallocSizeOf) const {
|
MallocSizeOf aMallocSizeOf) const {
|
||||||
size_t n = mName.SizeOfExcludingThisIfUnshared(aMallocSizeOf);
|
size_t n = mOldValue.SizeOfExcludingThisIfUnshared(aMallocSizeOf);
|
||||||
n += mOldValue.SizeOfExcludingThisIfUnshared(aMallocSizeOf);
|
|
||||||
n += mNewValue.SizeOfExcludingThisIfUnshared(aMallocSizeOf);
|
n += mNewValue.SizeOfExcludingThisIfUnshared(aMallocSizeOf);
|
||||||
n += mNamespaceURI.SizeOfExcludingThisIfUnshared(aMallocSizeOf);
|
n += mNamespaceURI.SizeOfExcludingThisIfUnshared(aMallocSizeOf);
|
||||||
return n;
|
return n;
|
||||||
@@ -229,8 +228,8 @@ void CustomElementCallback::Call() {
|
|||||||
break;
|
break;
|
||||||
case ElementCallbackType::eAttributeChanged:
|
case ElementCallbackType::eAttributeChanged:
|
||||||
static_cast<LifecycleAttributeChangedCallback*>(mCallback.get())
|
static_cast<LifecycleAttributeChangedCallback*>(mCallback.get())
|
||||||
->Call(mThisObject, mArgs.mName, mArgs.mOldValue, mArgs.mNewValue,
|
->Call(mThisObject, nsDependentAtomString(mArgs.mName),
|
||||||
mArgs.mNamespaceURI);
|
mArgs.mOldValue, mArgs.mNewValue, mArgs.mNamespaceURI);
|
||||||
break;
|
break;
|
||||||
case ElementCallbackType::eFormAssociated:
|
case ElementCallbackType::eFormAssociated:
|
||||||
static_cast<LifecycleFormAssociatedCallback*>(mCallback.get())
|
static_cast<LifecycleFormAssociatedCallback*>(mCallback.get())
|
||||||
@@ -628,9 +627,7 @@ void CustomElementRegistry::EnqueueLifecycleCallback(
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (aType == ElementCallbackType::eAttributeChanged) {
|
if (aType == ElementCallbackType::eAttributeChanged) {
|
||||||
RefPtr<nsAtom> attrName = NS_Atomize(aArgs.mName);
|
if (!definition->mObservedAttributes.Contains(aArgs.mName)) {
|
||||||
if (definition->mObservedAttributes.IsEmpty() ||
|
|
||||||
!definition->mObservedAttributes.Contains(attrName)) {
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1330,7 +1327,7 @@ void CustomElementRegistry::Upgrade(Element* aElement,
|
|||||||
namespaceURI);
|
namespaceURI);
|
||||||
|
|
||||||
LifecycleCallbackArgs args;
|
LifecycleCallbackArgs args;
|
||||||
args.mName = nsDependentAtomString(attrName);
|
args.mName = attrName;
|
||||||
args.mOldValue = VoidString();
|
args.mOldValue = VoidString();
|
||||||
args.mNewValue = attrValue;
|
args.mNewValue = attrValue;
|
||||||
args.mNamespaceURI =
|
args.mNamespaceURI =
|
||||||
|
|||||||
@@ -51,7 +51,7 @@ enum class ElementCallbackType {
|
|||||||
|
|
||||||
struct LifecycleCallbackArgs {
|
struct LifecycleCallbackArgs {
|
||||||
// Used by the attribute changed callback.
|
// Used by the attribute changed callback.
|
||||||
nsString mName;
|
RefPtr<nsAtom> mName;
|
||||||
nsString mOldValue;
|
nsString mOldValue;
|
||||||
nsString mNewValue;
|
nsString mNewValue;
|
||||||
nsString mNamespaceURI;
|
nsString mNamespaceURI;
|
||||||
|
|||||||
@@ -2620,7 +2620,7 @@ nsresult Element::SetAttrAndNotify(
|
|||||||
nsNameSpaceManager::GetInstance()->GetNameSpaceURI(aNamespaceID, ns);
|
nsNameSpaceManager::GetInstance()->GetNameSpaceURI(aNamespaceID, ns);
|
||||||
|
|
||||||
LifecycleCallbackArgs args;
|
LifecycleCallbackArgs args;
|
||||||
aName->ToString(args.mName);
|
args.mName = aName;
|
||||||
if (aModType == MutationEvent_Binding::ADDITION) {
|
if (aModType == MutationEvent_Binding::ADDITION) {
|
||||||
args.mOldValue = VoidString();
|
args.mOldValue = VoidString();
|
||||||
} else {
|
} else {
|
||||||
@@ -2806,7 +2806,7 @@ void Element::OnAttrSetButNotChanged(int32_t aNamespaceID, nsAtom* aName,
|
|||||||
|
|
||||||
nsAutoString value(aValue.String());
|
nsAutoString value(aValue.String());
|
||||||
LifecycleCallbackArgs args;
|
LifecycleCallbackArgs args;
|
||||||
aName->ToString(args.mName);
|
args.mName = aName;
|
||||||
args.mOldValue = value;
|
args.mOldValue = value;
|
||||||
args.mNewValue = value;
|
args.mNewValue = value;
|
||||||
args.mNamespaceURI = ns.IsEmpty() ? VoidString() : ns;
|
args.mNamespaceURI = ns.IsEmpty() ? VoidString() : ns;
|
||||||
@@ -2921,7 +2921,7 @@ nsresult Element::UnsetAttr(int32_t aNameSpaceID, nsAtom* aName, bool aNotify) {
|
|||||||
nsAutoString ns;
|
nsAutoString ns;
|
||||||
nsNameSpaceManager::GetInstance()->GetNameSpaceURI(aNameSpaceID, ns);
|
nsNameSpaceManager::GetInstance()->GetNameSpaceURI(aNameSpaceID, ns);
|
||||||
LifecycleCallbackArgs args;
|
LifecycleCallbackArgs args;
|
||||||
aName->ToString(args.mName);
|
args.mName = aName;
|
||||||
oldValue.ToString(args.mOldValue);
|
oldValue.ToString(args.mOldValue);
|
||||||
args.mNewValue = VoidString();
|
args.mNewValue = VoidString();
|
||||||
args.mNamespaceURI = ns.IsEmpty() ? VoidString() : ns;
|
args.mNamespaceURI = ns.IsEmpty() ? VoidString() : ns;
|
||||||
|
|||||||
Reference in New Issue
Block a user