/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=2 et sw=2 tw=80: */
/* 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 nsIAtom;

[scriptable, uuid(47c9ab4f-1ca3-4551-95d1-c02a93a0e74f)]
interface nsIDOMDOMStringMap : nsISupports
{
  [notxpcom] boolean hasDataAttr(in DOMString prop);
  [noscript] DOMString getDataAttr(in DOMString prop);
  [noscript] void setDataAttr(in DOMString prop, in DOMString value);
  [notxpcom] void removeDataAttr(in DOMString prop);
  
  /**
   * Removes the property from the dataset object. Used to update the
   * dataset object when data-* attribute has been removed from the
   * element.
   */
  [notxpcom] void removeProp(in nsIAtom attr);
};
