@@ -18,54 +18,64 @@ CacheOverride::CacheOverrideMode CacheOverride::mode(JSObject *self) {
18
18
}
19
19
20
20
void CacheOverride::set_mode (JSObject *self, CacheOverride::CacheOverrideMode mode) {
21
+ MOZ_ASSERT (is_instance (self));
21
22
JS::SetReservedSlot (self, CacheOverride::Slots::Mode, JS::Int32Value ((int32_t )mode));
22
23
}
23
24
24
25
JS::Value CacheOverride::ttl (JSObject *self) {
26
+ MOZ_ASSERT (is_instance (self));
25
27
if (CacheOverride::mode (self) != CacheOverride::CacheOverrideMode::Override)
26
28
return JS::UndefinedValue ();
27
29
return JS::GetReservedSlot (self, Slots::TTL);
28
30
}
29
31
30
32
void CacheOverride::set_ttl (JSObject *self, uint32_t ttl) {
33
+ MOZ_ASSERT (is_instance (self));
31
34
MOZ_RELEASE_ASSERT (mode (self) == CacheOverride::CacheOverrideMode::Override);
32
35
JS::SetReservedSlot (self, CacheOverride::Slots::TTL, JS::Int32Value ((int32_t )ttl));
33
36
}
34
37
35
38
JS::Value CacheOverride::swr (JSObject *self) {
39
+ MOZ_ASSERT (is_instance (self));
36
40
if (CacheOverride::mode (self) != CacheOverride::CacheOverrideMode::Override)
37
41
return JS::UndefinedValue ();
38
42
return JS::GetReservedSlot (self, Slots::SWR);
39
43
}
40
44
41
45
void CacheOverride::set_swr (JSObject *self, uint32_t swr) {
46
+ MOZ_ASSERT (is_instance (self));
42
47
MOZ_RELEASE_ASSERT (CacheOverride::mode (self) == CacheOverride::CacheOverrideMode::Override);
43
48
JS::SetReservedSlot (self, CacheOverride::Slots::SWR, JS::Int32Value ((int32_t )swr));
44
49
}
45
50
46
51
JS::Value CacheOverride::surrogate_key (JSObject *self) {
52
+ MOZ_ASSERT (is_instance (self));
47
53
if (CacheOverride::mode (self) != CacheOverride::CacheOverrideMode::Override)
48
54
return JS::UndefinedValue ();
49
55
return JS::GetReservedSlot (self, Slots::SurrogateKey);
50
56
}
51
57
52
58
void CacheOverride::set_surrogate_key (JSObject *self, JSString *key) {
59
+ MOZ_ASSERT (is_instance (self));
53
60
MOZ_RELEASE_ASSERT (CacheOverride::mode (self) == CacheOverride::CacheOverrideMode::Override);
54
61
JS::SetReservedSlot (self, CacheOverride::Slots::SurrogateKey, JS::StringValue (key));
55
62
}
56
63
57
64
JS::Value CacheOverride::pci (JSObject *self) {
65
+ MOZ_ASSERT (is_instance (self));
58
66
if (CacheOverride::mode (self) != CacheOverride::CacheOverrideMode::Override)
59
67
return JS::UndefinedValue ();
60
68
return JS::GetReservedSlot (self, Slots::PCI);
61
69
}
62
70
63
71
void CacheOverride::set_pci (JSObject *self, bool pci) {
72
+ MOZ_ASSERT (is_instance (self));
64
73
MOZ_RELEASE_ASSERT (CacheOverride::mode (self) == CacheOverride::CacheOverrideMode::Override);
65
74
JS::SetReservedSlot (self, CacheOverride::Slots::PCI, JS::BooleanValue (pci));
66
75
}
67
76
68
77
uint8_t CacheOverride::abi_tag (JSObject *self) {
78
+ MOZ_ASSERT (is_instance (self));
69
79
switch (CacheOverride::mode (self)) {
70
80
case CacheOverride::CacheOverrideMode::None:
71
81
return (uint8_t )CacheOverrideTag::None;
@@ -86,6 +96,11 @@ uint8_t CacheOverride::abi_tag(JSObject *self) {
86
96
}
87
97
88
98
bool CacheOverride::mode_get (JSContext *cx, JS::HandleObject self, JS::MutableHandleValue rval) {
99
+ if (self == proto_obj) {
100
+ JS_ReportErrorNumberASCII (cx, GetErrorMessage, nullptr , JSMSG_INVALID_INTERFACE, " mode get" ,
101
+ " CacheOverride" );
102
+ return false ;
103
+ }
89
104
const char *mode_chars;
90
105
switch (CacheOverride::mode (self)) {
91
106
case CacheOverride::CacheOverrideMode::None:
@@ -120,6 +135,11 @@ bool CacheOverride::ensure_override(JSContext *cx, JS::HandleObject self, const
120
135
121
136
bool CacheOverride::mode_set (JSContext *cx, JS::HandleObject self, JS::HandleValue val,
122
137
JS::MutableHandleValue rval) {
138
+ if (self == proto_obj) {
139
+ JS_ReportErrorNumberASCII (cx, GetErrorMessage, nullptr , JSMSG_INVALID_INTERFACE, " mode set" ,
140
+ " CacheOverride" );
141
+ return false ;
142
+ }
123
143
size_t mode_len;
124
144
JS::UniqueChars mode_chars = encode (cx, val, &mode_len);
125
145
if (!mode_chars)
@@ -133,10 +153,8 @@ bool CacheOverride::mode_set(JSContext *cx, JS::HandleObject self, JS::HandleVal
133
153
} else if (!strcmp (mode_chars.get (), " override" )) {
134
154
mode = CacheOverride::CacheOverrideMode::Override;
135
155
} else {
136
- JS_ReportErrorUTF8 (cx,
137
- " 'mode' has to be \" none\" , \" pass\" , or \" override\" , "
138
- " but got %s" ,
139
- mode_chars.get ());
156
+ JS_ReportErrorNumberASCII (cx, GetErrorMessage, nullptr , JSMSG_CACHE_OVERRIDE_MODE_INVALID,
157
+ mode_chars.get ());
140
158
return false ;
141
159
}
142
160
@@ -145,12 +163,22 @@ bool CacheOverride::mode_set(JSContext *cx, JS::HandleObject self, JS::HandleVal
145
163
}
146
164
147
165
bool CacheOverride::ttl_get (JSContext *cx, JS::HandleObject self, JS::MutableHandleValue rval) {
166
+ if (self == proto_obj) {
167
+ JS_ReportErrorNumberASCII (cx, GetErrorMessage, nullptr , JSMSG_INVALID_INTERFACE, " ttl get" ,
168
+ " CacheOverride" );
169
+ return false ;
170
+ }
148
171
rval.set (CacheOverride::ttl (self));
149
172
return true ;
150
173
}
151
174
152
175
bool CacheOverride::ttl_set (JSContext *cx, JS::HandleObject self, JS::HandleValue val,
153
176
JS::MutableHandleValue rval) {
177
+ if (self == proto_obj) {
178
+ JS_ReportErrorNumberASCII (cx, GetErrorMessage, nullptr , JSMSG_INVALID_INTERFACE, " ttl set" ,
179
+ " CacheOverride" );
180
+ return false ;
181
+ }
154
182
if (!CacheOverride::ensure_override (cx, self, " a TTL" ))
155
183
return false ;
156
184
@@ -168,12 +196,22 @@ bool CacheOverride::ttl_set(JSContext *cx, JS::HandleObject self, JS::HandleValu
168
196
}
169
197
170
198
bool CacheOverride::swr_get (JSContext *cx, JS::HandleObject self, JS::MutableHandleValue rval) {
199
+ if (self == proto_obj) {
200
+ JS_ReportErrorNumberASCII (cx, GetErrorMessage, nullptr , JSMSG_INVALID_INTERFACE, " swr get" ,
201
+ " CacheOverride" );
202
+ return false ;
203
+ }
171
204
rval.set (CacheOverride::swr (self));
172
205
return true ;
173
206
}
174
207
175
208
bool CacheOverride::swr_set (JSContext *cx, JS::HandleObject self, JS::HandleValue val,
176
209
JS::MutableHandleValue rval) {
210
+ if (self == proto_obj) {
211
+ JS_ReportErrorNumberASCII (cx, GetErrorMessage, nullptr , JSMSG_INVALID_INTERFACE, " swr set" ,
212
+ " CacheOverride" );
213
+ return false ;
214
+ }
177
215
if (!CacheOverride::ensure_override (cx, self, " SWR" ))
178
216
return false ;
179
217
@@ -192,12 +230,22 @@ bool CacheOverride::swr_set(JSContext *cx, JS::HandleObject self, JS::HandleValu
192
230
193
231
bool CacheOverride::surrogate_key_get (JSContext *cx, JS::HandleObject self,
194
232
JS::MutableHandleValue rval) {
233
+ if (self == proto_obj) {
234
+ JS_ReportErrorNumberASCII (cx, GetErrorMessage, nullptr , JSMSG_INVALID_INTERFACE,
235
+ " surrogate_key get" , " CacheOverride" );
236
+ return false ;
237
+ }
195
238
rval.set (CacheOverride::surrogate_key (self));
196
239
return true ;
197
240
}
198
241
199
242
bool CacheOverride::surrogate_key_set (JSContext *cx, JS::HandleObject self, JS::HandleValue val,
200
243
JS::MutableHandleValue rval) {
244
+ if (self == proto_obj) {
245
+ JS_ReportErrorNumberASCII (cx, GetErrorMessage, nullptr , JSMSG_INVALID_INTERFACE,
246
+ " surrogate_key set" , " CacheOverride" );
247
+ return false ;
248
+ }
201
249
if (!CacheOverride::ensure_override (cx, self, " a surrogate key" ))
202
250
return false ;
203
251
@@ -215,12 +263,22 @@ bool CacheOverride::surrogate_key_set(JSContext *cx, JS::HandleObject self, JS::
215
263
}
216
264
217
265
bool CacheOverride::pci_get (JSContext *cx, JS::HandleObject self, JS::MutableHandleValue rval) {
266
+ if (self == proto_obj) {
267
+ JS_ReportErrorNumberASCII (cx, GetErrorMessage, nullptr , JSMSG_INVALID_INTERFACE, " pci get" ,
268
+ " CacheOverride" );
269
+ return false ;
270
+ }
218
271
rval.set (CacheOverride::pci (self));
219
272
return true ;
220
273
}
221
274
222
275
bool CacheOverride::pci_set (JSContext *cx, JS::HandleObject self, JS::HandleValue val,
223
276
JS::MutableHandleValue rval) {
277
+ if (self == proto_obj) {
278
+ JS_ReportErrorNumberASCII (cx, GetErrorMessage, nullptr , JSMSG_INVALID_INTERFACE, " pci set" ,
279
+ " CacheOverride" );
280
+ return false ;
281
+ }
224
282
if (!CacheOverride::ensure_override (cx, self, " PCI" ))
225
283
return false ;
226
284
0 commit comments