/gecko_sdk/idl/nsIDOMWindowUtils.idl
IDL | 181 lines | 26 code | 13 blank | 142 comment | 0 complexity | f20175b150d3a1ef9dc97943f2235ab2 MD5 | raw file
- /* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
- /* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1/GPL 2.0/LGPL 2.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is mozilla.org code.
- *
- * The Initial Developer of the Original Code is
- * Mozilla.org
- * Portions created by the Initial Developer are Copyright (C) 2004
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either of the GNU General Public License Version 2 or later (the "GPL"),
- * or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- * in which case the provisions of the GPL or the LGPL are applicable instead
- * of those above. If you wish to allow use of your version of this file only
- * under the terms of either the GPL or the LGPL, and not to allow others to
- * use your version of this file under the terms of the MPL, indicate your
- * decision by deleting the provisions above and replace them with the notice
- * and other provisions required by the GPL or the LGPL. If you do not delete
- * the provisions above, a recipient may use your version of this file under
- * the terms of any one of the MPL, the GPL or the LGPL.
- *
- * ***** END LICENSE BLOCK ***** */
- #include "nsISupports.idl"
- /**
- * nsIDOMWindowUtils is intended for infrequently-used methods related
- * to the current nsIDOMWindow. Some of the methods may require
- * elevated privileges; the method implementations should contain the
- * necessary security checks. Access this interface by calling
- * getInterface on a DOMWindow.
- */
- interface nsIDOMElement;
- [scriptable, uuid(1cfc1a0a-e348-4b18-b61b-935c192f85c4)]
- interface nsIDOMWindowUtils : nsISupports {
- /**
- * Image animation mode of the window. When this attribute's value
- * is changed, the implementation should set all images in the window
- * to the given value. That is, when set to kDontAnimMode, all images
- * will stop animating. The attribute's value must be one of the
- * animationMode values from imgIContainer.
- * @note Images may individually override the window's setting after
- * the window's mode is set. Therefore images given different modes
- * since the last setting of the window's mode may behave
- * out of line with the window's overall mode.
- * @note The attribute's value is the window's overall mode. It may
- * for example continue to report kDontAnimMode after all images
- * have subsequently been individually animated.
- * @note Only images immediately in this window are affected;
- * this is not recursive to subwindows.
- * @see imgIContainer
- */
- attribute unsigned short imageAnimationMode;
- /**
- * Whether the charset of the window's current document has been forced by
- * the user.
- * Cannot be accessed from unprivileged context (not content-accessible)
- */
- readonly attribute boolean docCharsetIsForced;
- /**
- * Function to get metadata associated with the window's current document
- * @param aName the name of the metadata. This should be all lowercase.
- * @return the value of the metadata, or the empty string if it's not set
- *
- * Will throw a DOM security error if called without UniversalXPConnect
- * privileges.
- */
- AString getDocumentMetadata(in AString aName);
- /**
- * Force an immediate redraw of this window.
- */
- void redraw();
- /** Synthesize a mouse event for a window. The event types supported
- * are:
- * mousedown, mouseup, mousemove, mouseover, mouseout, contextmenu
- *
- * Events are sent in coordinates offset by aX and aY from the window.
- *
- * Note that additional events may be fired as a result of this call. For
- * instance, typically a click event will be fired as a result of a
- * mousedown and mouseup in sequence.
- *
- * Normally at this level of events, the mouseover and mouseout events are
- * only fired when the window is entered or exited. For inter-element
- * mouseover and mouseout events, a movemove event fired on the new element
- * should be sufficient to generate the correct over and out events as well.
- *
- * Cannot be accessed from unprivileged context (not content-accessible)
- * Will throw a DOM security error if called without UniversalXPConnect
- * privileges.
- *
- * @param aType event type
- * @param aX x offset
- * @param aY y offset
- * @param aButton button to synthesize
- * @param aClickCount number of clicks that have been performed
- * @param aModifiers modifiers pressed, using constants defined in nsIDOMNSEvent
- */
- void sendMouseEvent(in AString aType,
- in long aX,
- in long aY,
- in long aButton,
- in long aClickCount,
- in long aModifiers);
- /**
- * Synthesize a key event to the window. The event types supported are:
- * keydown, keyup, keypress
- *
- * Key events generally end up being sent to the focused node.
- *
- * Cannot be accessed from unprivileged context (not content-accessible)
- * Will throw a DOM security error if called without UniversalXPConnect
- * privileges.
- *
- * @param aType event type
- * @param aKeyCode key code
- * @param aCharCode character code
- * @param aModifiers modifiers pressed, using constants defined in nsIDOMNSEvent
- */
- void sendKeyEvent(in AString aType,
- in long aKeyCode,
- in long aCharCode,
- in long aModifiers);
- /**
- * See nsIWidget::SynthesizeNativeKeyEvent
- *
- * Cannot be accessed from unprivileged context (not content-accessible)
- * Will throw a DOM security error if called without UniversalXPConnect
- * privileges.
- */
- void sendNativeKeyEvent(in long aNativeKeyboardLayout,
- in long aNativeKeyCode,
- in long aModifierFlags,
- in AString aCharacters,
- in AString aUnmodifiedCharacters);
- /**
- * Focus the element aElement. The element should be in the same document
- * that the window is displaying. Pass null to blur the element, if any,
- * that currently has focus, and focus the document.
- *
- * Cannot be accessed from unprivileged context (not content-accessible)
- * Will throw a DOM security error if called without UniversalXPConnect
- * privileges.
- *
- * @param aElement the element to focus
- */
- void focus(in nsIDOMElement aElement);
- /**
- * Force a garbage collection. This will run the cycle-collector twice to
- * make sure all garbage is collected.
- *
- * Will throw a DOM security error if called without UniversalXPConnect
- * privileges in non-debug builds. Available to all callers in debug builds.
- */
- void garbageCollect();
- };