mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-01-08 12:22:34 +00:00
Bug 386914, r+sr=jst
This commit is contained in:
parent
fdbd06852a
commit
88533895cd
@ -953,7 +953,9 @@ nsXULDocument::AttributeChanged(nsIDocument* aDocument,
|
||||
nsAutoString value;
|
||||
PRBool attrSet = aElement->GetAttr(kNameSpaceID_None, aAttribute, value);
|
||||
|
||||
for (PRInt32 i = entry->mListeners.Count() - 1; i >= 0; --i) {
|
||||
nsCOMArray<nsIContent> listenerArray;
|
||||
PRInt32 i;
|
||||
for (i = entry->mListeners.Count() - 1; i >= 0; --i) {
|
||||
BroadcastListener* bl =
|
||||
NS_STATIC_CAST(BroadcastListener*, entry->mListeners[i]);
|
||||
|
||||
@ -961,20 +963,23 @@ nsXULDocument::AttributeChanged(nsIDocument* aDocument,
|
||||
(bl->mAttribute == nsGkAtoms::_asterix)) {
|
||||
nsCOMPtr<nsIContent> listener
|
||||
= do_QueryInterface(bl->mListener);
|
||||
|
||||
if (attrSet) {
|
||||
listener->SetAttr(kNameSpaceID_None, aAttribute, value,
|
||||
PR_TRUE);
|
||||
}
|
||||
else {
|
||||
listener->UnsetAttr(kNameSpaceID_None, aAttribute,
|
||||
PR_TRUE);
|
||||
}
|
||||
|
||||
ExecuteOnBroadcastHandlerFor(aElement, bl->mListener,
|
||||
aAttribute);
|
||||
listenerArray.AppendObject(listener);
|
||||
}
|
||||
}
|
||||
|
||||
for (i = 0; i < listenerArray.Count(); ++i) {
|
||||
nsIContent* listener = listenerArray[i];
|
||||
if (attrSet) {
|
||||
listener->SetAttr(kNameSpaceID_None, aAttribute, value,
|
||||
PR_TRUE);
|
||||
}
|
||||
else {
|
||||
listener->UnsetAttr(kNameSpaceID_None, aAttribute,
|
||||
PR_TRUE);
|
||||
}
|
||||
nsCOMPtr<nsIDOMElement> listenerEl = do_QueryInterface(listener);
|
||||
ExecuteOnBroadcastHandlerFor(aElement, listenerEl, aAttribute);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user