Bug 1550804 - Add color scheme simulation to the inspector. r=pbro
[gecko.git] / js / ipc / JavaScriptTypes.ipdlh
blobbf5794f3baa97d53e07659d97ba6e3e10ca09ae2
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/. */
8 include DOMTypes;
10 using struct mozilla::void_t from "ipc/IPCMessageUtils.h";
12 namespace mozilla {
13 namespace jsipc {
15 struct JSIID
17     uint32_t m0;
18     uint16_t m1;
19     uint16_t m2;
20     uint8_t m3_0;
21     uint8_t m3_1;
22     uint8_t m3_2;
23     uint8_t m3_3;
24     uint8_t m3_4;
25     uint8_t m3_5;
26     uint8_t m3_6;
27     uint8_t m3_7;
30 struct LocalObject
32     uint64_t serializedId;
35 struct RemoteObject
37     uint64_t serializedId;
38     bool isCallable;
39     bool isConstructor;
40     bool isDOMObject;
41     nsCString objectTag;
44 union ObjectVariant
46     LocalObject;
47     RemoteObject;
50 struct WellKnownSymbol
52     uint32_t which;
55 struct RegisteredSymbol
57     nsString key;
60 union SymbolVariant
62     WellKnownSymbol;
63     RegisteredSymbol;
66 struct UndefinedVariant {};
67 struct NullVariant {};
69 union ObjectOrNullVariant
71     ObjectVariant;
72     NullVariant;
75 union JSVariant
77     UndefinedVariant;
78     NullVariant;
79     ObjectVariant;
80     SymbolVariant;
81     nsString;   /* StringValue(x) */
82     double;     /* NumberValue(x) */
83     bool;       /* BooleanValue(x) */
84     JSIID;      /* XPC nsIID */
87 union JSIDVariant
89     SymbolVariant;
90     nsString;
91     int32_t;
94 struct ReturnSuccess
98 struct ReturnDeadCPOW
102 struct ReturnException
104     JSVariant exn;
107 struct ReturnObjectOpResult
109     uint32_t code;
112 union ReturnStatus
114     ReturnSuccess;
115     ReturnDeadCPOW;
116     ReturnException;
117     ReturnObjectOpResult;
120 union JSParam
122     void_t;     /* value is strictly an xpc out param */
123     JSVariant;  /* actual value to pass through */
126 union GetterSetter
128     uint64_t;
129     ObjectVariant;
132 struct PPropertyDescriptor
134     ObjectOrNullVariant obj;
135     uint32_t attrs;
136     JSVariant value;
138     // How to interpret these values depends on whether JSPROP_GETTER/SETTER
139     // are set. If set, the corresponding value is a CPOW or 0 for NULL.
140     // Otherwise, the following table is used:
141     //
142     //  0 - NULL
143     //  1 - Default getter or setter.
144     //  2 - Unknown
145     GetterSetter getter;
146     GetterSetter setter;
149 struct CpowEntry
151   nsString name;
152   JSVariant value;