|
1 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- |
|
2 * vim: set ts=4 sw=4 et tw=80: |
|
3 * |
|
4 * This Source Code Form is subject to the terms of the Mozilla Public |
|
5 * License, v. 2.0. If a copy of the MPL was not distributed with this |
|
6 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
|
7 |
|
8 include protocol PContent; |
|
9 include DOMTypes; |
|
10 include JavaScriptTypes; |
|
11 |
|
12 using struct mozilla::void_t from "ipc/IPCMessageUtils.h"; |
|
13 |
|
14 namespace mozilla { |
|
15 namespace jsipc { |
|
16 |
|
17 intr protocol PJavaScript |
|
18 { |
|
19 manager PContent; |
|
20 |
|
21 child: |
|
22 // The parent process no longer holds any references to the child object. |
|
23 async DropObject(uint64_t objId); |
|
24 |
|
25 // These roughly map to the ProxyHandler hooks that CPOWs need. |
|
26 rpc PreventExtensions(uint64_t objId) returns (ReturnStatus rs); |
|
27 rpc GetPropertyDescriptor(uint64_t objId, nsString id) returns (ReturnStatus rs, PPropertyDescriptor result); |
|
28 rpc GetOwnPropertyDescriptor(uint64_t objId, nsString id) returns (ReturnStatus rs, PPropertyDescriptor result); |
|
29 rpc DefineProperty(uint64_t objId, nsString id, PPropertyDescriptor descriptor) returns (ReturnStatus rs); |
|
30 rpc Delete(uint64_t objId, nsString id) returns (ReturnStatus rs, bool successful); |
|
31 |
|
32 rpc Has(uint64_t objId, nsString id) returns (ReturnStatus rs, bool has); |
|
33 rpc HasOwn(uint64_t objId, nsString id) returns (ReturnStatus rs, bool has); |
|
34 rpc Get(uint64_t objId, uint64_t receiverId, nsString id) returns (ReturnStatus rs, JSVariant result); |
|
35 rpc Set(uint64_t objId, uint64_t receiverId, nsString id, bool strict, JSVariant value) returns (ReturnStatus rs, JSVariant result); |
|
36 |
|
37 rpc IsExtensible(uint64_t objId) returns (ReturnStatus rs, bool result); |
|
38 rpc Call(uint64_t objId, JSParam[] argv) returns (ReturnStatus rs, JSVariant result, JSParam[] outparams); |
|
39 rpc ObjectClassIs(uint64_t objId, uint32_t classValue) returns (bool result); |
|
40 rpc ClassName(uint64_t objId) returns (nsString name); |
|
41 |
|
42 rpc GetPropertyNames(uint64_t objId, uint32_t flags) returns (ReturnStatus rs, nsString[] names); |
|
43 rpc InstanceOf(uint64_t objId, JSIID iid) returns (ReturnStatus rs, bool instanceof); |
|
44 rpc DOMInstanceOf(uint64_t objId, int prototypeID, int depth) returns (ReturnStatus rs, bool instanceof); |
|
45 |
|
46 parent: |
|
47 async __delete__(); |
|
48 }; |
|
49 |
|
50 } |
|
51 } |