diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 00:47:55 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 00:47:55 +0000 |
commit | 26a029d407be480d791972afb5975cf62c9360a6 (patch) | |
tree | f435a8308119effd964b339f76abb83a57c29483 /widget/nsILegacyJumpListItem.idl | |
parent | Initial commit. (diff) | |
download | firefox-e51783d008170d9ab27d25da98ca3a38b0a41b67.tar.xz firefox-e51783d008170d9ab27d25da98ca3a38b0a41b67.zip |
Adding upstream version 124.0.1.upstream/124.0.1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'widget/nsILegacyJumpListItem.idl')
-rw-r--r-- | widget/nsILegacyJumpListItem.idl | 120 |
1 files changed, 120 insertions, 0 deletions
diff --git a/widget/nsILegacyJumpListItem.idl b/widget/nsILegacyJumpListItem.idl new file mode 100644 index 0000000000..29011215ac --- /dev/null +++ b/widget/nsILegacyJumpListItem.idl @@ -0,0 +1,120 @@ +/* -*- Mode: C++; 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" + +interface nsIURI; +interface nsILocalHandlerApp; +interface nsIMutableArray; + +/** + * Implements Win7 Taskbar jump list item interfaces. + * + * Note to consumers: it's reasonable to expect we'll need support for other types + * of jump list items (an audio file, an email message, etc.). To add types, + * create the specific interface here, add an implementation class to WinJumpListItem, + * and add support to addListBuild & removed items processing. + * + */ + +[scriptable, uuid(ACB8FB3C-E1B0-4044-8A50-E52C3E7C1057)] +interface nsILegacyJumpListItem : nsISupports +{ + const short JUMPLIST_ITEM_EMPTY = 0; // Empty list item + const short JUMPLIST_ITEM_SEPARATOR = 1; // Separator + const short JUMPLIST_ITEM_LINK = 2; // Web link item + const short JUMPLIST_ITEM_SHORTCUT = 3; // Application shortcut + + /** + * Retrieves the jump list item type. + */ + readonly attribute short type; + + /** + * Compare this item to another. + * + * Compares the type and other properties specific to this item's + * type. + * + * separator: type + * link: type, uri, title + * shortcut: type, handler app + */ + boolean equals(in nsILegacyJumpListItem item); +}; + +/** + * A menu separator. + */ + +[scriptable, uuid(69A2D5C5-14DC-47da-925D-869E0BD64D27)] +interface nsILegacyJumpListSeparator : nsILegacyJumpListItem +{ + /* nothing needed here */ +}; + +/** + * A URI link jump list item. + * + * Note the application must be the registered protocol + * handler for the protocol of the link. + */ + +[scriptable, uuid(76EA47B1-C797-49b3-9F18-5E740A688524)] +interface nsILegacyJumpListLink : nsILegacyJumpListItem +{ + /** + * Set or get the uri for this link item. + */ + attribute nsIURI uri; + + /** + * Set or get the title for a link item. + */ + attribute AString uriTitle; +}; + +/** + * A generic application shortcut with command line support. + */ + +[scriptable, uuid(CBE3A37C-BCE1-4fec-80A5-5FFBC7F33EEA)] +interface nsILegacyJumpListShortcut : nsILegacyJumpListItem +{ + /** + * Set or get the handler app for this shortcut item. + * + * The handler app may also be used along with iconIndex to generate an icon + * for the jump list item. + * + * @throw NS_ERROR_FILE_NOT_FOUND if the handler app can + * not be found on the system. + * + * @see faviconPageUri + */ + attribute nsILocalHandlerApp app; + + /** + * Set or get the icon displayed with the jump list item. + * + * Indicates the resource index of the icon contained within the handler + * executable which may be used as the jump list icon. + * + * @see faviconPageUri + */ + attribute long iconIndex; + + /** + * Set or get the URI of a page whose favicon may be used as the icon. + * + * When a jump list build occurs, the favicon to be used for the item is + * obtained using the following steps: + * - First, attempt to use the asynchronously retrieved and scaled favicon + * associated with the faviconPageUri. + * - If faviconPageUri is null, or if retrieving the favicon fails, fall + * back to using the handler executable and iconIndex. + */ + attribute nsIURI faviconPageUri; +}; |