1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* This Source Code Form is subject to the terms of the Mozilla Public
3 * License, v. 2.0. If a copy of the MPL was not distributed with this
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
6 #include
"nsISupports.idl"
9 interface nsILocalHandlerApp
;
10 interface nsIMutableArray
;
13 * Implements Win7 Taskbar jump list item interfaces.
15 * Note to consumers: it's reasonable to expect we'll need support for other types
16 * of jump list items (an audio file, an email message, etc.). To add types,
17 * create the specific interface here, add an implementation class to WinJumpListItem,
18 * and add support to addListBuild & removed items processing.
22 [scriptable
, uuid(ACB8FB3C
-E1B0
-4044-8A50
-E52C3E7C1057
)]
23 interface nsILegacyJumpListItem
: nsISupports
25 const short JUMPLIST_ITEM_EMPTY
= 0; // Empty list item
26 const short JUMPLIST_ITEM_SEPARATOR
= 1; // Separator
27 const short JUMPLIST_ITEM_LINK
= 2; // Web link item
28 const short JUMPLIST_ITEM_SHORTCUT
= 3; // Application shortcut
31 * Retrieves the jump list item type.
33 readonly attribute
short type
;
36 * Compare this item to another.
38 * Compares the type and other properties specific to this item's
42 * link: type, uri, title
43 * shortcut: type, handler app
45 boolean equals
(in nsILegacyJumpListItem item
);
52 [scriptable
, uuid(69A2D5C5
-14DC
-47da
-925D
-869E0BD64D27
)]
53 interface nsILegacyJumpListSeparator
: nsILegacyJumpListItem
55 /* nothing needed here */
59 * A URI link jump list item.
61 * Note the application must be the registered protocol
62 * handler for the protocol of the link.
65 [scriptable
, uuid(76EA47B1
-C797
-49b3
-9F18
-5E740A688524
)]
66 interface nsILegacyJumpListLink
: nsILegacyJumpListItem
69 * Set or get the uri for this link item.
74 * Set or get the title for a link item.
76 attribute AString uriTitle
;
80 * A generic application shortcut with command line support.
83 [scriptable
, uuid(CBE3A37C
-BCE1
-4fec
-80A5
-5FFBC7F33EEA
)]
84 interface nsILegacyJumpListShortcut
: nsILegacyJumpListItem
87 * Set or get the handler app for this shortcut item.
89 * The handler app may also be used along with iconIndex to generate an icon
90 * for the jump list item.
92 * @throw NS_ERROR_FILE_NOT_FOUND if the handler app can
93 * not be found on the system.
97 attribute nsILocalHandlerApp app
;
100 * Set or get the icon displayed with the jump list item.
102 * Indicates the resource index of the icon contained within the handler
103 * executable which may be used as the jump list icon.
105 * @see faviconPageUri
107 attribute
long iconIndex
;
110 * Set or get the URI of a page whose favicon may be used as the icon.
112 * When a jump list build occurs, the favicon to be used for the item is
113 * obtained using the following steps:
114 * - First, attempt to use the asynchronously retrieved and scaled favicon
115 * associated with the faviconPageUri.
116 * - If faviconPageUri is null, or if retrieving the favicon fails, fall
117 * back to using the handler executable and iconIndex.
119 attribute nsIURI faviconPageUri
;