/* 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"

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

[scriptable, uuid(6c1fcf3d-119b-4cf4-9437-b9357508976a)]
interface nsIInlineEventHandlers : nsISupports
{
  [implicit_jscontext] attribute jsval onabort;
  [implicit_jscontext] attribute jsval onblur;
  [implicit_jscontext] attribute jsval oncanplay;
  [implicit_jscontext] attribute jsval oncanplaythrough;
  [implicit_jscontext] attribute jsval onchange;
  [implicit_jscontext] attribute jsval onclick;
  [implicit_jscontext] attribute jsval oncontextmenu;
  // Not supported yet
  // [implicit_jscontext] attribute jsval oncuechange;
  [implicit_jscontext] attribute jsval ondblclick;
  [implicit_jscontext] attribute jsval ondrag;
  [implicit_jscontext] attribute jsval ondragend;
  [implicit_jscontext] attribute jsval ondragenter;
  [implicit_jscontext] attribute jsval ondragleave;
  [implicit_jscontext] attribute jsval ondragover;
  [implicit_jscontext] attribute jsval ondragstart;
  [implicit_jscontext] attribute jsval ondrop;
  [implicit_jscontext] attribute jsval ondurationchange;
  [implicit_jscontext] attribute jsval onemptied;
  [implicit_jscontext] attribute jsval onended;
  [implicit_jscontext] attribute jsval onerror;
  [implicit_jscontext] attribute jsval onfocus;
  [implicit_jscontext] attribute jsval oninput;
  [implicit_jscontext] attribute jsval oninvalid;
  [implicit_jscontext] attribute jsval onkeydown;
  [implicit_jscontext] attribute jsval onkeypress;
  [implicit_jscontext] attribute jsval onkeyup;
  [implicit_jscontext] attribute jsval onload;
  [implicit_jscontext] attribute jsval onloadeddata;
  [implicit_jscontext] attribute jsval onloadedmetadata;
  [implicit_jscontext] attribute jsval onloadstart;
  [implicit_jscontext] attribute jsval onmousedown;
  [implicit_jscontext] attribute jsval onmousemove;
  [implicit_jscontext] attribute jsval onmouseout;
  [implicit_jscontext] attribute jsval onmouseover;
  [implicit_jscontext] attribute jsval onmouseup;
  // Not supported yet
  // [implicit_jscontext] attribute jsval onmousewheel;
  [implicit_jscontext] attribute jsval onmozfullscreenchange;
  [implicit_jscontext] attribute jsval onmozfullscreenerror;
  [implicit_jscontext] attribute jsval onmozpointerlockchange;
  [implicit_jscontext] attribute jsval onmozpointerlockerror;
  [implicit_jscontext] attribute jsval onpause;
  [implicit_jscontext] attribute jsval onplay;
  [implicit_jscontext] attribute jsval onplaying;
  [implicit_jscontext] attribute jsval onprogress;
  [implicit_jscontext] attribute jsval onratechange;
  [implicit_jscontext] attribute jsval onreset;
  [implicit_jscontext] attribute jsval onscroll;
  [implicit_jscontext] attribute jsval onseeked;
  [implicit_jscontext] attribute jsval onseeking;
  [implicit_jscontext] attribute jsval onselect;
  [implicit_jscontext] attribute jsval onshow;
  [implicit_jscontext] attribute jsval onstalled;
  [implicit_jscontext] attribute jsval onsubmit;
  [implicit_jscontext] attribute jsval onsuspend;
  [implicit_jscontext] attribute jsval ontimeupdate;
  [implicit_jscontext] attribute jsval onvolumechange;
  [implicit_jscontext] attribute jsval onwaiting;
  [implicit_jscontext] attribute jsval onwheel;

  [implicit_jscontext] attribute jsval onpointerdown;
  [implicit_jscontext] attribute jsval onpointermove;
  [implicit_jscontext] attribute jsval onpointerout;
  [implicit_jscontext] attribute jsval onpointerover;
  [implicit_jscontext] attribute jsval onpointerup;
  [implicit_jscontext] attribute jsval onpointerenter;
  [implicit_jscontext] attribute jsval onpointerleave;
  [implicit_jscontext] attribute jsval ongotpointercapture;
  [implicit_jscontext] attribute jsval onlostpointercapture;
  [implicit_jscontext] attribute jsval onpointercancel;

  /**
   * Non-HTML5 event attributes
   */
  [implicit_jscontext] attribute jsval oncopy;
  [implicit_jscontext] attribute jsval oncut;
  [implicit_jscontext] attribute jsval onpaste;
  [implicit_jscontext] attribute jsval onbeforescriptexecute;
  [implicit_jscontext] attribute jsval onafterscriptexecute;  
};
