summaryrefslogtreecommitdiffstats
path: root/widget/nsILegacyJumpListItem.idl
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 00:47:55 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 00:47:55 +0000
commit26a029d407be480d791972afb5975cf62c9360a6 (patch)
treef435a8308119effd964b339f76abb83a57c29483 /widget/nsILegacyJumpListItem.idl
parentInitial commit. (diff)
downloadfirefox-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.idl120
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;
+};