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 ContentParentPtr
(mozilla
::dom
::ContentParent
);
18 [ptr] native JSActorManagerPtr
(mozilla
::dom
::JSActorManager
);
20 webidl JSProcessActorParent
;
23 * Parent actor interface for a process which can host DOM content.
25 * Implemented by either `InProcessParent` for the parent process, or
26 * `ContentParent` for a content process.
28 [scriptable
, builtinclass
, uuid(81fc08b9
-c901
-471f
-ab0d
-876362eba770
)]
29 interface nsIDOMProcessParent
: nsISupports
{
31 * Internal child process ID. `0` is reserved for the parent process.
33 [infallible
] readonly attribute
unsigned long long childID
;
36 * OS ID of the process.
38 [infallible
] readonly attribute
long osPid
;
41 * Lookup a JSProcessActorParent managed by this interface by name.
43 [implicit_jscontext
] JSProcessActorParent getActor
(in ACString name
);
44 JSProcessActorParent getExistingActor
(in ACString name
);
46 /** Can the actor still send messages? */
47 [infallible
] readonly attribute
boolean canSend
;
49 [notxpcom
, nostdcall
] ContentParentPtr AsContentParent
();
51 /** Cast this nsIDOMProcessParent to a JSActorManager */
52 [notxpcom
, nostdcall
] JSActorManagerPtr AsJSActorManager
();
55 * Remote type of the process.
57 readonly attribute ACString remoteType
;