summaryrefslogtreecommitdiffstats
path: root/browser/components/shell/nsIMacShellService.idl
diff options
context:
space:
mode:
Diffstat (limited to 'browser/components/shell/nsIMacShellService.idl')
-rw-r--r--browser/components/shell/nsIMacShellService.idl42
1 files changed, 42 insertions, 0 deletions
diff --git a/browser/components/shell/nsIMacShellService.idl b/browser/components/shell/nsIMacShellService.idl
new file mode 100644
index 0000000000..414cab5ca8
--- /dev/null
+++ b/browser/components/shell/nsIMacShellService.idl
@@ -0,0 +1,42 @@
+/* -*- 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 "nsIShellService.idl"
+
+[scriptable, uuid(387fdc80-0077-4b60-a0d9-d9e80a83ba64)]
+interface nsIMacShellService : nsIShellService
+{
+ /**
+ * Opens the desktop preferences, e.g. for after setting the background.
+ */
+ void showDesktopPreferences();
+
+ /**
+ * @param aPaneID used by macOS to identify the pane to open.
+ * Example arguments:
+ * * "" - use the default Security and Privacy pane.
+ * * General
+ * * Privacy
+ * * Privacy_AllFiles
+ * * Privacy_Camera
+ * * Privacy_Microphone
+ */
+ void showSecurityPreferences(in ACString aPaneID);
+
+ /*
+ * Searches for any available handlers for the given protocol and returns them in an
+ * array in the form [[displayName1, handlerPath1], [displayName2, handlerPath2], etc.]
+ * Can return an empty array if no handlers are found.
+ *
+ * @param protocol The protocol to search for handlers for (e.g. "http", "mailto" etc.)
+ * @return The full list of handler paths and names.
+ *
+ * @throws NS_ERROR_ILLEGAL_VALUE if the protocol cannot be resolved as a string.
+ * @throws NS_ERROR_MALFORMED_URI if the protocol cannot be resolved to a URI.
+ * @throws NS_ERROR_NOT_AVAILABLE if a list of handlers fails to generate.
+ */
+
+ Array<Array<AString> > getAvailableApplicationsForProtocol(in ACString protocol);
+};