Clear m_pendingTargets in MutationObserver::takeRecords
[WebKit-https.git] / Source / WebCore / bindings / scripts / IDLAttributes.json
1 {
2     "contexts": [
3         "type",
4         "interface",
5         "attribute",
6         "operation",
7         "argument",
8         "callback-function",
9         "dictionary",
10         "dictionary-member",
11         "enum",
12         "constant",
13         "union-member",
14         "iterable",
15         "map-like",
16         "set-like"
17     ],
18     "attributes": {
19         "ActiveDOMObject": {
20             "contextsAllowed": ["interface"]
21         },
22         "AppleCopyright": {
23             "contextsAllowed": ["interface", "attribute", "operation"]
24         },
25         "AtomicString": {
26             "contextsAllowed": ["type"]
27         },
28         "CEReactions": {
29             "contextsAllowed": ["attribute", "operation"]
30         },
31         "CachedAttribute": {
32             "contextsAllowed": ["attribute"]
33         },
34         "CallTracingCallback": {
35             "contextsAllowed": ["interface", "attribute", "operation"],
36             "values": ["*"]
37         },
38         "CallbackNeedsOperatorEqual": {
39             "contextsAllowed": ["callback-function"]
40         },
41         "CallbackThisObject": {
42             "contextsAllowed": ["callback-function", "operation"]
43         },
44         "CallNamedSetterOnlyForSupportedProperties": {
45             "contextsAllowed": ["operation"]
46         },
47         "CallWith": {
48             "contextsAllowed": ["attribute", "operation"],
49             "values": ["Document", "ScriptExecutionContext", "ScriptState", "GlobalObject", "ActiveWindow", "FirstWindow", "ResponsibleDocument", "World"]
50         },
51         "CheckSecurity": {
52             "contextsAllowed": ["interface"]
53         },
54         "CheckSecurityForNode": {
55             "contextsAllowed": ["attribute", "operation"]
56         },
57         "Clamp": {
58             "contextsAllowed": ["type"],
59             "standard": {
60                 "url": "https://heycam.github.io/webidl/#Clamp"
61             }
62         },
63         "Conditional": {
64             "contextsAllowed": ["interface", "dictionary", "dictionary-member", "enum", "attribute", "operation", "constant", "callback-function"],
65             "values": ["*"]
66         },
67         "ConditionallyReadWrite": {
68             "contextsAllowed": ["attribute"],
69             "values": ["*"]
70         },
71         "ConstantsScope": {
72             "contextsAllowed": ["interface"],
73             "values": ["*"]
74         },
75         "Constructor": {
76             "contextsAllowed": ["interface"],
77             "standard": {
78                 "url": "https://heycam.github.io/webidl/#Constructor"
79             }
80         },
81         "ConstructorCallWith": {
82             "contextsAllowed": ["interface"],
83             "values": ["Document", "RuntimeFlags", "ScriptExecutionContext", "ScriptState"]
84         },
85         "ConstructorMayThrowException": {
86             "contextsAllowed": ["interface"]
87         },
88         "ContextHasServiceWorkerScheme": {
89             "contextsAllowed": ["attribute"]
90         },
91         "Custom": {
92             "contextsAllowed": ["attribute", "operation"]
93         },
94         "CustomConstructor": {
95             "contextsAllowed": ["interface"]
96         },
97         "CustomDefineOwnProperty": {
98             "contextsAllowed": ["interface"]
99         },
100         "CustomDefineOwnPropertyOnPrototype": {
101             "contextsAllowed": ["interface"]
102         },
103         "CustomDeleteProperty": {
104             "contextsAllowed": ["interface"]
105         },
106         "CustomGetCallData": {
107             "contextsAllowed": ["interface"]
108         },
109         "CustomGetOwnPropertyNames": {
110             "contextsAllowed": ["interface"]
111         },
112         "CustomGetOwnPropertySlot": {
113             "contextsAllowed": ["interface"]
114         },
115         "CustomGetPrototype": {
116             "contextsAllowed": ["interface"]
117         },
118         "CustomGetter": {
119             "contextsAllowed": ["attribute"]
120         },
121         "CustomHeapSnapshot": {
122             "contextsAllowed": ["interface"]
123         },
124         "CustomIndexedSetter": {
125             "contextsAllowed": ["interface"]
126         },
127         "CustomIsReachable": {
128             "contextsAllowed": ["interface"]
129         },
130         "CustomPreventExtensions": {
131             "contextsAllowed": ["interface"]
132         },
133         "CustomProxyToJSObject": {
134             "contextsAllowed": ["interface"]
135         },
136         "CustomPushEventHandlerScope": {
137             "contextsAllowed": ["interface"]
138         },
139         "CustomPut": {
140             "contextsAllowed": ["interface"]
141         },
142         "CustomPutOnPrototype": {
143             "contextsAllowed": ["interface"]
144         },
145         "CustomSetter": {
146             "contextsAllowed": ["attribute"]
147         },
148         "CustomToJSObject": {
149             "contextsAllowed": ["interface"]
150         },
151         "CustomToStringName": {
152             "contextsAllowed": ["interface"]
153         },
154         "DOMJIT": {
155             "contextsAllowed": ["interface", "attribute", "operation"],
156             "values": ["", "ReadDOM", "Getter"]
157         },
158         "DefaultDefineOwnProperty": {
159             "contextsAllowed": ["interface"]
160         },
161         "DoNotCheckConstants": {
162             "contextsAllowed": ["interface"]
163         },
164         "DoNotCheckSecurity": {
165             "contextsAllowed": ["attribute", "operation"]
166         },
167         "DoNotCheckSecurityOnGetter": {
168             "contextsAllowed": ["attribute"]
169         },
170         "DoNotCheckSecurityOnSetter": {
171             "contextsAllowed": ["attribute"]
172         },
173         "DocumentEventHandler": {
174             "contextsAllowed": ["attribute"]
175         },
176         "EnabledAtRuntime": {
177             "contextsAllowed": ["interface", "dictionary", "enum", "attribute", "operation", "constant", "iterable"],
178             "values": ["*"]
179         },
180         "EnabledBySetting": {
181             "contextsAllowed": ["interface", "dictionary", "enum", "attribute", "operation", "constant"],
182             "values": ["*"]
183         },
184         "DisabledByQuirk": {
185             "contextsAllowed": ["interface", "dictionary", "enum", "attribute", "operation", "constant"],
186             "values": ["*"]
187         },
188         "EnabledForWorld": {
189             "contextsAllowed": ["attribute", "operation"],
190             "values": ["*"]
191         },
192         "EnforceRange": {
193             "contextsAllowed": ["type"],
194             "standard": {
195                 "url": "https://heycam.github.io/webidl/#EnforceRange"
196             }
197         },
198         "ResultField": {
199             "contextsAllowed": ["operation"]
200         },
201         "ExportMacro": {
202             "contextsAllowed": ["interface", "dictionary", "enum", "callback-function"],
203             "values": ["WEBCORE_EXPORT", "WEBCORE_TESTSUPPORT_EXPORT"]
204         },
205         "ExportToWrappedFunction": {
206             "contextsAllowed": ["interface"]
207         },
208         "Exposed": {
209             "contextsAllowed": ["interface", "attribute", "operation", "constant"],
210             "values": ["*"],
211             "standard": {
212                 "url": "https://heycam.github.io/webidl/#Exposed"
213             }
214         },
215         "ForwardDeclareInHeader": {
216             "contextsAllowed": ["attribute", "operation"]
217         },
218         "GenerateIsReachable": {
219             "contextsAllowed": ["interface"],
220             "values": ["", "Impl", "ImplWebGLRenderingContext", "ImplDocument", "ImplElementRoot", "ImplFrame", "ImplOwnerNodeRoot", "ImplScriptExecutionContext"]
221         },
222         "Global": {
223             "contextsAllowed": ["interface"],
224             "values": ["*"],
225             "standard": {
226                 "url": "https://heycam.github.io/webidl/#Global"
227             }
228         },
229         "ImplementedAs": {
230             "contextsAllowed": ["interface", "dictionary", "dictionary-member", "enum", "attribute", "operation"],
231             "values": ["*"]
232         },
233         "ImplementationLacksVTable": {
234             "contextsAllowed": ["interface"]
235         },
236         "ImplicitThis": {
237             "contextsAllowed": ["interface"]
238         },
239         "InterfaceName": {
240             "contextsAllowed": ["interface"],
241             "values": ["*"]
242         },
243         "IsImmutablePrototypeExoticObject": {
244             "contextsAllowed": ["interface"]
245         },
246         "IsImmutablePrototypeExoticObjectOnPrototype": {
247             "contextsAllowed": ["interface"]
248         },
249         "IsWeakCallback": {
250             "contextsAllowed": ["callback-function", "interface"]
251         },
252         "JSBuiltin": {
253             "contextsAllowed": ["interface", "attribute", "operation"]
254         },
255         "JSBuiltinConstructor": {
256             "contextsAllowed": ["interface"]
257         },
258         "JSCustomFinalize": {
259             "contextsAllowed": ["interface"]
260         },
261         "JSCustomHeader": {
262             "contextsAllowed": ["interface"]
263         },
264         "JSCustomMarkFunction": {
265             "contextsAllowed": ["interface"]
266         },
267         "JSCustomToNativeObject": {
268             "contextsAllowed": ["interface"]
269         },
270         "JSGenerateToJSObject": {
271             "contextsAllowed": ["interface", "dictionary", "callback-function"]
272         },
273         "JSGenerateToNativeObject": {
274             "contextsAllowed": ["interface"]
275         },
276         "JSLegacyParent": {
277             "contextsAllowed": ["interface"],
278             "values": ["*"]
279         },
280         "LegacyArrayClass": {
281             "contextsAllowed": ["interface"],
282             "standard": {
283                 "url": "https://heycam.github.io/webidl/#LegacyArrayClass"
284             },
285             "unsupported": true
286         },
287         "LegacyUnenumerableNamedProperties": {
288             "contextsAllowed": ["interface"],
289             "standard": {
290                 "url": "https://heycam.github.io/webidl/#LegacyUnenumerableNamedProperties"
291             }
292         },
293         "LegacyWindowAlias": {
294             "contextsAllowed": ["interface"],
295             "values": ["*"],
296             "standard": {
297                 "url": "https://heycam.github.io/webidl/#LegacyWindowAlias"
298             }
299         },
300         "LenientSetter": {
301             "contextsAllowed": ["attribute"],
302             "standard": {
303                 "url": "https://heycam.github.io/webidl/#LenientSetter"
304             },
305             "unsupported": true
306         },
307         "LenientThis": {
308             "contextsAllowed": ["attribute"],
309             "standard": {
310                 "url": "https://heycam.github.io/webidl/#LenientThis"
311             }
312         },
313         "MasqueradesAsUndefined": {
314             "contextsAllowed": ["interface"]
315         },
316         "MayThrowException": {
317             "contextsAllowed": ["attribute", "operation"]
318         },
319         "NamedConstructor": {
320             "contextsAllowed": ["interface"],
321             "values": ["*"],
322             "standard": {
323                 "url": "https://heycam.github.io/webidl/#NamedConstructor"
324             }
325         },
326         "NewImpurePropertyFiresWatchpoints": {
327             "contextsAllowed": ["interface"]
328         },
329         "NewObject": {
330             "contextsAllowed": ["attribute", "operation"],
331             "standard": {
332                 "url": "https://heycam.github.io/webidl/#NewObject"
333             }
334         },
335         "NoInterfaceObject": {
336             "contextsAllowed": ["interface"],
337             "standard": {
338                 "url": "https://heycam.github.io/webidl/#NoInterfaceObject"
339             }
340         },
341         "NotEnumerable": {
342             "contextsAllowed": ["attribute", "operation"]
343         },
344         "OverrideBuiltins": {
345             "contextsAllowed": ["interface"],
346             "standard": {
347                 "url": "https://heycam.github.io/webidl/#OverrideBuiltins"
348             }
349         },
350         "OverrideIDLType": {
351             "contextsAllowed": ["type"],
352             "values": ["*"]
353         },
354         "PassContext": {
355             "contextsAllowed": ["operation"],
356             "notes" : "Only used by WebKitTestRunner and DumpRenderTree"
357         },
358         "Plugin": {
359             "contextsAllowed": ["interface"],
360             "notes" : "Should only be used by elements that forward to Netscape plug-ins"
361         },
362         "PrimaryGlobal": {
363             "contextsAllowed": ["interface"],
364             "values": ["*"],
365             "standard": {
366                 "url": "https://heycam.github.io/webidl/#Global"
367             }
368         },
369         "PrivateIdentifier": {
370             "contextsAllowed": ["interface", "attribute", "operation"]
371         },
372         "PromiseProxy": {
373             "contextsAllowed": ["operation"]
374         },
375         "PublicIdentifier": {
376             "contextsAllowed": ["interface", "attribute", "operation"]
377         },
378         "PutForwards": {
379             "contextsAllowed": ["attribute"],
380             "values": ["*"],
381             "standard": {
382                 "url": "https://heycam.github.io/webidl/#PutForwards"
383             }
384         },
385         "Reflect": {
386             "contextsAllowed": ["attribute", "constant"],
387             "values": ["*"]
388         },
389         "Replaceable": {
390             "contextsAllowed": ["attribute"],
391             "standard": {
392                 "url": "https://heycam.github.io/webidl/#Replaceable"
393             }
394         },
395         "ReportExtraMemoryCost": {
396             "contextsAllowed": ["interface"]
397         },
398         "ReportExternalMemoryCost": {
399             "contextsAllowed": ["interface"]
400         },
401         "RequiresExistingAtomicString": {
402             "contextsAllowed": ["type"]
403         },
404         "RethrowException": {
405             "contextsAllowed": ["operation", "callback-function"]
406         },
407         "ReturnsOwnPromise": {
408             "contextsAllowed": ["operation"]
409         },
410         "ReturnValue": {
411             "contextsAllowed": ["argument"]
412         },
413         "SameObject": {
414             "contextsAllowed": ["attribute"],
415             "standard": {
416                 "url": "https://heycam.github.io/webidl/#Replaceable"
417             },
418             "unsupported": true
419         },
420         "SecureContext": {
421             "contextsAllowed": ["interface", "dictionary", "enum", "attribute", "operation", "constant"],
422             "standard": {
423                 "url": "https://heycam.github.io/webidl/#SecureContext"
424             }
425         },
426         "SetterCallWith": {
427             "contextsAllowed": ["attribute"],
428             "values": ["ScriptExecutionContext", "ScriptState", "GlobalObject", "ActiveWindow", "FirstWindow"]
429         },
430         "SkipCallbackInvokeCheck": {
431             "contextsAllowed": ["operation", "callback-function"]
432         },
433         "SkipVTableValidation": {
434             "contextsAllowed": ["interface"]
435         },
436         "SuppressToJSObject": {
437             "contextsAllowed": ["interface"]
438         },
439         "TreatNonObjectAsNull": {
440             "contextsAllowed": ["callback-function"],
441             "standard": {
442                 "url": "https://heycam.github.io/webidl/#TreatNonObjectAsNull"
443             },
444             "unsupported": true
445         },
446         "TreatNullAs": {
447             "contextsAllowed": ["type"],
448             "values": ["EmptyString"],
449             "standard": {
450                 "url": "https://heycam.github.io/webidl/#TreatNullAs"
451             }
452         },
453         "URL": {
454             "contextsAllowed": ["attribute"]
455         },
456         "Unforgeable": {
457             "contextsAllowed": ["attribute", "operation", "interface"],
458             "standard": {
459                 "url": "https://heycam.github.io/webidl/#Unforgeable"
460             }
461         },
462         "Unscopable": {
463             "contextsAllowed": ["attribute", "operation"],
464             "standard": {
465                 "url": "https://heycam.github.io/webidl/#Unscopable"
466             }
467         },
468         "WindowEventHandler": {
469             "contextsAllowed": ["attribute"]
470         }
471     }
472 }