summaryrefslogtreecommitdiffstats
path: root/dom/interfaces/base/nsIContentProcess.idl
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 19:33:14 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 19:33:14 +0000
commit36d22d82aa202bb199967e9512281e9a53db42c9 (patch)
tree105e8c98ddea1c1e4784a60a5a6410fa416be2de /dom/interfaces/base/nsIContentProcess.idl
parentInitial commit. (diff)
downloadfirefox-esr-upstream.tar.xz
firefox-esr-upstream.zip
Adding upstream version 115.7.0esr.upstream/115.7.0esrupstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'dom/interfaces/base/nsIContentProcess.idl')
-rw-r--r--dom/interfaces/base/nsIContentProcess.idl51
1 files changed, 51 insertions, 0 deletions
diff --git a/dom/interfaces/base/nsIContentProcess.idl b/dom/interfaces/base/nsIContentProcess.idl
new file mode 100644
index 0000000000..198bb093a6
--- /dev/null
+++ b/dom/interfaces/base/nsIContentProcess.idl
@@ -0,0 +1,51 @@
+/* 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;
+
+[scriptable, builtinclass, uuid(456f58be-29dd-4973-885b-95aece1c9a8a)]
+interface nsIContentProcessInfo : nsISupports
+{
+ /**
+ * Is this content process alive?
+ */
+ readonly attribute boolean isAlive;
+
+ /**
+ * The content process's PID.
+ * Throws if the process is not alive.
+ */
+ readonly attribute int32_t processId;
+
+ /**
+ * Number of opened tabs living in this content process.
+ */
+ readonly attribute int32_t tabCount;
+
+ /**
+ * The process manager for this ContentParent (so a process message manager
+ * as opposed to a frame message manager.
+ */
+ readonly attribute nsISupports messageManager;
+};
+
+[scriptable, uuid(83ffb063-5f65-4c45-ae07-3f553e0809bb)]
+interface nsIContentProcessProvider : nsISupports
+{
+ /**
+ * Return this from provideProcess to create a new process.
+ */
+ const int32_t NEW_PROCESS = -1;
+
+ /**
+ * Given aAliveProcesses, choose which process of aType to use. Return
+ * nsIContentProcessProvider.NEW_PROCESS to ask the caller to create a new
+ * content process.
+ */
+ int32_t provideProcess(in AUTF8String aType,
+ in Array<nsIContentProcessInfo> aAliveProcesses,
+ in uint32_t aMaxCount);
+};