|
1 # This Source Code Form is subject to the terms of the Mozilla Public |
|
2 # License, v. 2.0. If a copy of the MPL was not distributed with this |
|
3 # file, You can obtain one at http://mozilla.org/MPL/2.0/. |
|
4 |
|
5 # DOM Bindings Configuration. |
|
6 # |
|
7 # The WebIDL interfaces are defined in dom/webidl. For each such interface, there |
|
8 # is a corresponding entry in the configuration table below. The configuration |
|
9 # table maps each interface name to a |descriptor| or list of |descriptor|s. |
|
10 # |
|
11 # Valid fields for all descriptors: |
|
12 # * nativeType - The native type (concrete class or XPCOM interface) that |
|
13 # instances of this interface will unwrap to. If not |
|
14 # specified, defaults to 'mozilla::dom::InterfaceName' for |
|
15 # non-worker non-external-or-callback interfaces, to |
|
16 # 'mozilla::dom::workers::InterfaceName' for worker |
|
17 # non-external interfaces, to 'nsIDOM' followed by the |
|
18 # interface name for non-worker external-or-callback |
|
19 # interfaces, and to 'JSObject' for worker external-or-callback |
|
20 # interfaces. |
|
21 # * headerFile - The file in which the nativeType is declared (defaults |
|
22 # to an educated guess). |
|
23 # * concrete - Indicates whether there exist JS objects with this interface as |
|
24 # their primary interface (and hence whose prototype is this |
|
25 # interface's prototype object). Always False for callback |
|
26 # interfaces. Defaults to True otherwise. |
|
27 # * workers - Indicates whether the descriptor is intended to be used solely |
|
28 # for worker threads (defaults to false). If true the interface |
|
29 # will not be made available on the main thread. |
|
30 # * notflattened - The native type does not have nsIClassInfo, so when |
|
31 # wrapping it the right IID needs to be passed in. |
|
32 # * register - True if this binding should be registered. Defaults to true. |
|
33 # * binaryNames - Dict for mapping method and attribute names to different |
|
34 # names when calling the native methods (defaults to an empty |
|
35 # dict). The keys are the property names as they appear in the |
|
36 # .webidl file and the values are the names as they should be |
|
37 # in the WebIDL. |
|
38 # * wrapperCache: True if this object is a wrapper cache. Objects that are |
|
39 # not can only be returned from a limited set of methods, |
|
40 # cannot be prefable, and must ensure that they disallow |
|
41 # XPConnect wrapping. Always false for callback interfaces. |
|
42 # Always true for worker descriptors for non-callback |
|
43 # interfaces. Defaults to true for non-worker non-callback |
|
44 # descriptors. |
|
45 # * nativeOwnership: Describes how the native object is held. 3 possible |
|
46 # types: worker object ('worker'), non-refcounted object |
|
47 # ('owned'), refcounted object ('refcounted'). |
|
48 # Non-refcounted objects need to inherit from |
|
49 # mozilla::dom::NonRefcountedDOMObject and preferably use |
|
50 # MOZ_COUNT_CTOR/MOZ_COUNT_DTOR in their |
|
51 # constructor/destructor so they participate in leak |
|
52 # logging. |
|
53 # This mostly determines how the finalizer releases the |
|
54 # binding's hold on the native object. For a worker object |
|
55 # it'll call Release, for a non-refcounted object it'll |
|
56 # call delete through XPConnect's deferred finalization |
|
57 # mechanism, for a refcounted object it'll call Release |
|
58 # through XPConnect's deferred finalization mechanism. |
|
59 # 'worker' opts into old style worker models. Defaults to |
|
60 # 'refcounted'. |
|
61 # |
|
62 # The following fields are either a string, an array (defaults to an empty |
|
63 # array) or a dictionary with three possible keys (all, getterOnly and |
|
64 # setterOnly) each having such an array as the value |
|
65 # |
|
66 # * implicitJSContext - attributes and methods specified in the .webidl file |
|
67 # that require a JSContext as the first argument |
|
68 # * resultNotAddRefed - attributes and methods specified in the .webidl file |
|
69 # that do not AddRef the return value |
|
70 # |
|
71 # A descriptor can also have 'skipGen': True specified if it should be skipped |
|
72 # when deciding what header includes to generate and should never have an |
|
73 # implementation generated for it. This is only needed in special cases like |
|
74 # worker descriptors for objects that will never actually appear in workers. |
|
75 # |
|
76 # The value for an interface can be a list or a dictionary, which affects which |
|
77 # bindings are generated for that interface. |
|
78 # - If the value for the interface is just a record, then a single binding for |
|
79 # will be generated using those settings. |
|
80 # - If it is a list with a single record which has 'workers':True, then that |
|
81 # record will be used to generate bindings for workers, plus the default |
|
82 # settings will be used to generate bindings for the main thread. |
|
83 # - If it is a list with two records, then one should have 'workers':True, |
|
84 # and the other should have 'workers':False (or left unset). These will |
|
85 # be used to generate bindings for workers and for mainthread, as you would |
|
86 # expect. |
|
87 # Nothing else is allowed. If you have a list with a single 'workers':False |
|
88 # entry, just make it not a list. |
|
89 |
|
90 DOMInterfaces = { |
|
91 |
|
92 'MozActivity': { |
|
93 'nativeType': 'mozilla::dom::Activity', |
|
94 }, |
|
95 |
|
96 'AbstractWorker': { |
|
97 'concrete': False |
|
98 }, |
|
99 |
|
100 'ArchiveReader': { |
|
101 'nativeType': 'mozilla::dom::file::ArchiveReader', |
|
102 }, |
|
103 |
|
104 'ArchiveRequest': { |
|
105 'nativeType': 'mozilla::dom::file::ArchiveRequest', |
|
106 }, |
|
107 |
|
108 'AudioChannelManager': { |
|
109 'nativeType': 'mozilla::dom::system::AudioChannelManager', |
|
110 'headerFile': 'AudioChannelManager.h' |
|
111 }, |
|
112 |
|
113 'AudioContext': { |
|
114 'implicitJSContext': [ 'createBuffer' ], |
|
115 'resultNotAddRefed': [ 'destination', 'listener' ], |
|
116 }, |
|
117 |
|
118 'AudioBuffer': { |
|
119 'implicitJSContext': [ 'copyToChannel' ], |
|
120 }, |
|
121 |
|
122 'AudioBufferSourceNode': { |
|
123 'implicitJSContext': [ 'buffer' ], |
|
124 'resultNotAddRefed': [ 'playbackRate' ], |
|
125 }, |
|
126 |
|
127 'AudioNode' : { |
|
128 'concrete': False, |
|
129 'binaryNames': { |
|
130 'channelCountMode': 'channelCountModeValue', |
|
131 'channelInterpretation': 'channelInterpretationValue', |
|
132 }, |
|
133 }, |
|
134 |
|
135 'AudioProcessingEvent' : { |
|
136 'resultNotAddRefed': [ 'inputBuffer', 'outputBuffer' ], |
|
137 }, |
|
138 |
|
139 'BarProp': { |
|
140 'headerFile': 'mozilla/dom/BarProps.h', |
|
141 }, |
|
142 |
|
143 'BiquadFilterNode': { |
|
144 'resultNotAddRefed': [ 'frequency', 'detune', 'q', 'gain' ], |
|
145 }, |
|
146 |
|
147 'Blob': [ |
|
148 { |
|
149 'headerFile': 'nsIDOMFile.h', |
|
150 }, |
|
151 { |
|
152 'workers': True, |
|
153 }], |
|
154 |
|
155 'BatteryManager': { |
|
156 'nativeType': 'mozilla::dom::battery::BatteryManager', |
|
157 'headerFile': 'BatteryManager.h' |
|
158 }, |
|
159 |
|
160 'BluetoothAdapter': { |
|
161 'nativeType': 'mozilla::dom::bluetooth::BluetoothAdapter', |
|
162 'headerFile': 'BluetoothAdapter.h' |
|
163 }, |
|
164 |
|
165 'BluetoothDevice': { |
|
166 'nativeType': 'mozilla::dom::bluetooth::BluetoothDevice', |
|
167 'headerFile': 'BluetoothDevice.h' |
|
168 }, |
|
169 |
|
170 'BluetoothManager': { |
|
171 'nativeType': 'mozilla::dom::bluetooth::BluetoothManager', |
|
172 'headerFile': 'BluetoothManager.h' |
|
173 }, |
|
174 |
|
175 'CameraCapabilities': { |
|
176 'nativeType': 'mozilla::dom::CameraCapabilities', |
|
177 'headerFile': 'DOMCameraCapabilities.h' |
|
178 }, |
|
179 |
|
180 'CameraControl': { |
|
181 'nativeType': 'mozilla::nsDOMCameraControl', |
|
182 'headerFile': 'DOMCameraControl.h', |
|
183 'binaryNames': { |
|
184 "release": "ReleaseHardware" |
|
185 } |
|
186 }, |
|
187 |
|
188 'CameraDetectedFace': { |
|
189 'nativeType': 'mozilla::dom::DOMCameraDetectedFace', |
|
190 'headerFile': 'DOMCameraDetectedFace.h' |
|
191 }, |
|
192 |
|
193 'CameraManager': { |
|
194 'nativeType': 'nsDOMCameraManager', |
|
195 'headerFile': 'DOMCameraManager.h' |
|
196 }, |
|
197 |
|
198 'CameraPoint': { |
|
199 'nativeType': 'mozilla::dom::DOMCameraPoint', |
|
200 'headerFile': 'DOMCameraDetectedFace.h' |
|
201 }, |
|
202 |
|
203 'CanvasRenderingContext2D': { |
|
204 'implicitJSContext': [ |
|
205 'createImageData', 'getImageData', 'isPointInPath', 'isPointInStroke' |
|
206 ], |
|
207 'resultNotAddRefed': [ 'canvas', 'measureText' ], |
|
208 'binaryNames': { |
|
209 'mozImageSmoothingEnabled': 'imageSmoothingEnabled', |
|
210 'mozFillRule': 'fillRule' |
|
211 } |
|
212 }, |
|
213 |
|
214 'CaretPosition' : { |
|
215 'nativeType': 'nsDOMCaretPosition', |
|
216 }, |
|
217 |
|
218 'CharacterData': { |
|
219 'nativeType': 'nsGenericDOMDataNode', |
|
220 'concrete': False |
|
221 }, |
|
222 |
|
223 'ChromeWindow': { |
|
224 'concrete': False, |
|
225 'register': False, |
|
226 }, |
|
227 |
|
228 'ChromeWorker': { |
|
229 'headerFile': 'mozilla/dom/WorkerPrivate.h', |
|
230 'nativeType': 'mozilla::dom::workers::ChromeWorkerPrivate', |
|
231 }, |
|
232 |
|
233 'Console': { |
|
234 'implicitJSContext': [ 'trace', 'time', 'timeEnd' ], |
|
235 }, |
|
236 |
|
237 'ConvolverNode': { |
|
238 'implicitJSContext': [ 'buffer' ], |
|
239 'resultNotAddRefed': [ 'buffer' ], |
|
240 }, |
|
241 |
|
242 'Coordinates': { |
|
243 'headerFile': 'nsGeoPosition.h' |
|
244 }, |
|
245 |
|
246 'CRMFObject': { |
|
247 'headerFile': 'nsCrypto.h', |
|
248 'nativeOwnership': 'owned', |
|
249 'wrapperCache': False, |
|
250 }, |
|
251 |
|
252 'Crypto' : { |
|
253 'implicitJSContext': [ 'generateCRMFRequest', 'signText' ], |
|
254 'headerFile': 'Crypto.h' |
|
255 }, |
|
256 |
|
257 'CSS': { |
|
258 'concrete': False, |
|
259 }, |
|
260 |
|
261 'CSS2Properties': { |
|
262 'nativeType': 'nsDOMCSSDeclaration' |
|
263 }, |
|
264 |
|
265 'CSSPrimitiveValue': { |
|
266 'nativeType': 'nsROCSSPrimitiveValue', |
|
267 'resultNotAddRefed': ['getRGBColorValue', 'getRectValue'] |
|
268 }, |
|
269 |
|
270 'CSSStyleDeclaration': { |
|
271 'nativeType': 'nsICSSDeclaration' |
|
272 }, |
|
273 |
|
274 'CSSStyleSheet': { |
|
275 'nativeType': 'nsCSSStyleSheet', |
|
276 'binaryNames': { 'ownerRule': 'DOMOwnerRule' }, |
|
277 }, |
|
278 |
|
279 'CSSValue': { |
|
280 'concrete': False |
|
281 }, |
|
282 |
|
283 'CSSValueList': { |
|
284 'nativeType': 'nsDOMCSSValueList' |
|
285 }, |
|
286 |
|
287 'DataChannel': { |
|
288 'nativeType': 'nsDOMDataChannel', |
|
289 }, |
|
290 |
|
291 'DataStoreCursor': { |
|
292 'wrapperCache': False, |
|
293 }, |
|
294 |
|
295 'DedicatedWorkerGlobalScope': { |
|
296 'headerFile': 'mozilla/dom/WorkerScope.h', |
|
297 'workers': True, |
|
298 }, |
|
299 |
|
300 'DelayNode': { |
|
301 'resultNotAddRefed': [ 'delayTime' ], |
|
302 }, |
|
303 |
|
304 'DeviceAcceleration': { |
|
305 'headerFile': 'mozilla/dom/DeviceMotionEvent.h', |
|
306 }, |
|
307 |
|
308 'DeviceRotationRate': { |
|
309 'headerFile': 'mozilla/dom/DeviceMotionEvent.h', |
|
310 }, |
|
311 |
|
312 'DeviceStorage': { |
|
313 'nativeType': 'nsDOMDeviceStorage', |
|
314 'headerFile': 'DeviceStorage.h', |
|
315 }, |
|
316 |
|
317 'Document': [ |
|
318 { |
|
319 'nativeType': 'nsIDocument', |
|
320 'resultNotAddRefed': [ 'implementation', 'doctype', 'documentElement', |
|
321 'getElementById', 'adoptNode', 'defaultView', |
|
322 'activeElement', 'currentScript', |
|
323 'mozFullScreenElement', 'mozPointerLockElement', |
|
324 'styleSheets', 'styleSheetSets', 'elementFromPoint', |
|
325 'querySelector', 'getAnonymousNodes', |
|
326 'getAnonymousElementByAtribute', 'getBindingParent' |
|
327 ], |
|
328 'binaryNames': { |
|
329 'documentURI': 'documentURIFromJS', |
|
330 'URL': 'documentURIFromJS' |
|
331 } |
|
332 }, |
|
333 { |
|
334 'nativeType': 'JSObject', |
|
335 'workers': True, |
|
336 'skipGen': True |
|
337 }], |
|
338 |
|
339 'DocumentFragment': { |
|
340 'resultNotAddRefed': [ 'querySelector' ] |
|
341 }, |
|
342 |
|
343 'DOMException': { |
|
344 'binaryNames': { |
|
345 'message': 'messageMoz', |
|
346 }, |
|
347 }, |
|
348 |
|
349 'DOMPointReadOnly': { |
|
350 'headerFile': 'mozilla/dom/DOMPoint.h', |
|
351 'concrete': False, |
|
352 }, |
|
353 |
|
354 'DOMRectList': { |
|
355 'headerFile': 'mozilla/dom/DOMRect.h', |
|
356 'resultNotAddRefed': [ 'item' ] |
|
357 }, |
|
358 |
|
359 'DOMRectReadOnly': { |
|
360 'headerFile': 'mozilla/dom/DOMRect.h', |
|
361 }, |
|
362 |
|
363 'DOMQuad': { |
|
364 'resultNotAddRefed': [ 'bounds', 'p0', 'p1', 'p2', 'p3' ] |
|
365 }, |
|
366 |
|
367 'DOMSettableTokenList': { |
|
368 'nativeType': 'nsDOMSettableTokenList', |
|
369 }, |
|
370 |
|
371 'DOMStringMap': { |
|
372 'nativeType': 'nsDOMStringMap' |
|
373 }, |
|
374 |
|
375 'DOMTokenList': { |
|
376 'nativeType': 'nsDOMTokenList', |
|
377 }, |
|
378 |
|
379 'DummyInterface': { |
|
380 'skipGen': True, |
|
381 'register': False, |
|
382 }, |
|
383 |
|
384 'DummyInterfaceWorkers': { |
|
385 'skipGen': True, |
|
386 'register': False, |
|
387 'workers': True |
|
388 }, |
|
389 |
|
390 'DynamicsCompressorNode': { |
|
391 'resultNotAddRefed': [ 'threshold', 'knee', 'ratio', |
|
392 'reduction', 'attack', 'release' ], |
|
393 'binaryNames': { |
|
394 'release': 'getRelease' |
|
395 }, |
|
396 }, |
|
397 |
|
398 'Element': { |
|
399 'resultNotAddRefed': [ |
|
400 'classList', 'attributes', 'children', 'firstElementChild', |
|
401 'lastElementChild', 'previousElementSibling', 'nextElementSibling', |
|
402 'getAttributeNode', 'getAttributeNodeNS', 'querySelector' |
|
403 ] |
|
404 }, |
|
405 |
|
406 'Event': { |
|
407 'implicitJSContext': [ 'defaultPrevented', 'preventDefault' ], |
|
408 }, |
|
409 |
|
410 'EventTarget': { |
|
411 # When we get rid of hasXPConnectImpls, we can get rid of the |
|
412 # couldBeDOMBinding stuff in WrapNewBindingObject. |
|
413 'hasXPConnectImpls': True, |
|
414 'concrete': False, |
|
415 'jsImplParent': 'mozilla::DOMEventTargetHelper' |
|
416 }, |
|
417 |
|
418 'Exception': { |
|
419 'headerFile': 'mozilla/dom/DOMException.h', |
|
420 'binaryNames': { |
|
421 'message': 'messageMoz', |
|
422 }, |
|
423 }, |
|
424 |
|
425 'FileHandle': { |
|
426 'nativeType': 'mozilla::dom::file::FileHandle' |
|
427 }, |
|
428 |
|
429 'FileList': { |
|
430 'nativeType': 'nsDOMFileList', |
|
431 'headerFile': 'nsDOMFile.h', |
|
432 'resultNotAddRefed': [ 'item' ] |
|
433 }, |
|
434 |
|
435 'FileReader': { |
|
436 'nativeType': 'nsDOMFileReader', |
|
437 'implicitJSContext': [ 'readAsArrayBuffer' ], |
|
438 }, |
|
439 |
|
440 'FileReaderSync': { |
|
441 'workers': True, |
|
442 'wrapperCache': False, |
|
443 }, |
|
444 |
|
445 'FileRequest': { |
|
446 'nativeType': 'mozilla::dom::file::FileRequest', |
|
447 }, |
|
448 |
|
449 'FormData': [ |
|
450 { |
|
451 'nativeType': 'nsFormData' |
|
452 }, |
|
453 { |
|
454 'workers': True, |
|
455 'skipGen': True, |
|
456 'nativeType': 'JSObject' |
|
457 }], |
|
458 |
|
459 'GainNode': { |
|
460 'resultNotAddRefed': [ 'gain' ], |
|
461 }, |
|
462 |
|
463 'Geolocation': { |
|
464 'headerFile': 'nsGeolocation.h' |
|
465 }, |
|
466 |
|
467 'History': { |
|
468 'headerFile': 'nsHistory.h', |
|
469 'nativeType': 'nsHistory' |
|
470 }, |
|
471 |
|
472 'HTMLAppletElement': { |
|
473 'nativeType': 'mozilla::dom::HTMLSharedObjectElement' |
|
474 }, |
|
475 |
|
476 'HTMLBaseElement': { |
|
477 'nativeType': 'mozilla::dom::HTMLSharedElement' |
|
478 }, |
|
479 |
|
480 'HTMLCollection': { |
|
481 'nativeType': 'nsIHTMLCollection', |
|
482 # nsContentList.h pulls in nsIHTMLCollection.h |
|
483 'headerFile': 'nsContentList.h', |
|
484 'resultNotAddRefed': [ 'item' ] |
|
485 }, |
|
486 |
|
487 'HTMLDataListElement': { |
|
488 'resultNotAddRefed': [ |
|
489 'options' |
|
490 ] |
|
491 }, |
|
492 |
|
493 'HTMLDirectoryElement': { |
|
494 'nativeType': 'mozilla::dom::HTMLSharedElement' |
|
495 }, |
|
496 |
|
497 'HTMLDListElement': { |
|
498 'nativeType' : 'mozilla::dom::HTMLSharedListElement' |
|
499 }, |
|
500 |
|
501 'HTMLDocument': { |
|
502 'nativeType': 'nsHTMLDocument', |
|
503 'resultNotAddRefed': [ 'body', 'head', 'images', 'embeds', 'plugins', |
|
504 'links', 'forms', 'scripts', 'anchors', 'applets' ], |
|
505 'implicitJSContext': [ 'open', 'write', 'writeln' ] |
|
506 }, |
|
507 |
|
508 'HTMLElement': { |
|
509 'nativeType': 'nsGenericHTMLElement', |
|
510 'resultNotAddRefed': [ |
|
511 'itemType', 'itemRef', 'itemProp', 'properties', 'contextMenu', 'style', |
|
512 'offsetParent' |
|
513 ] |
|
514 }, |
|
515 |
|
516 'HTMLEmbedElement': { |
|
517 'nativeType': 'mozilla::dom::HTMLSharedObjectElement' |
|
518 }, |
|
519 |
|
520 'HTMLHeadElement': { |
|
521 'nativeType': 'mozilla::dom::HTMLSharedElement' |
|
522 }, |
|
523 |
|
524 'HTMLHtmlElement': { |
|
525 'nativeType': 'mozilla::dom::HTMLSharedElement' |
|
526 }, |
|
527 |
|
528 'HTMLLabelElement': { |
|
529 'resultNotAddRefed': [ |
|
530 'form', 'control' |
|
531 ], |
|
532 }, |
|
533 |
|
534 'HTMLMediaElement': { |
|
535 'concrete': False |
|
536 }, |
|
537 |
|
538 'HTMLOListElement': { |
|
539 'nativeType' : 'mozilla::dom::HTMLSharedListElement' |
|
540 }, |
|
541 |
|
542 'HTMLOptionsCollection': { |
|
543 'resultNotAddRefed': [ 'item' ], |
|
544 }, |
|
545 |
|
546 'HTMLParamElement': { |
|
547 'nativeType': 'mozilla::dom::HTMLSharedElement' |
|
548 }, |
|
549 |
|
550 'HTMLPropertiesCollection': { |
|
551 'headerFile': 'HTMLPropertiesCollection.h', |
|
552 'resultNotAddRefed': [ 'item', 'namedItem', 'names' ] |
|
553 }, |
|
554 |
|
555 'HTMLQuoteElement': { |
|
556 'nativeType': 'mozilla::dom::HTMLSharedElement' |
|
557 }, |
|
558 |
|
559 'HTMLTableElement': { |
|
560 'resultNotAddRefed': [ |
|
561 'caption', 'tHead', 'tFoot', 'tBodies', 'rows' |
|
562 ] |
|
563 }, |
|
564 |
|
565 'HTMLTableRowElement': { |
|
566 'resultNotAddRefed': [ |
|
567 'cells' |
|
568 ] |
|
569 }, |
|
570 |
|
571 'HTMLTableSectionElement': { |
|
572 'resultNotAddRefed': [ |
|
573 'rows' |
|
574 ] |
|
575 }, |
|
576 |
|
577 'HTMLTemplateElement': { |
|
578 'resultNotAddRefed': [ |
|
579 'content' |
|
580 ] |
|
581 }, |
|
582 |
|
583 'HTMLTextAreaElement': { |
|
584 'resultNotAddRefed': [ |
|
585 'form', 'controllers', 'editor' |
|
586 ], |
|
587 'binaryNames': { |
|
588 'textLength': 'getTextLength' |
|
589 } |
|
590 }, |
|
591 |
|
592 'HTMLSelectElement': { |
|
593 'resultNotAddRefed': [ |
|
594 'form', |
|
595 'item', |
|
596 'options', |
|
597 'IndexedGetter', |
|
598 ] |
|
599 }, |
|
600 |
|
601 'HTMLStyleElement': { |
|
602 'resultNotAddRefed': [ |
|
603 'sheet' |
|
604 ] |
|
605 }, |
|
606 |
|
607 'HTMLUListElement': { |
|
608 'nativeType' : 'mozilla::dom::HTMLSharedListElement' |
|
609 }, |
|
610 |
|
611 'IDBCursor': { |
|
612 'nativeType': 'mozilla::dom::indexedDB::IDBCursor', |
|
613 'implicitJSContext': [ 'delete' ], |
|
614 'binaryNames': { |
|
615 'direction': 'getDirection' |
|
616 } |
|
617 }, |
|
618 |
|
619 'IDBCursorWithValue': { |
|
620 'nativeType': 'mozilla::dom::indexedDB::IDBCursor', |
|
621 }, |
|
622 |
|
623 'IDBDatabase': { |
|
624 'nativeType': 'mozilla::dom::indexedDB::IDBDatabase', |
|
625 }, |
|
626 |
|
627 'IDBFactory': { |
|
628 'nativeType': 'mozilla::dom::indexedDB::IDBFactory', |
|
629 }, |
|
630 |
|
631 'IDBFileHandle': { |
|
632 'nativeType': 'mozilla::dom::indexedDB::IDBFileHandle', |
|
633 }, |
|
634 |
|
635 'IDBIndex': { |
|
636 'nativeType': 'mozilla::dom::indexedDB::IDBIndex', |
|
637 'binaryNames': { |
|
638 'mozGetAll': 'getAll', |
|
639 'mozGetAllKeys': 'getAllKeys', |
|
640 } |
|
641 }, |
|
642 |
|
643 'IDBKeyRange': { |
|
644 'nativeType': 'mozilla::dom::indexedDB::IDBKeyRange', |
|
645 'wrapperCache': False, |
|
646 }, |
|
647 |
|
648 'IDBObjectStore': { |
|
649 'nativeType': 'mozilla::dom::indexedDB::IDBObjectStore', |
|
650 'implicitJSContext': [ 'createIndex' ], |
|
651 'binaryNames': { |
|
652 'mozGetAll': 'getAll' |
|
653 } |
|
654 }, |
|
655 |
|
656 'IDBOpenDBRequest': { |
|
657 'nativeType': 'mozilla::dom::indexedDB::IDBOpenDBRequest', |
|
658 'headerFile': 'IDBRequest.h' |
|
659 }, |
|
660 |
|
661 'IDBRequest': { |
|
662 'nativeType': 'mozilla::dom::indexedDB::IDBRequest', |
|
663 }, |
|
664 |
|
665 'IDBTransaction': { |
|
666 'nativeType': 'mozilla::dom::indexedDB::IDBTransaction', |
|
667 }, |
|
668 |
|
669 'IDBVersionChangeEvent': { |
|
670 'nativeType': 'mozilla::dom::indexedDB::IDBVersionChangeEvent', |
|
671 'headerFile': 'IDBEvents.h', |
|
672 }, |
|
673 |
|
674 'IID': [ |
|
675 { |
|
676 'nativeType': 'nsIJSID', |
|
677 'headerFile': 'xpcjsid.h', |
|
678 }, |
|
679 { |
|
680 'workers': True, |
|
681 }], |
|
682 |
|
683 'ImageData': { |
|
684 'wrapperCache': False, |
|
685 }, |
|
686 |
|
687 'InputStream': [ |
|
688 { |
|
689 'nativeType': 'nsIInputStream', |
|
690 'notflattened': True |
|
691 }, |
|
692 { |
|
693 'workers': True, |
|
694 }], |
|
695 |
|
696 'KeyEvent': { |
|
697 'concrete': False |
|
698 }, |
|
699 |
|
700 'LocalMediaStream': { |
|
701 'headerFile': 'DOMMediaStream.h', |
|
702 'nativeType': 'mozilla::DOMLocalMediaStream' |
|
703 }, |
|
704 |
|
705 'Location': { |
|
706 # NOTE: Before you turn on codegen for Location, make sure all the |
|
707 # Unforgeable stuff is dealt with. |
|
708 'nativeType': 'nsIDOMLocation', |
|
709 'skipGen': True, |
|
710 'register': False |
|
711 }, |
|
712 |
|
713 'LockedFile': { |
|
714 'nativeType': 'mozilla::dom::file::LockedFile', |
|
715 }, |
|
716 |
|
717 'MediaList': { |
|
718 'nativeType': 'nsMediaList', |
|
719 'headerFile': 'nsIMediaList.h', |
|
720 }, |
|
721 |
|
722 'MediaSource': [{ |
|
723 'resultNotAddRefed': [ 'sourceBuffers', 'activeSourceBuffers' ], |
|
724 }, |
|
725 { |
|
726 'nativeType': 'JSObject', |
|
727 'workers': True, |
|
728 'skipGen': True |
|
729 }], |
|
730 |
|
731 'MediaStream': [{ |
|
732 'headerFile': 'DOMMediaStream.h', |
|
733 'nativeType': 'mozilla::DOMMediaStream' |
|
734 }, |
|
735 { |
|
736 'nativeType': 'JSObject', |
|
737 'workers': True, |
|
738 'skipGen': True |
|
739 }], |
|
740 |
|
741 'MediaStreamAudioDestinationNode': { |
|
742 'resultNotAddRefed': [ 'stream' ], |
|
743 'binaryNames': { 'stream': 'DOMStream' } |
|
744 }, |
|
745 |
|
746 'MediaStreamList': { |
|
747 'headerFile': 'MediaStreamList.h', |
|
748 'resultNotAddRefed': [ '__indexedGetter' ], |
|
749 'binaryNames': { '__indexedGetter': 'IndexedGetter' } |
|
750 }, |
|
751 |
|
752 'MediaStreamTrack': { |
|
753 'concrete': False |
|
754 }, |
|
755 |
|
756 'MediaRecorder': { |
|
757 'headerFile': 'MediaRecorder.h', |
|
758 'resultNotAddRefed': [ 'stream' ] |
|
759 }, |
|
760 |
|
761 'MessagePort': { |
|
762 'nativeType': 'mozilla::dom::MessagePortBase', |
|
763 'headerFile': 'mozilla/dom/MessagePort.h', |
|
764 'binaryNames': { |
|
765 'postMessage': 'postMessageMoz', |
|
766 }, |
|
767 }, |
|
768 |
|
769 'MimeType': { |
|
770 'headerFile' : 'nsMimeTypeArray.h', |
|
771 'nativeType': 'nsMimeType', |
|
772 'resultNotAddRefed': [ 'enabledPlugin' ] |
|
773 }, |
|
774 |
|
775 'MimeTypeArray': { |
|
776 'nativeType': 'nsMimeTypeArray', |
|
777 'resultNotAddRefed': [ 'item', 'namedItem' ] |
|
778 }, |
|
779 |
|
780 'MozCanvasPrintState': { |
|
781 'headerFile': 'mozilla/dom/HTMLCanvasElement.h', |
|
782 'nativeType': 'mozilla::dom::HTMLCanvasPrintState', |
|
783 }, |
|
784 |
|
785 'MozChannel': [ |
|
786 { |
|
787 'nativeType': 'nsIChannel', |
|
788 'notflattened': True |
|
789 }, |
|
790 { |
|
791 'workers': True, |
|
792 }], |
|
793 |
|
794 'MozCellBroadcast': { |
|
795 'nativeType': 'mozilla::dom::CellBroadcast', |
|
796 }, |
|
797 |
|
798 'MozIcc': { |
|
799 'nativeType': 'mozilla::dom::Icc', |
|
800 }, |
|
801 |
|
802 'MozIccManager': { |
|
803 'nativeType': 'mozilla::dom::IccManager', |
|
804 }, |
|
805 |
|
806 'MozMobileConnectionArray': { |
|
807 'nativeType': 'mozilla::dom::MobileConnectionArray', |
|
808 'resultNotAddRefed': [ 'item' ] |
|
809 }, |
|
810 |
|
811 'MozNamedAttrMap': { |
|
812 'nativeType': 'nsDOMAttributeMap', |
|
813 }, |
|
814 |
|
815 'MozSpeakerManager': { |
|
816 'nativeType': 'mozilla::dom::SpeakerManager', |
|
817 'headerFile': 'SpeakerManager.h' |
|
818 }, |
|
819 |
|
820 'MozPowerManager': { |
|
821 'nativeType': 'mozilla::dom::PowerManager', |
|
822 }, |
|
823 |
|
824 'MozWakeLock': { |
|
825 'nativeType': 'mozilla::dom::WakeLock', |
|
826 }, |
|
827 |
|
828 'MozTimeManager': { |
|
829 'nativeType': 'mozilla::dom::time::TimeManager', |
|
830 }, |
|
831 |
|
832 'MozVoicemail': { |
|
833 'nativeType': 'mozilla::dom::Voicemail', |
|
834 }, |
|
835 |
|
836 'MutationObserver': { |
|
837 'nativeType': 'nsDOMMutationObserver', |
|
838 }, |
|
839 |
|
840 'MutationRecord': { |
|
841 'nativeType': 'nsDOMMutationRecord', |
|
842 'headerFile': 'nsDOMMutationObserver.h', |
|
843 'resultNotAddRefed': [ 'target', 'addedNodes', 'removedNodes', |
|
844 'previousSibling', 'nextSibling' ] |
|
845 }, |
|
846 |
|
847 'NetworkInformation': { |
|
848 'nativeType': 'mozilla::dom::network::Connection', |
|
849 }, |
|
850 |
|
851 'Node': { |
|
852 'nativeType': 'nsINode', |
|
853 'concrete': False, |
|
854 'resultNotAddRefed': [ 'ownerDocument', 'parentNode', 'parentElement', |
|
855 'childNodes', 'firstChild', 'lastChild', |
|
856 'previousSibling', 'nextSibling', 'insertBefore', |
|
857 'appendChild', 'replaceChild', 'removeChild', |
|
858 'attributes' ], |
|
859 'binaryNames': { |
|
860 'baseURI': 'baseURIFromJS' |
|
861 } |
|
862 }, |
|
863 |
|
864 'NodeIterator': { |
|
865 'wrapperCache': False, |
|
866 'resultNotAddRefed': [ 'root', 'referenceNode' ], |
|
867 }, |
|
868 |
|
869 'NodeList': { |
|
870 'nativeType': 'nsINodeList', |
|
871 'resultNotAddRefed': [ 'item' ] |
|
872 }, |
|
873 |
|
874 'OfflineAudioCompletionEvent': { |
|
875 'resultNotAddRefed': [ 'renderedBuffer' ], |
|
876 }, |
|
877 |
|
878 'OfflineAudioContext': { |
|
879 'nativeType': 'mozilla::dom::AudioContext', |
|
880 'resultNotAddRefed': [ 'destination', 'listener' ], |
|
881 }, |
|
882 |
|
883 'OfflineResourceList': { |
|
884 'nativeType': 'nsDOMOfflineResourceList', |
|
885 }, |
|
886 |
|
887 'OscillatorNode': { |
|
888 'resultNotAddRefed': [ 'frequency', 'detune' ], |
|
889 }, |
|
890 |
|
891 'PaintRequestList': { |
|
892 'headerFile': 'mozilla/dom/PaintRequest.h', |
|
893 'resultNotAddRefed': [ 'item' ] |
|
894 }, |
|
895 |
|
896 'PannerNode': { |
|
897 'resultNotAddRefed': [ 'coneGain', 'distanceGain' ], |
|
898 }, |
|
899 |
|
900 'Path2D': { |
|
901 'nativeType': 'mozilla::dom::CanvasPath', |
|
902 'headerFile': 'CanvasRenderingContext2D.h' |
|
903 }, |
|
904 |
|
905 'PeerConnectionImpl': { |
|
906 'nativeType': 'sipcc::PeerConnectionImpl', |
|
907 'headerFile': 'PeerConnectionImpl.h', |
|
908 'wrapperCache': False |
|
909 }, |
|
910 |
|
911 'Performance': { |
|
912 'nativeType': 'nsPerformance', |
|
913 'resultNotAddRefed': [ 'timing', 'navigation' ] |
|
914 }, |
|
915 |
|
916 'PerformanceTiming': { |
|
917 'nativeType': 'nsPerformanceTiming', |
|
918 'headerFile': 'nsPerformance.h' |
|
919 }, |
|
920 |
|
921 'PerformanceNavigation': { |
|
922 'nativeType': 'nsPerformanceNavigation', |
|
923 'headerFile': 'nsPerformance.h' |
|
924 }, |
|
925 |
|
926 'Plugin': { |
|
927 'headerFile' : 'nsPluginArray.h', |
|
928 'nativeType': 'nsPluginElement', |
|
929 'resultNotAddRefed': [ 'item', 'namedItem' ] |
|
930 }, |
|
931 |
|
932 'PluginArray': { |
|
933 'nativeType': 'nsPluginArray', |
|
934 'resultNotAddRefed': [ 'item', 'namedItem' ] |
|
935 }, |
|
936 |
|
937 'Position': { |
|
938 'headerFile': 'nsGeoPosition.h' |
|
939 }, |
|
940 |
|
941 'PositionError': { |
|
942 'headerFile': 'nsGeolocation.h' |
|
943 }, |
|
944 |
|
945 'Promise': { |
|
946 'implicitJSContext': [ 'then', 'catch' ], |
|
947 }, |
|
948 |
|
949 'PropertyNodeList': { |
|
950 'headerFile': 'HTMLPropertiesCollection.h', |
|
951 'resultNotAddRefed': [ 'item' ] |
|
952 }, |
|
953 |
|
954 'Range': { |
|
955 'nativeType': 'nsRange', |
|
956 'resultNotAddRefed': [ 'startContainer', 'endContainer', 'commonAncestorContainer' ], |
|
957 'binaryNames': { |
|
958 '__stringifier': 'ToString' |
|
959 } |
|
960 }, |
|
961 |
|
962 'Rect': { |
|
963 'nativeType': 'nsDOMCSSRect', |
|
964 'resultNotAddRefed': [ 'top', 'right', 'bottom', 'left' ] |
|
965 }, |
|
966 |
|
967 'RGBColor': { |
|
968 'nativeType': 'nsDOMCSSRGBColor', |
|
969 'resultNotAddRefed': [ 'alpha', 'blue', 'green', 'red' ] |
|
970 }, |
|
971 |
|
972 'Screen': { |
|
973 'nativeType': 'nsScreen', |
|
974 }, |
|
975 |
|
976 'Selection': { |
|
977 'resultNotAddRefed': [ 'anchorNode', 'focusNode', 'getRangeAt' ], |
|
978 }, |
|
979 |
|
980 'ShadowRoot': { |
|
981 'resultNotAddRefed': [ |
|
982 'styleSheets' |
|
983 ] |
|
984 }, |
|
985 |
|
986 'HTMLShadowElement': { |
|
987 'resultNotAddRefed': [ |
|
988 'getOldShadowRoot' |
|
989 ] |
|
990 }, |
|
991 |
|
992 'SharedWorker': { |
|
993 'nativeType': 'mozilla::dom::workers::SharedWorker', |
|
994 'headerFile': 'mozilla/dom/workers/bindings/SharedWorker.h', |
|
995 'implicitJSContext': [ 'constructor' ], |
|
996 }, |
|
997 |
|
998 'SharedWorkerGlobalScope': { |
|
999 'headerFile': 'mozilla/dom/WorkerScope.h', |
|
1000 'workers': True, |
|
1001 }, |
|
1002 |
|
1003 'SourceBufferList': { |
|
1004 'resultNotAddRefed': [ '__indexedGetter' ], |
|
1005 }, |
|
1006 |
|
1007 'StyleSheet': { |
|
1008 'nativeType': 'nsCSSStyleSheet', |
|
1009 }, |
|
1010 |
|
1011 'SVGAnimatedLengthList': { |
|
1012 'nativeType': 'mozilla::DOMSVGAnimatedLengthList', |
|
1013 'headerFile': 'DOMSVGAnimatedLengthList.h', |
|
1014 }, |
|
1015 |
|
1016 'SVGAnimatedNumberList': { |
|
1017 'nativeType': 'mozilla::DOMSVGAnimatedNumberList', |
|
1018 'headerFile': 'DOMSVGAnimatedNumberList.h' |
|
1019 }, |
|
1020 |
|
1021 'SVGAnimatedPreserveAspectRatio': { |
|
1022 'nativeType': 'mozilla::dom::DOMSVGAnimatedPreserveAspectRatio', |
|
1023 'headerFile': 'SVGAnimatedPreserveAspectRatio.h' |
|
1024 }, |
|
1025 |
|
1026 'SVGAnimationElement': { |
|
1027 'resultNotAddRefed': ['targetElement'], |
|
1028 'concrete': False |
|
1029 }, |
|
1030 |
|
1031 'SVGComponentTransferFunctionElement': { |
|
1032 'concrete': False, |
|
1033 }, |
|
1034 |
|
1035 'SVGElement': { |
|
1036 'nativeType': 'nsSVGElement', |
|
1037 'resultNotAddRefed': ['ownerSVGElement', 'viewportElement', 'style'] |
|
1038 }, |
|
1039 |
|
1040 'SVGFEFuncAElement': { |
|
1041 'headerFile': 'mozilla/dom/SVGComponentTransferFunctionElement.h', |
|
1042 }, |
|
1043 |
|
1044 'SVGFEFuncBElement': { |
|
1045 'headerFile': 'mozilla/dom/SVGComponentTransferFunctionElement.h', |
|
1046 }, |
|
1047 |
|
1048 'SVGFEFuncGElement': { |
|
1049 'headerFile': 'mozilla/dom/SVGComponentTransferFunctionElement.h', |
|
1050 }, |
|
1051 |
|
1052 'SVGFEFuncRElement': { |
|
1053 'headerFile': 'mozilla/dom/SVGComponentTransferFunctionElement.h', |
|
1054 }, |
|
1055 |
|
1056 'SVGGraphicsElement': { |
|
1057 'concrete': False, |
|
1058 'resultNotAddRefed': ['nearestViewportElement', 'farthestViewportElement'] |
|
1059 }, |
|
1060 |
|
1061 'SVGGradientElement': { |
|
1062 'concrete': False, |
|
1063 }, |
|
1064 |
|
1065 'SVGLength': { |
|
1066 'nativeType': 'mozilla::DOMSVGLength', |
|
1067 'headerFile': 'DOMSVGLength.h' |
|
1068 }, |
|
1069 |
|
1070 'SVGLengthList': { |
|
1071 'nativeType': 'mozilla::DOMSVGLengthList', |
|
1072 'headerFile': 'DOMSVGLengthList.h' |
|
1073 }, |
|
1074 |
|
1075 'SVGLinearGradientElement': { |
|
1076 'headerFile': 'mozilla/dom/SVGGradientElement.h', |
|
1077 }, |
|
1078 |
|
1079 'SVGNumberList': { |
|
1080 'nativeType': 'mozilla::DOMSVGNumberList', |
|
1081 'headerFile': 'DOMSVGNumberList.h' |
|
1082 }, |
|
1083 |
|
1084 'SVGPathSeg': { |
|
1085 'nativeType': 'mozilla::DOMSVGPathSeg', |
|
1086 'headerFile': 'DOMSVGPathSeg.h', |
|
1087 'concrete': False, |
|
1088 }, |
|
1089 |
|
1090 'SVGPathSegClosePath': { |
|
1091 'nativeType': 'mozilla::DOMSVGPathSegClosePath', |
|
1092 'headerFile': 'DOMSVGPathSeg.h' |
|
1093 }, |
|
1094 |
|
1095 'SVGPathSegMovetoAbs': { |
|
1096 'nativeType': 'mozilla::DOMSVGPathSegMovetoAbs', |
|
1097 'headerFile': 'DOMSVGPathSeg.h' |
|
1098 }, |
|
1099 |
|
1100 'SVGPathSegMovetoRel': { |
|
1101 'nativeType': 'mozilla::DOMSVGPathSegMovetoRel', |
|
1102 'headerFile': 'DOMSVGPathSeg.h' |
|
1103 }, |
|
1104 |
|
1105 'SVGPathSegLinetoAbs': { |
|
1106 'nativeType': 'mozilla::DOMSVGPathSegLinetoAbs', |
|
1107 'headerFile': 'DOMSVGPathSeg.h' |
|
1108 }, |
|
1109 |
|
1110 'SVGPathSegLinetoRel': { |
|
1111 'nativeType': 'mozilla::DOMSVGPathSegLinetoRel', |
|
1112 'headerFile': 'DOMSVGPathSeg.h' |
|
1113 }, |
|
1114 |
|
1115 'SVGPathSegCurvetoCubicAbs': { |
|
1116 'nativeType': 'mozilla::DOMSVGPathSegCurvetoCubicAbs', |
|
1117 'headerFile': 'DOMSVGPathSeg.h' |
|
1118 }, |
|
1119 |
|
1120 'SVGPathSegCurvetoCubicRel': { |
|
1121 'nativeType': 'mozilla::DOMSVGPathSegCurvetoCubicRel', |
|
1122 'headerFile': 'DOMSVGPathSeg.h' |
|
1123 }, |
|
1124 |
|
1125 'SVGPathSegCurvetoQuadraticAbs': { |
|
1126 'nativeType': 'mozilla::DOMSVGPathSegCurvetoQuadraticAbs', |
|
1127 'headerFile': 'DOMSVGPathSeg.h' |
|
1128 }, |
|
1129 |
|
1130 'SVGPathSegCurvetoQuadraticRel': { |
|
1131 'nativeType': 'mozilla::DOMSVGPathSegCurvetoQuadraticRel', |
|
1132 'headerFile': 'DOMSVGPathSeg.h' |
|
1133 }, |
|
1134 |
|
1135 'SVGPathSegArcAbs': { |
|
1136 'nativeType': 'mozilla::DOMSVGPathSegArcAbs', |
|
1137 'headerFile': 'DOMSVGPathSeg.h' |
|
1138 }, |
|
1139 |
|
1140 'SVGPathSegArcRel': { |
|
1141 'nativeType': 'mozilla::DOMSVGPathSegArcRel', |
|
1142 'headerFile': 'DOMSVGPathSeg.h' |
|
1143 }, |
|
1144 |
|
1145 'SVGPathSegLinetoHorizontalAbs': { |
|
1146 'nativeType': 'mozilla::DOMSVGPathSegLinetoHorizontalAbs', |
|
1147 'headerFile': 'DOMSVGPathSeg.h' |
|
1148 }, |
|
1149 |
|
1150 'SVGPathSegLinetoHorizontalRel': { |
|
1151 'nativeType': 'mozilla::DOMSVGPathSegLinetoHorizontalRel', |
|
1152 'headerFile': 'DOMSVGPathSeg.h' |
|
1153 }, |
|
1154 |
|
1155 'SVGPathSegLinetoVerticalAbs': { |
|
1156 'nativeType': 'mozilla::DOMSVGPathSegLinetoVerticalAbs', |
|
1157 'headerFile': 'DOMSVGPathSeg.h' |
|
1158 }, |
|
1159 |
|
1160 'SVGPathSegLinetoVerticalRel': { |
|
1161 'nativeType': 'mozilla::DOMSVGPathSegLinetoVerticalRel', |
|
1162 'headerFile': 'DOMSVGPathSeg.h' |
|
1163 }, |
|
1164 |
|
1165 'SVGPathSegCurvetoCubicSmoothAbs': { |
|
1166 'nativeType': 'mozilla::DOMSVGPathSegCurvetoCubicSmoothAbs', |
|
1167 'headerFile': 'DOMSVGPathSeg.h' |
|
1168 }, |
|
1169 |
|
1170 'SVGPathSegCurvetoCubicSmoothRel': { |
|
1171 'nativeType': 'mozilla::DOMSVGPathSegCurvetoCubicSmoothRel', |
|
1172 'headerFile': 'DOMSVGPathSeg.h' |
|
1173 }, |
|
1174 |
|
1175 'SVGPathSegCurvetoQuadraticSmoothAbs': { |
|
1176 'nativeType': 'mozilla::DOMSVGPathSegCurvetoQuadraticSmoothAbs', |
|
1177 'headerFile': 'DOMSVGPathSeg.h' |
|
1178 }, |
|
1179 |
|
1180 'SVGPathSegCurvetoQuadraticSmoothRel': { |
|
1181 'nativeType': 'mozilla::DOMSVGPathSegCurvetoQuadraticSmoothRel', |
|
1182 'headerFile': 'DOMSVGPathSeg.h' |
|
1183 }, |
|
1184 |
|
1185 'SVGPathSegList': { |
|
1186 'nativeType': 'mozilla::DOMSVGPathSegList', |
|
1187 'headerFile': 'DOMSVGPathSegList.h' |
|
1188 }, |
|
1189 |
|
1190 'SVGPoint': { |
|
1191 'nativeType': 'mozilla::nsISVGPoint', |
|
1192 'headerFile': 'nsISVGPoint.h' |
|
1193 }, |
|
1194 |
|
1195 'SVGPointList': { |
|
1196 'nativeType': 'mozilla::DOMSVGPointList', |
|
1197 'headerFile': 'DOMSVGPointList.h' |
|
1198 }, |
|
1199 |
|
1200 'SVGPreserveAspectRatio': { |
|
1201 'nativeType': 'mozilla::dom::DOMSVGPreserveAspectRatio', |
|
1202 'headerFile': 'SVGPreserveAspectRatio.h' |
|
1203 }, |
|
1204 |
|
1205 'SVGRadialGradientElement': { |
|
1206 'headerFile': 'mozilla/dom/SVGGradientElement.h', |
|
1207 }, |
|
1208 |
|
1209 'SVGRect': { |
|
1210 'nativeType': 'mozilla::dom::SVGIRect' |
|
1211 }, |
|
1212 |
|
1213 'SVGTextContentElement': { |
|
1214 'concrete': False |
|
1215 }, |
|
1216 |
|
1217 'SVGTextPositioningElement': { |
|
1218 'concrete': False |
|
1219 }, |
|
1220 |
|
1221 'SVGTransform': { |
|
1222 'resultNotAddRefed': [ 'matrix' ], |
|
1223 'binaryNames': { |
|
1224 "matrix": "GetMatrix" |
|
1225 } |
|
1226 }, |
|
1227 |
|
1228 'SVGTransformList': { |
|
1229 'nativeType': 'mozilla::DOMSVGTransformList', |
|
1230 'headerFile': 'DOMSVGTransformList.h' |
|
1231 }, |
|
1232 |
|
1233 'SVGStringList': { |
|
1234 'nativeType': 'mozilla::DOMSVGStringList', |
|
1235 'headerFile': 'DOMSVGStringList.h', |
|
1236 }, |
|
1237 |
|
1238 'SVGSVGElement': { |
|
1239 'resultNotAddRefed': [ 'getElementById' ] |
|
1240 }, |
|
1241 |
|
1242 'SVGUnitTypes' : { |
|
1243 'concrete': False, |
|
1244 }, |
|
1245 |
|
1246 'SVGZoomAndPan' : { |
|
1247 'concrete': False, |
|
1248 }, |
|
1249 |
|
1250 'Text': { |
|
1251 # Total hack to allow binding code to realize that nsTextNode can |
|
1252 # in fact be cast to Text. |
|
1253 'headerFile': 'nsTextNode.h', |
|
1254 }, |
|
1255 |
|
1256 'TextDecoder': { |
|
1257 'nativeOwnership': 'owned', |
|
1258 }, |
|
1259 |
|
1260 'TextEncoder': { |
|
1261 'nativeOwnership': 'owned', |
|
1262 }, |
|
1263 |
|
1264 'TextMetrics': { |
|
1265 'nativeOwnership': 'owned', |
|
1266 }, |
|
1267 |
|
1268 'TimeRanges': { |
|
1269 'wrapperCache': False |
|
1270 }, |
|
1271 |
|
1272 'TouchList': { |
|
1273 'headerFile': 'mozilla/dom/TouchEvent.h', |
|
1274 }, |
|
1275 |
|
1276 'TreeColumns': { |
|
1277 'nativeType': 'nsTreeColumns', |
|
1278 }, |
|
1279 |
|
1280 'TreeWalker': { |
|
1281 'wrapperCache': False, |
|
1282 'resultNotAddRefed': [ 'root', 'currentNode' ], |
|
1283 }, |
|
1284 |
|
1285 'UndoManager': { |
|
1286 'implicitJSContext' : [ 'undo', 'redo', 'transact' ], |
|
1287 }, |
|
1288 |
|
1289 'URL' : [{ |
|
1290 'wrapperCache': False, |
|
1291 }, |
|
1292 { |
|
1293 'workers': True, |
|
1294 'wrapperCache': False, |
|
1295 }], |
|
1296 |
|
1297 'VTTCue': { |
|
1298 'nativeType': 'mozilla::dom::TextTrackCue' |
|
1299 }, |
|
1300 |
|
1301 'VTTRegion': { |
|
1302 'nativeType': 'mozilla::dom::TextTrackRegion', |
|
1303 }, |
|
1304 |
|
1305 'WebGLActiveInfo': { |
|
1306 'nativeType': 'mozilla::WebGLActiveInfo', |
|
1307 'headerFile': 'WebGLActiveInfo.h', |
|
1308 'wrapperCache': False |
|
1309 }, |
|
1310 |
|
1311 'WebGLBuffer': { |
|
1312 'nativeType': 'mozilla::WebGLBuffer', |
|
1313 'headerFile': 'WebGLBuffer.h' |
|
1314 }, |
|
1315 |
|
1316 'WebGLExtensionCompressedTextureATC': { |
|
1317 'nativeType': 'mozilla::WebGLExtensionCompressedTextureATC', |
|
1318 'headerFile': 'WebGLExtensions.h' |
|
1319 }, |
|
1320 |
|
1321 'WebGLExtensionCompressedTextureETC1': { |
|
1322 'nativeType': 'mozilla::WebGLExtensionCompressedTextureETC1', |
|
1323 'headerFile': 'WebGLExtensions.h' |
|
1324 }, |
|
1325 |
|
1326 'WebGLExtensionCompressedTexturePVRTC': { |
|
1327 'nativeType': 'mozilla::WebGLExtensionCompressedTexturePVRTC', |
|
1328 'headerFile': 'WebGLExtensions.h' |
|
1329 }, |
|
1330 |
|
1331 'WebGLExtensionCompressedTextureS3TC': { |
|
1332 'nativeType': 'mozilla::WebGLExtensionCompressedTextureS3TC', |
|
1333 'headerFile': 'WebGLExtensions.h' |
|
1334 }, |
|
1335 |
|
1336 'WebGLExtensionDepthTexture': { |
|
1337 'nativeType': 'mozilla::WebGLExtensionDepthTexture', |
|
1338 'headerFile': 'WebGLExtensions.h' |
|
1339 }, |
|
1340 |
|
1341 'WebGLExtensionDebugRendererInfo': { |
|
1342 'nativeType': 'mozilla::WebGLExtensionDebugRendererInfo', |
|
1343 'headerFile': 'WebGLExtensions.h' |
|
1344 }, |
|
1345 |
|
1346 'WebGLExtensionDebugShaders': { |
|
1347 'nativeType': 'mozilla::WebGLExtensionDebugShaders', |
|
1348 'headerFile': 'WebGLExtensions.h' |
|
1349 }, |
|
1350 |
|
1351 'WebGLExtensionElementIndexUint': { |
|
1352 'nativeType': 'mozilla::WebGLExtensionElementIndexUint', |
|
1353 'headerFile': 'WebGLExtensions.h' |
|
1354 }, |
|
1355 |
|
1356 'WebGLExtensionFragDepth': { |
|
1357 'nativeType': 'mozilla::WebGLExtensionFragDepth', |
|
1358 'headerFile': 'WebGLExtensions.h' |
|
1359 }, |
|
1360 |
|
1361 'WebGLExtensionLoseContext': { |
|
1362 'nativeType': 'mozilla::WebGLExtensionLoseContext', |
|
1363 'headerFile': 'WebGLExtensions.h' |
|
1364 }, |
|
1365 |
|
1366 'WebGLExtensionSRGB': { |
|
1367 'nativeType': 'mozilla::WebGLExtensionSRGB', |
|
1368 'headerFile': 'WebGLExtensions.h' |
|
1369 }, |
|
1370 |
|
1371 'WebGLExtensionStandardDerivatives': { |
|
1372 'nativeType': 'mozilla::WebGLExtensionStandardDerivatives', |
|
1373 'headerFile': 'WebGLExtensions.h' |
|
1374 }, |
|
1375 |
|
1376 'WebGLExtensionTextureFilterAnisotropic': { |
|
1377 'nativeType': 'mozilla::WebGLExtensionTextureFilterAnisotropic', |
|
1378 'headerFile': 'WebGLExtensions.h' |
|
1379 }, |
|
1380 |
|
1381 'WebGLExtensionTextureFloat': { |
|
1382 'nativeType': 'mozilla::WebGLExtensionTextureFloat', |
|
1383 'headerFile': 'WebGLExtensions.h' |
|
1384 }, |
|
1385 |
|
1386 'WebGLExtensionTextureFloatLinear': { |
|
1387 'nativeType': 'mozilla::WebGLExtensionTextureFloatLinear', |
|
1388 'headerFile': 'WebGLExtensions.h' |
|
1389 }, |
|
1390 |
|
1391 'WebGLExtensionTextureHalfFloat': { |
|
1392 'nativeType': 'mozilla::WebGLExtensionTextureHalfFloat', |
|
1393 'headerFile': 'WebGLExtensions.h' |
|
1394 }, |
|
1395 |
|
1396 'WebGLExtensionTextureHalfFloatLinear': { |
|
1397 'nativeType': 'mozilla::WebGLExtensionTextureHalfFloatLinear', |
|
1398 'headerFile': 'WebGLExtensions.h' |
|
1399 }, |
|
1400 |
|
1401 'WebGLExtensionColorBufferFloat': { |
|
1402 'nativeType': 'mozilla::WebGLExtensionColorBufferFloat', |
|
1403 'headerFile': 'WebGLExtensions.h' |
|
1404 }, |
|
1405 |
|
1406 'WebGLExtensionColorBufferHalfFloat': { |
|
1407 'nativeType': 'mozilla::WebGLExtensionColorBufferHalfFloat', |
|
1408 'headerFile': 'WebGLExtensions.h' |
|
1409 }, |
|
1410 |
|
1411 'WebGLExtensionDrawBuffers': { |
|
1412 'nativeType': 'mozilla::WebGLExtensionDrawBuffers', |
|
1413 'headerFile': 'WebGLExtensions.h' |
|
1414 }, |
|
1415 |
|
1416 'WebGLExtensionVertexArray': { |
|
1417 'nativeType': 'mozilla::WebGLExtensionVertexArray', |
|
1418 'headerFile': 'WebGLExtensions.h' |
|
1419 }, |
|
1420 |
|
1421 'WebGLExtensionInstancedArrays': { |
|
1422 'nativeType': 'mozilla::WebGLExtensionInstancedArrays', |
|
1423 'headerFile': 'WebGLExtensions.h' |
|
1424 }, |
|
1425 |
|
1426 'WebGLFramebuffer': { |
|
1427 'nativeType': 'mozilla::WebGLFramebuffer', |
|
1428 'headerFile': 'WebGLFramebuffer.h' |
|
1429 }, |
|
1430 |
|
1431 'WebGLProgram': { |
|
1432 'nativeType': 'mozilla::WebGLProgram', |
|
1433 'headerFile': 'WebGLProgram.h' |
|
1434 }, |
|
1435 |
|
1436 'WebGLQuery': { |
|
1437 'nativeType': 'mozilla::WebGLQuery', |
|
1438 'headerFile': 'WebGLQuery.h' |
|
1439 }, |
|
1440 |
|
1441 'WebGLRenderbuffer': { |
|
1442 'nativeType': 'mozilla::WebGLRenderbuffer', |
|
1443 'headerFile': 'WebGLRenderbuffer.h' |
|
1444 }, |
|
1445 |
|
1446 'WebGLRenderingContext': { |
|
1447 'nativeType': 'mozilla::WebGLContext', |
|
1448 'headerFile': 'WebGLContext.h', |
|
1449 'resultNotAddRefed': [ 'canvas', 'getContextAttributes', 'getExtension', |
|
1450 'getAttachedShaders' ], |
|
1451 'implicitJSContext': [ 'getSupportedExtensions' ], |
|
1452 }, |
|
1453 |
|
1454 'WebGL2RenderingContext': { |
|
1455 'nativeType': 'mozilla::WebGLContext', |
|
1456 'headerFile': 'WebGLContext.h', |
|
1457 'resultNotAddRefed': [ 'canvas', 'getContextAttributes', 'getExtension', |
|
1458 'getAttachedShaders' ], |
|
1459 'implicitJSContext': [ 'getSupportedExtensions' ], |
|
1460 }, |
|
1461 |
|
1462 'WebGLShader': { |
|
1463 'nativeType': 'mozilla::WebGLShader', |
|
1464 'headerFile': 'WebGLShader.h' |
|
1465 }, |
|
1466 |
|
1467 'WebGLShaderPrecisionFormat': { |
|
1468 'nativeType': 'mozilla::WebGLShaderPrecisionFormat', |
|
1469 'headerFile': 'WebGLShaderPrecisionFormat.h', |
|
1470 'wrapperCache': False |
|
1471 }, |
|
1472 |
|
1473 'WebGLTexture': { |
|
1474 'nativeType': 'mozilla::WebGLTexture', |
|
1475 'headerFile': 'WebGLTexture.h' |
|
1476 }, |
|
1477 |
|
1478 'WebGLUniformLocation': { |
|
1479 'nativeType': 'mozilla::WebGLUniformLocation', |
|
1480 'headerFile': 'WebGLUniformLocation.h', |
|
1481 'wrapperCache': False |
|
1482 }, |
|
1483 |
|
1484 'WebGLVertexArray': { |
|
1485 'nativeType': 'mozilla::WebGLVertexArray', |
|
1486 'headerFile': 'WebGLVertexArray.h' |
|
1487 }, |
|
1488 |
|
1489 'WebrtcGlobalInformation': { |
|
1490 'nativeType': 'mozilla::dom::WebrtcGlobalInformation', |
|
1491 'headerFile': 'WebrtcGlobalInformation.h', |
|
1492 'wrapperCache': False, |
|
1493 'concrete': False, |
|
1494 }, |
|
1495 |
|
1496 'WebSocket': { |
|
1497 'headerFile': 'WebSocket.h', |
|
1498 }, |
|
1499 |
|
1500 'Window': { |
|
1501 'nativeType': 'nsGlobalWindow', |
|
1502 # When turning on Window, remember to drop the "'register': False" |
|
1503 # from ChromeWindow. |
|
1504 'hasXPConnectImpls': True, |
|
1505 'register': False, |
|
1506 'binaryNames': { |
|
1507 'postMessage': 'postMessageMoz', |
|
1508 }, |
|
1509 }, |
|
1510 |
|
1511 'WindowProxy': [ |
|
1512 { |
|
1513 'nativeType': 'nsIDOMWindow', |
|
1514 'concrete': False |
|
1515 }, |
|
1516 { |
|
1517 # We need a worker descriptor for WindowProxy because EventTarget exists in |
|
1518 # workers. But it's an external interface, so it'll just map to JSObject*. |
|
1519 'workers': True |
|
1520 }], |
|
1521 |
|
1522 'Worker': { |
|
1523 'headerFile': 'mozilla/dom/WorkerPrivate.h', |
|
1524 'nativeType': 'mozilla::dom::workers::WorkerPrivate', |
|
1525 'implicitJSContext': [ |
|
1526 'terminate', |
|
1527 ], |
|
1528 }, |
|
1529 |
|
1530 'WorkerGlobalScope': { |
|
1531 'headerFile': 'mozilla/dom/WorkerScope.h', |
|
1532 'workers': True, |
|
1533 'concrete': False, |
|
1534 'implicitJSContext': [ |
|
1535 'close', 'importScripts', |
|
1536 ], |
|
1537 'binaryNames': { 'console': 'getConsole', }, |
|
1538 }, |
|
1539 |
|
1540 'WorkerLocation': { |
|
1541 'headerFile': 'mozilla/dom/workers/bindings/Location.h', |
|
1542 'workers': True, |
|
1543 }, |
|
1544 |
|
1545 'WorkerNavigator': { |
|
1546 'headerFile': 'mozilla/dom/workers/bindings/Navigator.h', |
|
1547 'workers': True, |
|
1548 }, |
|
1549 |
|
1550 'XMLHttpRequest': [ |
|
1551 { |
|
1552 'nativeType': 'nsXMLHttpRequest', |
|
1553 'implicitJSContext': [ 'constructor', 'send'], |
|
1554 'resultNotAddRefed': [ 'upload', 'responseXML' ] |
|
1555 }, |
|
1556 { |
|
1557 'workers': True, |
|
1558 # XXXkhuey responseXML returns Document? which boils down to a JSObject* |
|
1559 # on a worker, and nsRefPtr<JSObject> fails in the expected way. channel is |
|
1560 # similar. This is ugly but it's all going away soon anyways. |
|
1561 'resultNotAddRefed': [ |
|
1562 'responseXML', 'channel' |
|
1563 ] |
|
1564 }], |
|
1565 |
|
1566 'XMLHttpRequestEventTarget': { |
|
1567 'nativeType': 'nsXHREventTarget', |
|
1568 'headerFile': 'nsXMLHttpRequest.h', |
|
1569 'concrete': False |
|
1570 }, |
|
1571 |
|
1572 'XMLHttpRequestUpload': [ |
|
1573 { |
|
1574 'nativeType': 'nsXMLHttpRequestUpload', |
|
1575 'headerFile': 'nsXMLHttpRequest.h' |
|
1576 }, |
|
1577 { |
|
1578 'workers': True, |
|
1579 }], |
|
1580 |
|
1581 'XMLSerializer': { |
|
1582 'nativeType': 'nsDOMSerializer', |
|
1583 }, |
|
1584 |
|
1585 'XMLStylesheetProcessingInstruction': { |
|
1586 'resultNotAddRefed': [ 'sheet' ] |
|
1587 }, |
|
1588 |
|
1589 'XPathEvaluator': { |
|
1590 'wrapperCache': False |
|
1591 }, |
|
1592 |
|
1593 'XULDocument': { |
|
1594 'headerFile': 'XULDocument.h' |
|
1595 }, |
|
1596 |
|
1597 'XULElement': { |
|
1598 'nativeType': 'nsXULElement', |
|
1599 'resultNotAddRefed': [ 'controllers', 'style' ] |
|
1600 }, |
|
1601 |
|
1602 #################################### |
|
1603 # Test Interfaces of various sorts # |
|
1604 #################################### |
|
1605 |
|
1606 'TestInterface' : { |
|
1607 # Keep this in sync with TestExampleInterface |
|
1608 'headerFile': 'TestBindingHeader.h', |
|
1609 'register': False, |
|
1610 'resultNotAddRefed': [ 'receiveWeakSelf', 'receiveWeakNullableSelf', |
|
1611 'receiveWeakOther', 'receiveWeakNullableOther', |
|
1612 'receiveWeakExternal', 'receiveWeakNullableExternal', |
|
1613 'ReceiveWeakCallbackInterface', |
|
1614 'ReceiveWeakNullableCallbackInterface', |
|
1615 'receiveWeakCastableObjectSequence', |
|
1616 'receiveWeakNullableCastableObjectSequence', |
|
1617 'receiveWeakCastableObjectNullableSequence', |
|
1618 'receiveWeakNullableCastableObjectNullableSequence' ], |
|
1619 'binaryNames': { 'methodRenamedFrom': 'methodRenamedTo', |
|
1620 'attributeGetterRenamedFrom': 'attributeGetterRenamedTo', |
|
1621 'attributeRenamedFrom': 'attributeRenamedTo' } |
|
1622 }, |
|
1623 |
|
1624 'TestParentInterface' : { |
|
1625 'headerFile': 'TestBindingHeader.h', |
|
1626 'register': False, |
|
1627 }, |
|
1628 |
|
1629 'TestChildInterface' : { |
|
1630 'headerFile': 'TestBindingHeader.h', |
|
1631 'register': False, |
|
1632 }, |
|
1633 |
|
1634 'TestCImplementedInterface' : { |
|
1635 'headerFile': 'TestCImplementedInterface.h', |
|
1636 'register': False, |
|
1637 }, |
|
1638 |
|
1639 'TestCImplementedInterface2' : { |
|
1640 'headerFile': 'TestCImplementedInterface.h', |
|
1641 'register': False, |
|
1642 }, |
|
1643 |
|
1644 'TestJSImplInterface' : { |
|
1645 # Keep this in sync with TestExampleInterface |
|
1646 'headerFile': 'TestJSImplGenBinding.h', |
|
1647 'register': False, |
|
1648 'resultNotAddRefed': [ 'receiveWeakSelf', 'receiveWeakNullableSelf', |
|
1649 'receiveWeakOther', 'receiveWeakNullableOther', |
|
1650 'receiveWeakExternal', 'receiveWeakNullableExternal', |
|
1651 'ReceiveWeakCallbackInterface', |
|
1652 'ReceiveWeakNullableCallbackInterface', |
|
1653 'receiveWeakCastableObjectSequence', |
|
1654 'receiveWeakNullableCastableObjectSequence', |
|
1655 'receiveWeakCastableObjectNullableSequence', |
|
1656 'receiveWeakNullableCastableObjectNullableSequence' ], |
|
1657 'binaryNames': { 'methodRenamedFrom': 'methodRenamedTo', |
|
1658 'attributeGetterRenamedFrom': 'attributeGetterRenamedTo', |
|
1659 'attributeRenamedFrom': 'attributeRenamedTo' } |
|
1660 }, |
|
1661 |
|
1662 'TestJSImplInterface2' : { |
|
1663 'headerFile': 'TestJSImplGenBinding.h', |
|
1664 'register': False |
|
1665 }, |
|
1666 |
|
1667 'TestJSImplInterface3' : { |
|
1668 'headerFile': 'TestJSImplGenBinding.h', |
|
1669 'register': False |
|
1670 }, |
|
1671 |
|
1672 'TestJSImplInterface4' : { |
|
1673 'headerFile': 'TestJSImplGenBinding.h', |
|
1674 'register': False |
|
1675 }, |
|
1676 |
|
1677 'TestJSImplInterface5' : { |
|
1678 'headerFile': 'TestJSImplGenBinding.h', |
|
1679 'register': False |
|
1680 }, |
|
1681 |
|
1682 'TestJSImplInterface6' : { |
|
1683 'headerFile': 'TestJSImplGenBinding.h', |
|
1684 'register': False |
|
1685 }, |
|
1686 |
|
1687 'TestNavigator' : { |
|
1688 'headerFile': 'TestJSImplGenBinding.h', |
|
1689 'register' : False |
|
1690 }, |
|
1691 |
|
1692 'TestNavigatorWithConstructor' : { |
|
1693 'headerFile': 'TestJSImplGenBinding.h', |
|
1694 'register' : False |
|
1695 }, |
|
1696 |
|
1697 'TestExternalInterface' : { |
|
1698 'nativeType': 'mozilla::dom::TestExternalInterface', |
|
1699 'headerFile': 'TestBindingHeader.h', |
|
1700 'register': False |
|
1701 }, |
|
1702 |
|
1703 'TestNonWrapperCacheInterface' : { |
|
1704 'headerFile': 'TestBindingHeader.h', |
|
1705 'register': False, |
|
1706 'wrapperCache': False |
|
1707 }, |
|
1708 |
|
1709 'IndirectlyImplementedInterface': { |
|
1710 'headerFile': 'TestBindingHeader.h', |
|
1711 'register': False, |
|
1712 'castable': False, |
|
1713 'concrete': False |
|
1714 }, |
|
1715 |
|
1716 'OnlyForUseInConstructor' : { |
|
1717 'headerFile': 'TestBindingHeader.h', |
|
1718 'register': False |
|
1719 }, |
|
1720 |
|
1721 'ImplementedInterface' : { |
|
1722 'headerFile': 'TestBindingHeader.h', |
|
1723 'concrete': False, |
|
1724 'register': False, |
|
1725 }, |
|
1726 |
|
1727 'ImplementedInterfaceParent' : { |
|
1728 'headerFile': 'TestBindingHeader.h', |
|
1729 'concrete': False, |
|
1730 'register': False |
|
1731 }, |
|
1732 |
|
1733 'DiamondImplements' : { |
|
1734 'headerFile': 'TestBindingHeader.h', |
|
1735 'concrete': False, |
|
1736 'register': False |
|
1737 }, |
|
1738 |
|
1739 'DiamondBranch1A' : { |
|
1740 'headerFile': 'TestBindingHeader.h', |
|
1741 'concrete': False, |
|
1742 'register': False |
|
1743 }, |
|
1744 |
|
1745 'DiamondBranch1B' : { |
|
1746 'headerFile': 'TestBindingHeader.h', |
|
1747 'concrete': False, |
|
1748 'register': False |
|
1749 }, |
|
1750 |
|
1751 'DiamondBranch2A' : { |
|
1752 'headerFile': 'TestBindingHeader.h', |
|
1753 'concrete': False, |
|
1754 'register': False |
|
1755 }, |
|
1756 |
|
1757 'DiamondBranch2B' : { |
|
1758 'headerFile': 'TestBindingHeader.h', |
|
1759 'concrete': False, |
|
1760 'register': False |
|
1761 }, |
|
1762 |
|
1763 'TestIndexedGetterInterface' : { |
|
1764 'headerFile': 'TestBindingHeader.h', |
|
1765 'register': False |
|
1766 }, |
|
1767 |
|
1768 'TestNamedGetterInterface' : { |
|
1769 'headerFile': 'TestBindingHeader.h', |
|
1770 'register': False |
|
1771 }, |
|
1772 |
|
1773 'TestIndexedGetterAndSetterAndNamedGetterInterface' : { |
|
1774 'headerFile': 'TestBindingHeader.h', |
|
1775 'register': False |
|
1776 }, |
|
1777 |
|
1778 'TestIndexedAndNamedGetterInterface' : { |
|
1779 'headerFile': 'TestBindingHeader.h', |
|
1780 'register': False |
|
1781 }, |
|
1782 |
|
1783 'TestIndexedSetterInterface' : { |
|
1784 'headerFile': 'TestBindingHeader.h', |
|
1785 'register': False |
|
1786 }, |
|
1787 |
|
1788 'TestNamedSetterInterface' : { |
|
1789 'headerFile': 'TestBindingHeader.h', |
|
1790 'register': False |
|
1791 }, |
|
1792 |
|
1793 'TestIndexedAndNamedSetterInterface' : { |
|
1794 'headerFile': 'TestBindingHeader.h', |
|
1795 'register': False |
|
1796 }, |
|
1797 |
|
1798 'TestIndexedAndNamedGetterAndSetterInterface' : { |
|
1799 'headerFile': 'TestBindingHeader.h', |
|
1800 'register': False, |
|
1801 }, |
|
1802 |
|
1803 'TestRenamedInterface' : { |
|
1804 'headerFile': 'TestBindingHeader.h', |
|
1805 'register': False, |
|
1806 'nativeType': 'nsRenamedInterface' |
|
1807 }, |
|
1808 |
|
1809 'TestIndexedDeleterInterface' : { |
|
1810 'headerFile': 'TestBindingHeader.h', |
|
1811 'register': False |
|
1812 }, |
|
1813 |
|
1814 'TestIndexedDeleterWithRetvalInterface' : { |
|
1815 'headerFile': 'TestBindingHeader.h', |
|
1816 'register': False |
|
1817 }, |
|
1818 |
|
1819 'TestNamedDeleterInterface' : { |
|
1820 'headerFile': 'TestBindingHeader.h', |
|
1821 'register': False |
|
1822 }, |
|
1823 |
|
1824 'TestNamedDeleterWithRetvalInterface' : { |
|
1825 'headerFile': 'TestBindingHeader.h', |
|
1826 'register': False |
|
1827 }, |
|
1828 |
|
1829 'TestIndexedAndNamedDeleterInterface' : { |
|
1830 'headerFile': 'TestBindingHeader.h', |
|
1831 'register': False |
|
1832 }, |
|
1833 |
|
1834 'TestCppKeywordNamedMethodsInterface' : { |
|
1835 'headerFile': 'TestBindingHeader.h', |
|
1836 'register': False |
|
1837 }, |
|
1838 |
|
1839 'TestExampleInterface' : { |
|
1840 # Keep this in sync with TestInterface |
|
1841 'headerFile': 'TestExampleInterface-example.h', |
|
1842 'register': False, |
|
1843 'resultNotAddRefed': [ 'receiveWeakSelf', 'receiveWeakNullableSelf', |
|
1844 'receiveWeakOther', 'receiveWeakNullableOther', |
|
1845 'receiveWeakExternal', 'receiveWeakNullableExternal', |
|
1846 'ReceiveWeakCallbackInterface', |
|
1847 'ReceiveWeakNullableCallbackInterface', |
|
1848 'receiveWeakCastableObjectSequence', |
|
1849 'receiveWeakNullableCastableObjectSequence', |
|
1850 'receiveWeakCastableObjectNullableSequence', |
|
1851 'receiveWeakNullableCastableObjectNullableSequence' ], |
|
1852 'binaryNames': { 'methodRenamedFrom': 'methodRenamedTo', |
|
1853 'attributeGetterRenamedFrom': 'attributeGetterRenamedTo', |
|
1854 'attributeRenamedFrom': 'attributeRenamedTo' } |
|
1855 }, |
|
1856 |
|
1857 'TestExampleProxyInterface' : { |
|
1858 'headerFile': 'TestExampleProxyInterface-example.h', |
|
1859 'register': False |
|
1860 } |
|
1861 } |
|
1862 |
|
1863 # These are temporary, until they've been converted to use new DOM bindings |
|
1864 def addExternalIface(iface, nativeType=None, headerFile=None, |
|
1865 notflattened=False): |
|
1866 if iface in DOMInterfaces: |
|
1867 raise Exception('Interface declared both as WebIDL and External interface') |
|
1868 domInterface = { |
|
1869 'concrete': False |
|
1870 } |
|
1871 if not nativeType is None: |
|
1872 domInterface['nativeType'] = nativeType |
|
1873 if not headerFile is None: |
|
1874 domInterface['headerFile'] = headerFile |
|
1875 domInterface['notflattened'] = notflattened |
|
1876 DOMInterfaces[iface] = domInterface |
|
1877 |
|
1878 addExternalIface('ApplicationCache', nativeType='nsIDOMOfflineResourceList') |
|
1879 addExternalIface('Counter') |
|
1880 addExternalIface('CSSRule') |
|
1881 addExternalIface('mozIDOMApplication', nativeType='mozIDOMApplication', headerFile='nsIDOMApplicationRegistry.h') |
|
1882 addExternalIface('CSSRuleList') |
|
1883 addExternalIface('RTCDataChannel', nativeType='nsIDOMDataChannel') |
|
1884 addExternalIface('File') |
|
1885 addExternalIface('HitRegionOptions', nativeType='nsISupports') |
|
1886 addExternalIface('imgINotificationObserver', nativeType='imgINotificationObserver') |
|
1887 addExternalIface('imgIRequest', nativeType='imgIRequest', notflattened=True) |
|
1888 addExternalIface('MenuBuilder', nativeType='nsIMenuBuilder', notflattened=True) |
|
1889 addExternalIface('MozBoxObject', nativeType='nsIBoxObject') |
|
1890 addExternalIface('MozControllers', nativeType='nsIControllers') |
|
1891 addExternalIface('MozFrameLoader', nativeType='nsIFrameLoader', notflattened=True) |
|
1892 addExternalIface('MozFrameRequestCallback', nativeType='nsIFrameRequestCallback', |
|
1893 notflattened=True) |
|
1894 addExternalIface('MozIccInfo', headerFile='nsIDOMIccInfo.h') |
|
1895 addExternalIface('MozMobileConnection', headerFile='nsIDOMMobileConnection.h') |
|
1896 addExternalIface('MozMobileMessageManager', headerFile='nsIDOMMobileMessageManager.h') |
|
1897 addExternalIface('MozObserver', nativeType='nsIObserver', notflattened=True) |
|
1898 addExternalIface('MozRDFCompositeDataSource', nativeType='nsIRDFCompositeDataSource', |
|
1899 notflattened=True) |
|
1900 addExternalIface('MozRDFResource', nativeType='nsIRDFResource', notflattened=True) |
|
1901 addExternalIface('MozTreeBoxObject', nativeType='nsITreeBoxObject', |
|
1902 notflattened=True) |
|
1903 addExternalIface('MozTreeColumn', nativeType='nsITreeColumn', |
|
1904 headerFile='nsITreeColumns.h') |
|
1905 addExternalIface('MozVoicemailStatus') |
|
1906 addExternalIface('MozWakeLockListener', headerFile='nsIDOMWakeLockListener.h') |
|
1907 addExternalIface('MozXULTemplateBuilder', nativeType='nsIXULTemplateBuilder') |
|
1908 addExternalIface('nsIBrowserDOMWindow', nativeType='nsIBrowserDOMWindow', |
|
1909 notflattened=True) |
|
1910 addExternalIface('nsIControllers', nativeType='nsIControllers') |
|
1911 addExternalIface('nsIDOMCrypto', nativeType='nsIDOMCrypto', |
|
1912 headerFile='Crypto.h') |
|
1913 addExternalIface('nsIInputStreamCallback', nativeType='nsIInputStreamCallback', |
|
1914 headerFile='nsIAsyncInputStream.h') |
|
1915 addExternalIface('nsIMessageBroadcaster', nativeType='nsIMessageBroadcaster', |
|
1916 headerFile='nsIMessageManager.h', notflattened=True) |
|
1917 addExternalIface('nsISelectionListener', nativeType='nsISelectionListener') |
|
1918 addExternalIface('nsIStreamListener', nativeType='nsIStreamListener', notflattened=True) |
|
1919 addExternalIface('nsISupports', nativeType='nsISupports') |
|
1920 addExternalIface('nsIDocShell', nativeType='nsIDocShell', notflattened=True) |
|
1921 addExternalIface('nsIEditor', nativeType='nsIEditor', notflattened=True) |
|
1922 addExternalIface('nsIVariant', nativeType='nsIVariant', notflattened=True) |
|
1923 addExternalIface('OutputStream', nativeType='nsIOutputStream', |
|
1924 notflattened=True) |
|
1925 addExternalIface('Principal', nativeType='nsIPrincipal', |
|
1926 headerFile='nsIPrincipal.h', notflattened=True) |
|
1927 addExternalIface('StackFrame', nativeType='nsIStackFrame', |
|
1928 headerFile='nsIException.h', notflattened=True) |
|
1929 addExternalIface('SVGNumber') |
|
1930 addExternalIface('URI', nativeType='nsIURI', headerFile='nsIURI.h', |
|
1931 notflattened=True) |
|
1932 addExternalIface('UserDataHandler') |
|
1933 addExternalIface('XPathResult', nativeType='nsISupports') |
|
1934 addExternalIface('XPathExpression') |
|
1935 addExternalIface('XPathNSResolver') |
|
1936 addExternalIface('XULCommandDispatcher') |