1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* vim:set ts=2 sw=2 sts=2 et cindent: */
3 /* This Source Code Form is subject to the terms of the Mozilla Public
4 * License, v. 2.0. If a copy of the MPL was not distributed with this
5 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
7 #include
"nsISupports.idl"
15 } // namespace mozilla
17 [ptr] native ContentChildPtr
(mozilla
::dom
::ContentChild
);
18 [ptr] native JSActorManagerPtr
(mozilla
::dom
::JSActorManager
);
20 webidl JSProcessActorChild
;
23 * Child actor interface for a process which can host DOM content.
25 * Implemented by either `InProcessChild` for the parent process, or
26 * `ContentChild` for a content process.
28 [scriptable
, builtinclass
, uuid(b0c6e5f3
-02f1
-4f11
-a0af
-336fc231f3bf
)]
29 interface nsIDOMProcessChild
: nsISupports
{
32 * Get the nsIDOMProcessChild singleton for this content process. This will
33 * either be an InProcessChild in the parent process, or ContentChild in the
36 * Implemented in ContentChild.cpp
38 static nsIDOMProcessChild
* GetSingleton
();
42 * Internal child process ID. `0` is reserved for the parent process.
44 [infallible
] readonly attribute
unsigned long long childID
;
47 * Lookup a JSProcessActorChild managed by this interface by name.
49 [implicit_jscontext
] JSProcessActorChild getActor
(in ACString name
);
50 JSProcessActorChild getExistingActor
(in ACString name
);
52 /** Can the actor still send messages? */
53 [infallible
] readonly attribute
boolean canSend
;
55 [notxpcom
, nostdcall
] ContentChildPtr AsContentChild
();
57 /** Cast this nsIDOMProcessChild to a JSActorManager */
58 [notxpcom
, nostdcall
] JSActorManagerPtr AsJSActorManager
();