mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 1184842. Pass aOldValue to all mutation observers. r=peterv
This commit is contained in:
parent
0d0c23582f
commit
d67ff5c3b6
@ -733,7 +733,8 @@ void
|
|||||||
DocAccessible::AttributeChanged(nsIDocument* aDocument,
|
DocAccessible::AttributeChanged(nsIDocument* aDocument,
|
||||||
dom::Element* aElement,
|
dom::Element* aElement,
|
||||||
int32_t aNameSpaceID, nsIAtom* aAttribute,
|
int32_t aNameSpaceID, nsIAtom* aAttribute,
|
||||||
int32_t aModType)
|
int32_t aModType,
|
||||||
|
const nsAttrValue* aOldValue)
|
||||||
{
|
{
|
||||||
NS_ASSERTION(!IsDefunct(),
|
NS_ASSERTION(!IsDefunct(),
|
||||||
"Attribute changed called on defunct document accessible!");
|
"Attribute changed called on defunct document accessible!");
|
||||||
|
@ -336,7 +336,8 @@ nsSHEntryShared::AttributeChanged(nsIDocument* aDocument,
|
|||||||
dom::Element* aElement,
|
dom::Element* aElement,
|
||||||
int32_t aNameSpaceID,
|
int32_t aNameSpaceID,
|
||||||
nsIAtom* aAttribute,
|
nsIAtom* aAttribute,
|
||||||
int32_t aModType)
|
int32_t aModType,
|
||||||
|
const nsAttrValue* aOldValue)
|
||||||
{
|
{
|
||||||
RemoveFromBFCacheAsync();
|
RemoveFromBFCacheAsync();
|
||||||
}
|
}
|
||||||
|
@ -607,7 +607,8 @@ ShadowRoot::AttributeChanged(nsIDocument* aDocument,
|
|||||||
Element* aElement,
|
Element* aElement,
|
||||||
int32_t aNameSpaceID,
|
int32_t aNameSpaceID,
|
||||||
nsIAtom* aAttribute,
|
nsIAtom* aAttribute,
|
||||||
int32_t aModType)
|
int32_t aModType,
|
||||||
|
const nsAttrValue* aOldValue)
|
||||||
{
|
{
|
||||||
if (!IsPooledNode(aElement, aElement->GetParent(), mPoolHost)) {
|
if (!IsPooledNode(aElement, aElement->GetParent(), mPoolHost)) {
|
||||||
return;
|
return;
|
||||||
|
@ -659,7 +659,8 @@ nsContentList::Item(uint32_t aIndex)
|
|||||||
void
|
void
|
||||||
nsContentList::AttributeChanged(nsIDocument *aDocument, Element* aElement,
|
nsContentList::AttributeChanged(nsIDocument *aDocument, Element* aElement,
|
||||||
int32_t aNameSpaceID, nsIAtom* aAttribute,
|
int32_t aNameSpaceID, nsIAtom* aAttribute,
|
||||||
int32_t aModType)
|
int32_t aModType,
|
||||||
|
const nsAttrValue* aOldValue)
|
||||||
{
|
{
|
||||||
NS_PRECONDITION(aElement, "Must have a content node to work with");
|
NS_PRECONDITION(aElement, "Must have a content node to work with");
|
||||||
|
|
||||||
|
@ -2590,7 +2590,8 @@ nsFrameLoader::AttributeChanged(nsIDocument* aDocument,
|
|||||||
mozilla::dom::Element* aElement,
|
mozilla::dom::Element* aElement,
|
||||||
int32_t aNameSpaceID,
|
int32_t aNameSpaceID,
|
||||||
nsIAtom* aAttribute,
|
nsIAtom* aAttribute,
|
||||||
int32_t aModType)
|
int32_t aModType,
|
||||||
|
const nsAttrValue* aOldValue)
|
||||||
{
|
{
|
||||||
MOZ_ASSERT(mObservingOwnerContent);
|
MOZ_ASSERT(mObservingOwnerContent);
|
||||||
// TODO: Implement ContentShellAdded for remote browsers (bug 658304)
|
// TODO: Implement ContentShellAdded for remote browsers (bug 658304)
|
||||||
|
@ -9,6 +9,7 @@
|
|||||||
|
|
||||||
#include "nsISupports.h"
|
#include "nsISupports.h"
|
||||||
|
|
||||||
|
class nsAttrValue;
|
||||||
class nsIAtom;
|
class nsIAtom;
|
||||||
class nsIContent;
|
class nsIContent;
|
||||||
class nsIDocument;
|
class nsIDocument;
|
||||||
@ -21,9 +22,8 @@ class Element;
|
|||||||
} // namespace mozilla
|
} // namespace mozilla
|
||||||
|
|
||||||
#define NS_IMUTATION_OBSERVER_IID \
|
#define NS_IMUTATION_OBSERVER_IID \
|
||||||
{ 0x16fe5e3e, 0xeadc, 0x4312, \
|
{ 0x51a4cec3, 0xb720, 0x4893, \
|
||||||
{ 0x9d, 0x44, 0xb6, 0xbe, 0xdd, 0x6b, 0x54, 0x74 } }
|
{ 0xb1, 0x11, 0x33, 0xca, 0xbe, 0xae, 0xbf, 0x57 } }
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Information details about a characterdata change. Basically, we
|
* Information details about a characterdata change. Basically, we
|
||||||
* view all changes as replacements of a length of text at some offset
|
* view all changes as replacements of a length of text at some offset
|
||||||
@ -180,6 +180,8 @@ public:
|
|||||||
* @param aModType Whether or not the attribute was added, changed, or
|
* @param aModType Whether or not the attribute was added, changed, or
|
||||||
* removed. The constants are defined in
|
* removed. The constants are defined in
|
||||||
* nsIDOMMutationEvent.h.
|
* nsIDOMMutationEvent.h.
|
||||||
|
* @param aOldValue The old value, if either the old value or the new
|
||||||
|
* value are StoresOwnData() (or absent); null otherwise.
|
||||||
*
|
*
|
||||||
* @note Callers of this method might not hold a strong reference to the
|
* @note Callers of this method might not hold a strong reference to the
|
||||||
* observer. The observer is responsible for making sure it stays
|
* observer. The observer is responsible for making sure it stays
|
||||||
@ -191,7 +193,8 @@ public:
|
|||||||
mozilla::dom::Element* aElement,
|
mozilla::dom::Element* aElement,
|
||||||
int32_t aNameSpaceID,
|
int32_t aNameSpaceID,
|
||||||
nsIAtom* aAttribute,
|
nsIAtom* aAttribute,
|
||||||
int32_t aModType) = 0;
|
int32_t aModType,
|
||||||
|
const nsAttrValue* aOldValue) = 0;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Notification that an attribute of an element has been
|
* Notification that an attribute of an element has been
|
||||||
@ -343,7 +346,8 @@ NS_DEFINE_STATIC_IID_ACCESSOR(nsIMutationObserver, NS_IMUTATION_OBSERVER_IID)
|
|||||||
mozilla::dom::Element* aElement, \
|
mozilla::dom::Element* aElement, \
|
||||||
int32_t aNameSpaceID, \
|
int32_t aNameSpaceID, \
|
||||||
nsIAtom* aAttribute, \
|
nsIAtom* aAttribute, \
|
||||||
int32_t aModType) override;
|
int32_t aModType, \
|
||||||
|
const nsAttrValue* aOldValue) override;
|
||||||
|
|
||||||
#define NS_DECL_NSIMUTATIONOBSERVER_CONTENTAPPENDED \
|
#define NS_DECL_NSIMUTATIONOBSERVER_CONTENTAPPENDED \
|
||||||
virtual void ContentAppended(nsIDocument* aDocument, \
|
virtual void ContentAppended(nsIDocument* aDocument, \
|
||||||
@ -413,7 +417,8 @@ _class::AttributeChanged(nsIDocument* aDocument, \
|
|||||||
mozilla::dom::Element* aElement, \
|
mozilla::dom::Element* aElement, \
|
||||||
int32_t aNameSpaceID, \
|
int32_t aNameSpaceID, \
|
||||||
nsIAtom* aAttribute, \
|
nsIAtom* aAttribute, \
|
||||||
int32_t aModType) \
|
int32_t aModType, \
|
||||||
|
const nsAttrValue* aOldValue) \
|
||||||
{ \
|
{ \
|
||||||
} \
|
} \
|
||||||
void \
|
void \
|
||||||
|
@ -141,7 +141,7 @@ nsNodeUtils::AttributeChanged(Element* aElement,
|
|||||||
nsIDocument* doc = aElement->OwnerDoc();
|
nsIDocument* doc = aElement->OwnerDoc();
|
||||||
IMPL_MUTATION_NOTIFICATION(AttributeChanged, aElement,
|
IMPL_MUTATION_NOTIFICATION(AttributeChanged, aElement,
|
||||||
(doc, aElement, aNameSpaceID, aAttribute,
|
(doc, aElement, aNameSpaceID, aAttribute,
|
||||||
aModType));
|
aModType, aOldValue));
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
@ -83,7 +83,8 @@ nsScriptElement::AttributeChanged(nsIDocument* aDocument,
|
|||||||
Element* aElement,
|
Element* aElement,
|
||||||
int32_t aNameSpaceID,
|
int32_t aNameSpaceID,
|
||||||
nsIAtom* aAttribute,
|
nsIAtom* aAttribute,
|
||||||
int32_t aModType)
|
int32_t aModType,
|
||||||
|
const nsAttrValue* aOldValue)
|
||||||
{
|
{
|
||||||
MaybeProcessScript();
|
MaybeProcessScript();
|
||||||
}
|
}
|
||||||
|
@ -268,7 +268,8 @@ nsAttributeTextNode::AttributeChanged(nsIDocument* aDocument,
|
|||||||
Element* aElement,
|
Element* aElement,
|
||||||
int32_t aNameSpaceID,
|
int32_t aNameSpaceID,
|
||||||
nsIAtom* aAttribute,
|
nsIAtom* aAttribute,
|
||||||
int32_t aModType)
|
int32_t aModType,
|
||||||
|
const nsAttrValue* aOldValue)
|
||||||
{
|
{
|
||||||
if (aNameSpaceID == mNameSpaceID && aAttribute == mAttrName &&
|
if (aNameSpaceID == mNameSpaceID && aAttribute == mAttrName &&
|
||||||
aElement == mGrandparent) {
|
aElement == mGrandparent) {
|
||||||
|
@ -756,7 +756,8 @@ IMEContentObserver::AttributeChanged(nsIDocument* aDocument,
|
|||||||
dom::Element* aElement,
|
dom::Element* aElement,
|
||||||
int32_t aNameSpaceID,
|
int32_t aNameSpaceID,
|
||||||
nsIAtom* aAttribute,
|
nsIAtom* aAttribute,
|
||||||
int32_t aModType)
|
int32_t aModType,
|
||||||
|
const nsAttrValue* aOldValue)
|
||||||
{
|
{
|
||||||
mEndOfAddedTextCache.Clear();
|
mEndOfAddedTextCache.Clear();
|
||||||
mStartOfRemovingTextRangeCache.Clear();
|
mStartOfRemovingTextRangeCache.Clear();
|
||||||
|
@ -153,7 +153,8 @@ HTMLPropertiesCollection::NamedItem(const nsAString& aName)
|
|||||||
void
|
void
|
||||||
HTMLPropertiesCollection::AttributeChanged(nsIDocument *aDocument, Element* aElement,
|
HTMLPropertiesCollection::AttributeChanged(nsIDocument *aDocument, Element* aElement,
|
||||||
int32_t aNameSpaceID, nsIAtom* aAttribute,
|
int32_t aNameSpaceID, nsIAtom* aAttribute,
|
||||||
int32_t aModType)
|
int32_t aModType,
|
||||||
|
const nsAttrValue* aOldValue)
|
||||||
{
|
{
|
||||||
mIsDirty = true;
|
mIsDirty = true;
|
||||||
}
|
}
|
||||||
@ -427,7 +428,8 @@ PropertyNodeList::GetValues(JSContext* aCx, nsTArray<JS::Value >& aResult,
|
|||||||
void
|
void
|
||||||
PropertyNodeList::AttributeChanged(nsIDocument* aDocument, Element* aElement,
|
PropertyNodeList::AttributeChanged(nsIDocument* aDocument, Element* aElement,
|
||||||
int32_t aNameSpaceID, nsIAtom* aAttribute,
|
int32_t aNameSpaceID, nsIAtom* aAttribute,
|
||||||
int32_t aModType)
|
int32_t aModType,
|
||||||
|
const nsAttrValue* aOldValue)
|
||||||
{
|
{
|
||||||
mIsDirty = true;
|
mIsDirty = true;
|
||||||
}
|
}
|
||||||
|
@ -259,7 +259,8 @@ bool nsDOMStringMap::AttrToDataProp(const nsAString& aAttr,
|
|||||||
void
|
void
|
||||||
nsDOMStringMap::AttributeChanged(nsIDocument *aDocument, Element* aElement,
|
nsDOMStringMap::AttributeChanged(nsIDocument *aDocument, Element* aElement,
|
||||||
int32_t aNameSpaceID, nsIAtom* aAttribute,
|
int32_t aNameSpaceID, nsIAtom* aAttribute,
|
||||||
int32_t aModType)
|
int32_t aModType,
|
||||||
|
const nsAttrValue* aOldValue)
|
||||||
{
|
{
|
||||||
if ((aModType == nsIDOMMutationEvent::ADDITION ||
|
if ((aModType == nsIDOMMutationEvent::ADDITION ||
|
||||||
aModType == nsIDOMMutationEvent::REMOVAL) &&
|
aModType == nsIDOMMutationEvent::REMOVAL) &&
|
||||||
|
@ -165,7 +165,8 @@ SVGMPathElement::AttributeChanged(nsIDocument* aDocument,
|
|||||||
Element* aElement,
|
Element* aElement,
|
||||||
int32_t aNameSpaceID,
|
int32_t aNameSpaceID,
|
||||||
nsIAtom* aAttribute,
|
nsIAtom* aAttribute,
|
||||||
int32_t aModType)
|
int32_t aModType,
|
||||||
|
const nsAttrValue* aOldValue)
|
||||||
{
|
{
|
||||||
if (aNameSpaceID == kNameSpaceID_None) {
|
if (aNameSpaceID == kNameSpaceID_None) {
|
||||||
if (aAttribute == nsGkAtoms::d) {
|
if (aAttribute == nsGkAtoms::d) {
|
||||||
|
@ -156,7 +156,8 @@ SVGUseElement::AttributeChanged(nsIDocument* aDocument,
|
|||||||
Element* aElement,
|
Element* aElement,
|
||||||
int32_t aNameSpaceID,
|
int32_t aNameSpaceID,
|
||||||
nsIAtom* aAttribute,
|
nsIAtom* aAttribute,
|
||||||
int32_t aModType)
|
int32_t aModType,
|
||||||
|
const nsAttrValue* aOldValue)
|
||||||
{
|
{
|
||||||
if (nsContentUtils::IsInSameAnonymousTree(this, aElement)) {
|
if (nsContentUtils::IsInSameAnonymousTree(this, aElement)) {
|
||||||
TriggerReclone();
|
TriggerReclone();
|
||||||
|
@ -218,7 +218,8 @@ nsXMLPrettyPrinter::AttributeChanged(nsIDocument* aDocument,
|
|||||||
Element* aElement,
|
Element* aElement,
|
||||||
int32_t aNameSpaceID,
|
int32_t aNameSpaceID,
|
||||||
nsIAtom* aAttribute,
|
nsIAtom* aAttribute,
|
||||||
int32_t aModType)
|
int32_t aModType,
|
||||||
|
const nsAttrValue* aOldValue)
|
||||||
{
|
{
|
||||||
MaybeUnhook(aElement);
|
MaybeUnhook(aElement);
|
||||||
}
|
}
|
||||||
|
@ -136,7 +136,8 @@ XPathResult::AttributeChanged(nsIDocument* aDocument,
|
|||||||
Element* aElement,
|
Element* aElement,
|
||||||
int32_t aNameSpaceID,
|
int32_t aNameSpaceID,
|
||||||
nsIAtom* aAttribute,
|
nsIAtom* aAttribute,
|
||||||
int32_t aModType)
|
int32_t aModType,
|
||||||
|
const nsAttrValue* aOldValue)
|
||||||
{
|
{
|
||||||
Invalidate(aElement);
|
Invalidate(aElement);
|
||||||
}
|
}
|
||||||
|
@ -1244,7 +1244,8 @@ txMozillaXSLTProcessor::AttributeChanged(nsIDocument* aDocument,
|
|||||||
Element* aElement,
|
Element* aElement,
|
||||||
int32_t aNameSpaceID,
|
int32_t aNameSpaceID,
|
||||||
nsIAtom* aAttribute,
|
nsIAtom* aAttribute,
|
||||||
int32_t aModType)
|
int32_t aModType,
|
||||||
|
const nsAttrValue* aOldValue)
|
||||||
{
|
{
|
||||||
mStylesheet = nullptr;
|
mStylesheet = nullptr;
|
||||||
}
|
}
|
||||||
|
@ -931,7 +931,8 @@ XULDocument::AttributeWillChange(nsIDocument* aDocument,
|
|||||||
void
|
void
|
||||||
XULDocument::AttributeChanged(nsIDocument* aDocument,
|
XULDocument::AttributeChanged(nsIDocument* aDocument,
|
||||||
Element* aElement, int32_t aNameSpaceID,
|
Element* aElement, int32_t aNameSpaceID,
|
||||||
nsIAtom* aAttribute, int32_t aModType)
|
nsIAtom* aAttribute, int32_t aModType,
|
||||||
|
const nsAttrValue* aOldValue)
|
||||||
{
|
{
|
||||||
NS_ASSERTION(aDocument == this, "unexpected doc");
|
NS_ASSERTION(aDocument == this, "unexpected doc");
|
||||||
|
|
||||||
|
@ -1510,7 +1510,8 @@ nsXULContentBuilder::AttributeChanged(nsIDocument* aDocument,
|
|||||||
Element* aElement,
|
Element* aElement,
|
||||||
int32_t aNameSpaceID,
|
int32_t aNameSpaceID,
|
||||||
nsIAtom* aAttribute,
|
nsIAtom* aAttribute,
|
||||||
int32_t aModType)
|
int32_t aModType,
|
||||||
|
const nsAttrValue* aOldValue)
|
||||||
{
|
{
|
||||||
nsCOMPtr<nsIMutationObserver> kungFuDeathGrip(this);
|
nsCOMPtr<nsIMutationObserver> kungFuDeathGrip(this);
|
||||||
|
|
||||||
@ -1536,7 +1537,7 @@ nsXULContentBuilder::AttributeChanged(nsIDocument* aDocument,
|
|||||||
|
|
||||||
// Pass along to the generic template builder.
|
// Pass along to the generic template builder.
|
||||||
nsXULTemplateBuilder::AttributeChanged(aDocument, aElement, aNameSpaceID,
|
nsXULTemplateBuilder::AttributeChanged(aDocument, aElement, aNameSpaceID,
|
||||||
aAttribute, aModType);
|
aAttribute, aModType, aOldValue);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
@ -1093,7 +1093,8 @@ nsXULTemplateBuilder::AttributeChanged(nsIDocument* aDocument,
|
|||||||
Element* aElement,
|
Element* aElement,
|
||||||
int32_t aNameSpaceID,
|
int32_t aNameSpaceID,
|
||||||
nsIAtom* aAttribute,
|
nsIAtom* aAttribute,
|
||||||
int32_t aModType)
|
int32_t aModType,
|
||||||
|
const nsAttrValue* aOldValue)
|
||||||
{
|
{
|
||||||
if (aElement == mRoot && aNameSpaceID == kNameSpaceID_None) {
|
if (aElement == mRoot && aNameSpaceID == kNameSpaceID_None) {
|
||||||
// Check for a change to the 'ref' attribute on an atom, in which
|
// Check for a change to the 'ref' attribute on an atom, in which
|
||||||
|
@ -4257,7 +4257,8 @@ PresShell::AttributeChanged(nsIDocument* aDocument,
|
|||||||
Element* aElement,
|
Element* aElement,
|
||||||
int32_t aNameSpaceID,
|
int32_t aNameSpaceID,
|
||||||
nsIAtom* aAttribute,
|
nsIAtom* aAttribute,
|
||||||
int32_t aModType)
|
int32_t aModType,
|
||||||
|
const nsAttrValue* aOldValue)
|
||||||
{
|
{
|
||||||
NS_PRECONDITION(!mIsDocumentGone, "Unexpected AttributeChanged");
|
NS_PRECONDITION(!mIsDocumentGone, "Unexpected AttributeChanged");
|
||||||
NS_PRECONDITION(aDocument == mDocument, "Unexpected aDocument");
|
NS_PRECONDITION(aDocument == mDocument, "Unexpected aDocument");
|
||||||
|
@ -919,7 +919,8 @@ nsImageMap::AttributeChanged(nsIDocument* aDocument,
|
|||||||
dom::Element* aElement,
|
dom::Element* aElement,
|
||||||
int32_t aNameSpaceID,
|
int32_t aNameSpaceID,
|
||||||
nsIAtom* aAttribute,
|
nsIAtom* aAttribute,
|
||||||
int32_t aModType)
|
int32_t aModType,
|
||||||
|
const nsAttrValue* aOldValue)
|
||||||
{
|
{
|
||||||
// If the parent of the changing content node is our map then update
|
// If the parent of the changing content node is our map then update
|
||||||
// the map. But only do this if the node is an HTML <area> or <a>
|
// the map. But only do this if the node is an HTML <area> or <a>
|
||||||
|
@ -632,7 +632,8 @@ inDOMView::NodeWillBeDestroyed(const nsINode* aNode)
|
|||||||
void
|
void
|
||||||
inDOMView::AttributeChanged(nsIDocument* aDocument, dom::Element* aElement,
|
inDOMView::AttributeChanged(nsIDocument* aDocument, dom::Element* aElement,
|
||||||
int32_t aNameSpaceID, nsIAtom* aAttribute,
|
int32_t aNameSpaceID, nsIAtom* aAttribute,
|
||||||
int32_t aModType)
|
int32_t aModType,
|
||||||
|
const nsAttrValue* aOldValue)
|
||||||
{
|
{
|
||||||
if (!mTree) {
|
if (!mTree) {
|
||||||
return;
|
return;
|
||||||
|
@ -3467,7 +3467,8 @@ SVGTextFrame::MutationObserver::AttributeChanged(
|
|||||||
mozilla::dom::Element* aElement,
|
mozilla::dom::Element* aElement,
|
||||||
int32_t aNameSpaceID,
|
int32_t aNameSpaceID,
|
||||||
nsIAtom* aAttribute,
|
nsIAtom* aAttribute,
|
||||||
int32_t aModType)
|
int32_t aModType,
|
||||||
|
const nsAttrValue* aOldValue)
|
||||||
{
|
{
|
||||||
if (!aElement->IsSVGElement()) {
|
if (!aElement->IsSVGElement()) {
|
||||||
return;
|
return;
|
||||||
|
@ -112,7 +112,8 @@ nsSVGRenderingObserver::AttributeChanged(nsIDocument* aDocument,
|
|||||||
dom::Element* aElement,
|
dom::Element* aElement,
|
||||||
int32_t aNameSpaceID,
|
int32_t aNameSpaceID,
|
||||||
nsIAtom* aAttribute,
|
nsIAtom* aAttribute,
|
||||||
int32_t aModType)
|
int32_t aModType,
|
||||||
|
const nsAttrValue* aOldValue)
|
||||||
{
|
{
|
||||||
// An attribute belonging to the element that we are observing *or one of its
|
// An attribute belonging to the element that we are observing *or one of its
|
||||||
// descendants* has changed.
|
// descendants* has changed.
|
||||||
|
@ -715,7 +715,8 @@ nsTreeContentView::AttributeChanged(nsIDocument* aDocument,
|
|||||||
dom::Element* aElement,
|
dom::Element* aElement,
|
||||||
int32_t aNameSpaceID,
|
int32_t aNameSpaceID,
|
||||||
nsIAtom* aAttribute,
|
nsIAtom* aAttribute,
|
||||||
int32_t aModType)
|
int32_t aModType,
|
||||||
|
const nsAttrValue* aOldValue)
|
||||||
{
|
{
|
||||||
// Lots of codepaths under here that do all sorts of stuff, so be safe.
|
// Lots of codepaths under here that do all sorts of stuff, so be safe.
|
||||||
nsCOMPtr<nsIMutationObserver> kungFuDeathGrip(this);
|
nsCOMPtr<nsIMutationObserver> kungFuDeathGrip(this);
|
||||||
|
@ -114,7 +114,8 @@ void
|
|||||||
nsFormFillController::AttributeChanged(nsIDocument* aDocument,
|
nsFormFillController::AttributeChanged(nsIDocument* aDocument,
|
||||||
mozilla::dom::Element* aElement,
|
mozilla::dom::Element* aElement,
|
||||||
int32_t aNameSpaceID,
|
int32_t aNameSpaceID,
|
||||||
nsIAtom* aAttribute, int32_t aModType)
|
nsIAtom* aAttribute, int32_t aModType,
|
||||||
|
const nsAttrValue* aOldValue)
|
||||||
{
|
{
|
||||||
if ((aAttribute == nsGkAtoms::type || aAttribute == nsGkAtoms::readonly ||
|
if ((aAttribute == nsGkAtoms::type || aAttribute == nsGkAtoms::readonly ||
|
||||||
aAttribute == nsGkAtoms::autocomplete) &&
|
aAttribute == nsGkAtoms::autocomplete) &&
|
||||||
|
@ -100,7 +100,8 @@ void nsMenuGroupOwnerX::AttributeChanged(nsIDocument* aDocument,
|
|||||||
dom::Element* aElement,
|
dom::Element* aElement,
|
||||||
int32_t aNameSpaceID,
|
int32_t aNameSpaceID,
|
||||||
nsIAtom* aAttribute,
|
nsIAtom* aAttribute,
|
||||||
int32_t aModType)
|
int32_t aModType,
|
||||||
|
const nsAttrValue* aOldValue)
|
||||||
{
|
{
|
||||||
nsCOMPtr<nsIMutationObserver> kungFuDeathGrip(this);
|
nsCOMPtr<nsIMutationObserver> kungFuDeathGrip(this);
|
||||||
nsChangeObserver* obs = LookupContentChangeObserver(aElement);
|
nsChangeObserver* obs = LookupContentChangeObserver(aElement);
|
||||||
|
Loading…
Reference in New Issue
Block a user