Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Fetching contributors…
Cannot retrieve contributors at this time
124 lines (103 sloc) 3.92 KB
/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
* 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
* 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 Communicator.
* The Initial Developer of the Original Code is
* Netscape Communications Corp.
* Portions created by the Initial Developer are Copyright (C) 1999
* the Initial Developer. All Rights Reserved.
* Contributor(s):
* Mike Pinkerton
* Alternatively, the contents of this file may be used under the terms of
* either 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"
#include "nsISupportsArray.idl"
#include "nsITransferable.idl"
%{ C++
#include "nsSize.h"
native nsSize (nsSize);
interface nsIDOMDocument;
interface nsIDOMNode;
interface nsIDOMDataTransfer;
[scriptable, uuid(fde41f6a-c710-46f8-a0a8-1ff76ca4ff57)]
interface nsIDragSession : nsISupports
* Set the current state of the drag, whether it can be dropped or not.
* usually the target "frame" sets this so the native system can render the correct feedback
attribute boolean canDrop;
* Indicates if the drop event should be dispatched only to chrome.
attribute boolean onlyChromeDrop;
* Sets the action (copy, move, link, et.c) for the current drag
attribute unsigned long dragAction;
* Sets the current width and height of the drag target area.
* It will contain the current size of the Frame that the drag is currently in
[noscript] attribute nsSize targetSize;
* Get the number of items that were dropped
readonly attribute unsigned long numDropItems;
* The document where the drag was started, which will be null if the
* drag originated outside the application. Useful for determining if a drop
* originated in the same document.
readonly attribute nsIDOMDocument sourceDocument;
* The dom node that was originally dragged to start the session, which will be null if the
* drag originated outside the application.
readonly attribute nsIDOMNode sourceNode;
* The data transfer object for the current drag.
attribute nsIDOMDataTransfer dataTransfer;
* Get data from a Drag&Drop. Can be called while the drag is in process
* or after the drop has completed.
* @param aTransferable the transferable for the data to be put into
* @param aItemIndex which of multiple drag items, zero-based
void getData ( in nsITransferable aTransferable, in unsigned long aItemIndex ) ;
* Check to set if any of the native data on the clipboard matches this data flavor
boolean isDataFlavorSupported ( in string aDataFlavor ) ;
%{ C++
Jump to Line
Something went wrong with that request. Please try again.