Bug 383818: Cloned menu items don't display correctly. r/sr=jst

git-svn-id: svn://10.0.0.236/trunk@246965 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
jonas%sicking.cc 2008-03-04 01:25:06 +00:00
parent d29d96d18a
commit db74d9de15

View File

@ -3748,11 +3748,14 @@ nsGenericElement::SetAttrAndNotify(PRInt32 aNamespaceID,
}
NS_ENSURE_SUCCESS(rv, rv);
if (document) {
nsRefPtr<nsXBLBinding> binding =
document->BindingManager()->GetBinding(this);
if (binding) {
binding->AttributeChanged(aName, aNamespaceID, PR_FALSE, aNotify);
if (document || HasFlag(NODE_FORCE_XBL_BINDINGS)) {
nsIDocument* ownerDoc = GetOwnerDoc();
if (ownerDoc) {
nsRefPtr<nsXBLBinding> binding =
ownerDoc->BindingManager()->GetBinding(this);
if (binding) {
binding->AttributeChanged(aName, aNamespaceID, PR_FALSE, aNotify);
}
}
}
@ -3998,11 +4001,15 @@ nsGenericElement::UnsetAttr(PRInt32 aNameSpaceID, nsIAtom* aName,
rv = mAttrsAndChildren.RemoveAttrAt(index, oldValue);
NS_ENSURE_SUCCESS(rv, rv);
if (document) {
nsRefPtr<nsXBLBinding> binding =
document->BindingManager()->GetBinding(this);
if (binding)
binding->AttributeChanged(aName, aNameSpaceID, PR_TRUE, aNotify);
if (document || HasFlag(NODE_FORCE_XBL_BINDINGS)) {
nsIDocument* ownerDoc = GetOwnerDoc();
if (ownerDoc) {
nsRefPtr<nsXBLBinding> binding =
ownerDoc->BindingManager()->GetBinding(this);
if (binding) {
binding->AttributeChanged(aName, aNameSpaceID, PR_TRUE, aNotify);
}
}
}
if (aNotify) {