dom/interfaces/xul/nsIDOMXULCommandEvent.idl
author Ehsan Akhgari <ehsan@mozilla.com>
Thu, 08 May 2014 16:45:36 -0400
changeset 194723 c590fcb23c3c1c1bb3a41979b04fdc3031953130
parent 122252 57427d474c9a4f753380f6eba62a8d433f6cc5c1
child 294023 85e218929a7a10851b83487c3b622b26f490c544
permissions -rw-r--r--
Bug 994964 - Make DOM XPIDL interfaces non-scriptable, and add shim Components.interfaces entries for them; r=bzbarsky,bholley

/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim:set ts=2 sw=2 sts=2 et cindent: */
/* 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/. */

/**
 * This interface is supported by command events, which are dispatched to
 * XUL elements as a result of mouse or keyboard activation.
 */

#include "nsIDOMUIEvent.idl"

[builtinclass, uuid(2d5b6e19-74bb-40af-9aac-59a1e53e3fcc)]
interface nsIDOMXULCommandEvent : nsIDOMUIEvent
{
  /**
   * Command events support the same set of modifier keys as mouse and key
   * events.
   */
  readonly attribute boolean ctrlKey;
  readonly attribute boolean shiftKey;
  readonly attribute boolean altKey;
  readonly attribute boolean metaKey;

  /**
   * If the command event was redispatched because of a command= attribute
   * on the original target, sourceEvent will be set to the original DOM Event.
   * Otherwise, sourceEvent is null.
   */
  readonly attribute nsIDOMEvent sourceEvent;

  /**
   * Creates a new command event with the given attributes.
   */
  void initCommandEvent(in DOMString typeArg,
                        in boolean canBubbleArg,
                        in boolean cancelableArg,
                        in nsIDOMWindow viewArg,
                        in long detailArg,
                        in boolean ctrlKeyArg,
                        in boolean altKeyArg,
                        in boolean shiftKeyArg,
                        in boolean metaKeyArg,
                        in nsIDOMEvent sourceEvent);
};