/* 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" [scriptable, uuid(0a4478f4-c5ae-4fb1-8686-d5b09fb99afb)] interface nsIUtilityProcessTest : nsISupports { /** * ** Test-only Method ** * * Start a generic utility process from JS code. * * actorsToAdd: An array of actor names, taken from WebIDLUtilityActorName. * Unlike normal utility processes, test processes launched this way do not * have any associated actor names unless specified here. Empty by default. */ [implicit_jscontext] Promise startProcess([optional] in Array actorsToAdd); /** * ** Test-only Method ** * * Report when a child process is actually dead (as opposed to merely having * been removed from our internal list of child processes). Must be called * while the process is still live. * * Only implemented on Windows. */ [implicit_jscontext] Promise untilChildProcessDead(in uint32_t pid); /** * ** Test-only Method ** * * Note that we are going to manually crash a process */ void noteIntentionalCrash(in unsigned long pid); /** * ** Test-only Method ** * * Allowing to stop Utility Process from JS code. * Default behavior is to stop any utility process. */ void stopProcess([optional] in string utilityActorName); /** * ** Test-only Method ** * * Sending Telemetry probes */ void testTelemetryProbes(); };