2012-03-31 09:30:13 -07:00
|
|
|
/* vim: set shiftwidth=2 tabstop=8 autoindent cindent expandtab: */
|
|
|
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
|
|
|
* You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
|
|
|
|
#include "domstubs.idl"
|
|
|
|
interface nsIVariant;
|
|
|
|
|
|
|
|
[scriptable, uuid(2fa4716f-405a-449b-954b-ae570c170364)]
|
|
|
|
interface nsIDOMMutationRecord : nsISupports
|
|
|
|
{
|
|
|
|
/**
|
|
|
|
* type is on of childList, attribute, characterData.
|
|
|
|
*/
|
|
|
|
readonly attribute DOMString type;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Target of the change.
|
|
|
|
* If an attribute is changed, target is the element,
|
|
|
|
* if an element is added or removed, target is the node
|
|
|
|
* which was added or removed.
|
|
|
|
* If text is changed, target is the CharacterData node which was changed.
|
|
|
|
*/
|
|
|
|
readonly attribute nsIDOMNode target;
|
|
|
|
|
|
|
|
readonly attribute nsIDOMNodeList addedNodes;
|
|
|
|
readonly attribute nsIDOMNodeList removedNodes;
|
|
|
|
|
|
|
|
readonly attribute nsIDOMNode previousSibling;
|
|
|
|
readonly attribute nsIDOMNode nextSibling;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* The name of the attribute which was changed, or null.
|
|
|
|
*/
|
|
|
|
readonly attribute DOMString attributeName;
|
|
|
|
readonly attribute DOMString attributeNamespace;
|
|
|
|
|
|
|
|
/*
|
|
|
|
* The previous value of the attribute or CharacterData node, or null.
|
|
|
|
*
|
|
|
|
* If a new attribute is added, or attribute values aren't reported,
|
|
|
|
* prevValue is null.
|
|
|
|
*/
|
|
|
|
readonly attribute DOMString oldValue;
|
|
|
|
};
|
|
|
|
|
|
|
|
dictionary MutationObserverInit
|
|
|
|
{
|
|
|
|
boolean childList;
|
|
|
|
boolean attributes;
|
|
|
|
boolean characterData;
|
|
|
|
boolean subtree;
|
|
|
|
boolean attributeOldValue;
|
|
|
|
boolean characterDataOldValue;
|
|
|
|
jsval attributeFilter; // DOMString[]
|
|
|
|
};
|
|
|
|
|
|
|
|
//[Constructor(in nsIMutationCallback aDoneCallback)]
|
2012-05-23 03:45:14 -07:00
|
|
|
[scriptable, builtinclass, uuid(573105b5-d64e-468f-959f-87eebf93913e)]
|
|
|
|
interface nsIDOMMutationObserver : nsISupports
|
2012-03-31 09:30:13 -07:00
|
|
|
{
|
|
|
|
[implicit_jscontext]
|
|
|
|
void observe(in nsIDOMNode aTarget, in jsval aOptions);
|
|
|
|
void disconnect();
|
2012-04-10 22:24:18 -07:00
|
|
|
nsIVariant takeRecords();
|
2012-03-31 09:30:13 -07:00
|
|
|
};
|
|
|
|
|
2012-05-23 03:45:14 -07:00
|
|
|
[scriptable, function, uuid(5b52ce60-2210-42f0-842b-7f9f03d62f85)]
|
2012-03-31 09:30:13 -07:00
|
|
|
interface nsIMutationObserverCallback : nsISupports
|
|
|
|
{
|
2012-05-23 03:45:14 -07:00
|
|
|
void handleMutations(in nsIVariant aRecords, in nsIDOMMutationObserver aObserver);
|
2012-03-31 09:30:13 -07:00
|
|
|
};
|