Backout of unapproved patch to bug 391614

This commit is contained in:
neil@parkwaycc.co.uk 2007-08-15 06:45:24 -07:00
Родитель 6c9f9f3c2a
Коммит fe1ef16802
1 изменённых файлов: 3 добавлений и 19 удалений

Просмотреть файл

@ -658,14 +658,11 @@ ClearBroadcasterMapEntry(PLDHashTable* aTable, PLDHashEntryHdr* aEntry)
static PRBool static PRBool
CanBroadcast(PRInt32 aNameSpaceID, nsIAtom* aAttribute) CanBroadcast(PRInt32 aNameSpaceID, nsIAtom* aAttribute)
{ {
// Don't push changes to the |id|, |ref|, |persist|, |command| or // Don't push changes to the |id|, |ref|, or |persist| attribute.
// |observes| attribute.
if (aNameSpaceID == kNameSpaceID_None) { if (aNameSpaceID == kNameSpaceID_None) {
if ((aAttribute == nsGkAtoms::id) || if ((aAttribute == nsGkAtoms::id) ||
(aAttribute == nsGkAtoms::ref) || (aAttribute == nsGkAtoms::ref) ||
(aAttribute == nsGkAtoms::persist) || (aAttribute == nsGkAtoms::persist)) {
(aAttribute == nsGkAtoms::command) ||
(aAttribute == nsGkAtoms::observes)) {
return PR_FALSE; return PR_FALSE;
} }
} }
@ -3832,20 +3829,7 @@ nsXULDocument::OverlayForwardReference::Merge(nsIContent* aTargetNode,
const nsAttrName* name; const nsAttrName* name;
for (i = 0; (name = aOverlayNode->GetAttrNameAt(i)); ++i) { for (i = 0; (name = aOverlayNode->GetAttrNameAt(i)); ++i) {
// We don't want to swap IDs, they should be the same. // We don't want to swap IDs, they should be the same.
// We don't want to merge observes attributes or elements. if (name->Equals(nsGkAtoms::id))
// We don't want to merge command attributes except on keys and
// menuitems, which don't use broadcaster hookup.
if (name->Equals(nsGkAtoms::id) ||
name->Equals(nsGkAtoms::observes) ||
aTargetNode->NodeInfo()->Equals(nsGkAtoms::observes,
kNameSpaceID_XUL))
continue;
if (name->Equals(nsGkAtoms::command) &&
!aTargetNode->NodeInfo()->Equals(nsGkAtoms::key,
kNameSpaceID_XUL) &&
!aTargetNode->NodeInfo()->Equals(nsGkAtoms::menuitem,
kNameSpaceID_XUL))
continue; continue;
PRInt32 nameSpaceID = name->NamespaceID(); PRInt32 nameSpaceID = name->NamespaceID();