/* 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"
#include "nsIVariant.idl"


// Introduced in DOM Level 3:

[scriptable, function, uuid(91afebdd-a201-4db0-b728-9d59580f0cfd)]
interface nsIDOMUserDataHandler : nsISupports
{
  // OperationType
  const unsigned short      NODE_CLONED                    = 1;
  const unsigned short      NODE_IMPORTED                  = 2;
  const unsigned short      NODE_DELETED                   = 3;
  const unsigned short      NODE_RENAMED                   = 4;
  const unsigned short      NODE_ADOPTED                   = 5;

  void               handle(in unsigned short operation,
                            in DOMString key,
                            in nsIVariant data,
                            in nsIDOMNode src,
                            in nsIDOMNode dst);
};
