diff options
Diffstat (limited to 'docshell/base/nsIClipboardCommands.idl')
-rw-r--r-- | docshell/base/nsIClipboardCommands.idl | 111 |
1 files changed, 111 insertions, 0 deletions
diff --git a/docshell/base/nsIClipboardCommands.idl b/docshell/base/nsIClipboardCommands.idl new file mode 100644 index 000000000..9dcb1401f --- /dev/null +++ b/docshell/base/nsIClipboardCommands.idl @@ -0,0 +1,111 @@ +/* -*- 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 "nsISupports.idl" + +/** + * An interface for embedding clients who wish to interact with + * the system-wide OS clipboard. Mozilla does not use a private + * clipboard, instead it places its data directly onto the system + * clipboard. The webshell implements this interface. + */ + +[scriptable, uuid(b8100c90-73be-11d2-92a5-00105a1b0d64)] +interface nsIClipboardCommands : nsISupports { + + /** + * Returns whether there is a selection and it is not read-only. + * + * @return <code>true</code> if the current selection can be cut, + * <code>false</code> otherwise. + */ + boolean canCutSelection(); + + /** + * Returns whether there is a selection and it is copyable. + * + * @return <code>true</code> if there is a selection, + * <code>false</code> otherwise. + */ + boolean canCopySelection(); + + /** + * Returns whether we can copy a link location. + * + * @return <code>true</code> if a link is selected, + * <code>false</code> otherwise. + */ + boolean canCopyLinkLocation(); + + /** + * Returns whether we can copy an image location. + * + * @return <code>true</code> if an image is selected, + <code>false</code> otherwise. + */ + boolean canCopyImageLocation(); + + /** + * Returns whether we can copy an image's contents. + * + * @return <code>true</code> if an image is selected, + * <code>false</code> otherwise + */ + boolean canCopyImageContents(); + + /** + * Returns whether the current contents of the clipboard can be + * pasted and if the current selection is not read-only. + * + * @return <code>true</code> there is data to paste on the clipboard + * and the current selection is not read-only, + * <code>false</code> otherwise + */ + boolean canPaste(); + + /** + * Cut the current selection onto the clipboard. + */ + void cutSelection(); + + /** + * Copy the current selection onto the clipboard. + */ + void copySelection(); + + /** + * Copy the link location of the current selection (e.g., + * the |href| attribute of a selected |a| tag). + */ + void copyLinkLocation(); + + /** + * Copy the location of the selected image. + */ + void copyImageLocation(); + + /** + * Copy the contents of the selected image. + */ + void copyImageContents(); + + /** + * Paste the contents of the clipboard into the current selection. + */ + void paste(); + + /** + * Select the entire contents. + */ + void selectAll(); + + /** + * Clear the current selection (if any). Insertion point ends up + * at beginning of current selection. + */ + void selectNone(); + +}; |