/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* 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 "nsIDOMHTMLElement.idl"

%{ C++
#include "jspubtd.h"
%}

/**
 * The nsIDOMHTMLBodyElement interface is the interface to a [X]HTML
 * body element.
 *
 * This interface is trying to follow the DOM Level 2 HTML specification:
 * http://www.w3.org/TR/DOM-Level-2-HTML/
 *
 * with changes from the work-in-progress WHATWG HTML specification:
 * http://www.whatwg.org/specs/web-apps/current-work/
 */

[scriptable, uuid(385b5f03-a450-4154-931f-032ba50b6ad6)]
interface nsIDOMHTMLBodyElement : nsIDOMHTMLElement
{
           attribute DOMString        aLink;
           attribute DOMString        background;
           attribute DOMString        bgColor;
           attribute DOMString        link;
           attribute DOMString        text;
           attribute DOMString        vLink;

           [implicit_jscontext] attribute jsval            onafterprint;
           [implicit_jscontext] attribute jsval            onbeforeprint;
           [implicit_jscontext] attribute jsval            onbeforeunload;
           [implicit_jscontext] attribute jsval            onhashchange;
           [implicit_jscontext] attribute jsval            onmessage;
           [implicit_jscontext] attribute jsval            onoffline;
           [implicit_jscontext] attribute jsval            ononline;
           [implicit_jscontext] attribute jsval            onpagehide;
           [implicit_jscontext] attribute jsval            onpageshow;
           [implicit_jscontext] attribute jsval            onpopstate;
           // Not supported yet
           // [implicit_jscontext] attribute jsval            onredo;
           [implicit_jscontext] attribute jsval            onresize;
           // Not supported yet
           // [implicit_jscontext] attribute jsval            onstorage;
           // Not supported yet
           // [implicit_jscontext] attribute jsval            onundo;
           [implicit_jscontext] attribute jsval            onunload;
};
