script_bindings/home/runner/work/servo/servo/target/debug/build/script_bindings-d55f55d5af1efaee/out/Bindings/
ReadableStreamDefaultControllerBinding.rs

1/* THIS FILE IS AUTOGENERATED - DO NOT EDIT */
2
3#![allow(non_camel_case_types,non_upper_case_globals,unsafe_op_in_unsafe_fn,unused_imports,unused_variables,unused_assignments,unused_mut,clippy::approx_constant,clippy::enum_variant_names,clippy::let_unit_value,clippy::needless_return,clippy::too_many_arguments,clippy::unnecessary_cast,clippy::upper_case_acronyms)]
4
5use crate::import::base::*;
6
7pub use self::ReadableStreamDefaultController_Binding::{Wrap, ReadableStreamDefaultControllerMethods, GetProtoObject, DefineDOMInterface};
8pub mod ReadableStreamDefaultController_Binding {
9use crate::import::module::*;
10
11unsafe extern "C" fn get_desiredSize<D: DomTypes>
12(cx: *mut RawJSContext, _obj: RawHandleObject, this: *mut libc::c_void, args: JSJitGetterCallArgs) -> bool{
13    let mut result = false;
14    wrap_panic(&mut || result = (|| {
15        let mut cx = JSContext::from_ptr(ptr::NonNull::new(cx).unwrap());
16        let this = &*(this as *const D::ReadableStreamDefaultController);
17        let result: Option<f64> = this.GetDesiredSize();
18
19        (result).to_jsval(cx.raw_cx(), MutableHandleValue::from_raw(args.rval()));
20        return true;
21    })());
22    result
23}
24
25
26static desiredSize_getterinfo: ThreadUnsafeOnceLock<JSJitInfo> = ThreadUnsafeOnceLock::new();
27
28pub(crate) fn init_desiredSize_getterinfo<D: DomTypes>() {
29    desiredSize_getterinfo.set(JSJitInfo {
30    __bindgen_anon_1: JSJitInfo__bindgen_ty_1 {
31        getter: Some(get_desiredSize::<D>)
32    },
33    __bindgen_anon_2: JSJitInfo__bindgen_ty_2 {
34        protoID: PrototypeList::ID::ReadableStreamDefaultController as u16,
35    },
36    __bindgen_anon_3: JSJitInfo__bindgen_ty_3 { depth: 0 },
37    _bitfield_align_1: [],
38    _bitfield_1: __BindgenBitfieldUnit::new(
39        new_jsjitinfo_bitfield_1!(
40            JSJitInfo_OpType::Getter as u8,
41            JSJitInfo_AliasSet::AliasEverything as u8,
42            JSValueType::JSVAL_TYPE_UNKNOWN as u8,
43            true,
44            false,
45            false,
46            false,
47            false,
48            false,
49            0,
50        ).to_ne_bytes()
51    ),
52});
53}
54unsafe extern "C" fn close<D: DomTypes>
55(cx: *mut RawJSContext, _obj: RawHandleObject, this: *mut libc::c_void, args: *const JSJitMethodCallArgs) -> bool{
56    let mut result = false;
57    wrap_panic(&mut || result = (|| {
58        let mut cx = JSContext::from_ptr(ptr::NonNull::new(cx).unwrap());
59        let this = &*(this as *const D::ReadableStreamDefaultController);
60        let args = &*args;
61        let argc = args.argc_;
62        let result: Result<(), Error> = this.Close(CanGc::note());
63        let result = match result {
64            Ok(result) => result,
65            Err(e) => {
66                <D as DomHelpers<D>>::throw_dom_exception(SafeJSContext::from_ptr(cx.raw_cx()), &this.global_(InRealm::already(&AlreadyInRealm::assert_for_cx(SafeJSContext::from_ptr(cx.raw_cx())))), e, CanGc::note());
67                return false;
68            },
69        };
70
71        (result).to_jsval(cx.raw_cx(), MutableHandleValue::from_raw(args.rval()));
72        return true;
73    })());
74    result
75}
76
77
78static close_methodinfo: ThreadUnsafeOnceLock<JSJitInfo> = ThreadUnsafeOnceLock::new();
79
80pub(crate) fn init_close_methodinfo<D: DomTypes>() {
81    close_methodinfo.set(JSJitInfo {
82    __bindgen_anon_1: JSJitInfo__bindgen_ty_1 {
83        method: Some(close::<D>)
84    },
85    __bindgen_anon_2: JSJitInfo__bindgen_ty_2 {
86        protoID: PrototypeList::ID::ReadableStreamDefaultController as u16,
87    },
88    __bindgen_anon_3: JSJitInfo__bindgen_ty_3 { depth: 0 },
89    _bitfield_align_1: [],
90    _bitfield_1: __BindgenBitfieldUnit::new(
91        new_jsjitinfo_bitfield_1!(
92            JSJitInfo_OpType::Method as u8,
93            JSJitInfo_AliasSet::AliasEverything as u8,
94            JSValueType::JSVAL_TYPE_UNDEFINED as u8,
95            false,
96            false,
97            false,
98            false,
99            false,
100            false,
101            0,
102        ).to_ne_bytes()
103    ),
104});
105}
106unsafe extern "C" fn enqueue<D: DomTypes>
107(cx: *mut RawJSContext, _obj: RawHandleObject, this: *mut libc::c_void, args: *const JSJitMethodCallArgs) -> bool{
108    let mut result = false;
109    wrap_panic(&mut || result = (|| {
110        let mut cx = JSContext::from_ptr(ptr::NonNull::new(cx).unwrap());
111        let this = &*(this as *const D::ReadableStreamDefaultController);
112        let args = &*args;
113        let argc = args.argc_;
114        let arg0: HandleValue = if args.get(0).is_undefined() {
115            HandleValue::undefined()
116        } else {
117            HandleValue::from_raw(args.get(0))
118        };
119        let result: Result<(), Error> = this.Enqueue(SafeJSContext::from_ptr(cx.raw_cx()), arg0, CanGc::note());
120        let result = match result {
121            Ok(result) => result,
122            Err(e) => {
123                <D as DomHelpers<D>>::throw_dom_exception(SafeJSContext::from_ptr(cx.raw_cx()), &this.global_(InRealm::already(&AlreadyInRealm::assert_for_cx(SafeJSContext::from_ptr(cx.raw_cx())))), e, CanGc::note());
124                return false;
125            },
126        };
127
128        (result).to_jsval(cx.raw_cx(), MutableHandleValue::from_raw(args.rval()));
129        return true;
130    })());
131    result
132}
133
134
135static enqueue_methodinfo: ThreadUnsafeOnceLock<JSJitInfo> = ThreadUnsafeOnceLock::new();
136
137pub(crate) fn init_enqueue_methodinfo<D: DomTypes>() {
138    enqueue_methodinfo.set(JSJitInfo {
139    __bindgen_anon_1: JSJitInfo__bindgen_ty_1 {
140        method: Some(enqueue::<D>)
141    },
142    __bindgen_anon_2: JSJitInfo__bindgen_ty_2 {
143        protoID: PrototypeList::ID::ReadableStreamDefaultController as u16,
144    },
145    __bindgen_anon_3: JSJitInfo__bindgen_ty_3 { depth: 0 },
146    _bitfield_align_1: [],
147    _bitfield_1: __BindgenBitfieldUnit::new(
148        new_jsjitinfo_bitfield_1!(
149            JSJitInfo_OpType::Method as u8,
150            JSJitInfo_AliasSet::AliasEverything as u8,
151            JSValueType::JSVAL_TYPE_UNDEFINED as u8,
152            false,
153            false,
154            false,
155            false,
156            false,
157            false,
158            0,
159        ).to_ne_bytes()
160    ),
161});
162}
163unsafe extern "C" fn error<D: DomTypes>
164(cx: *mut RawJSContext, _obj: RawHandleObject, this: *mut libc::c_void, args: *const JSJitMethodCallArgs) -> bool{
165    let mut result = false;
166    wrap_panic(&mut || result = (|| {
167        let mut cx = JSContext::from_ptr(ptr::NonNull::new(cx).unwrap());
168        let this = &*(this as *const D::ReadableStreamDefaultController);
169        let args = &*args;
170        let argc = args.argc_;
171        let arg0: HandleValue = if args.get(0).is_undefined() {
172            HandleValue::undefined()
173        } else {
174            HandleValue::from_raw(args.get(0))
175        };
176        let result: Result<(), Error> = this.Error(SafeJSContext::from_ptr(cx.raw_cx()), arg0, CanGc::note());
177        let result = match result {
178            Ok(result) => result,
179            Err(e) => {
180                <D as DomHelpers<D>>::throw_dom_exception(SafeJSContext::from_ptr(cx.raw_cx()), &this.global_(InRealm::already(&AlreadyInRealm::assert_for_cx(SafeJSContext::from_ptr(cx.raw_cx())))), e, CanGc::note());
181                return false;
182            },
183        };
184
185        (result).to_jsval(cx.raw_cx(), MutableHandleValue::from_raw(args.rval()));
186        return true;
187    })());
188    result
189}
190
191
192static error_methodinfo: ThreadUnsafeOnceLock<JSJitInfo> = ThreadUnsafeOnceLock::new();
193
194pub(crate) fn init_error_methodinfo<D: DomTypes>() {
195    error_methodinfo.set(JSJitInfo {
196    __bindgen_anon_1: JSJitInfo__bindgen_ty_1 {
197        method: Some(error::<D>)
198    },
199    __bindgen_anon_2: JSJitInfo__bindgen_ty_2 {
200        protoID: PrototypeList::ID::ReadableStreamDefaultController as u16,
201    },
202    __bindgen_anon_3: JSJitInfo__bindgen_ty_3 { depth: 0 },
203    _bitfield_align_1: [],
204    _bitfield_1: __BindgenBitfieldUnit::new(
205        new_jsjitinfo_bitfield_1!(
206            JSJitInfo_OpType::Method as u8,
207            JSJitInfo_AliasSet::AliasEverything as u8,
208            JSValueType::JSVAL_TYPE_UNDEFINED as u8,
209            false,
210            false,
211            false,
212            false,
213            false,
214            false,
215            0,
216        ).to_ne_bytes()
217    ),
218});
219}
220unsafe extern "C" fn _finalize<D: DomTypes>
221(_cx: *mut GCContext, obj: *mut JSObject){
222    wrap_panic(&mut || {
223
224        let this = native_from_object_static::<D::ReadableStreamDefaultController>(obj).unwrap();
225        finalize_common(this);
226    })
227}
228
229unsafe extern "C" fn _trace<D: DomTypes>
230(trc: *mut JSTracer, obj: *mut JSObject){
231    wrap_panic(&mut || {
232
233        let this = native_from_object_static::<D::ReadableStreamDefaultController>(obj).unwrap();
234        if this.is_null() { return; } // GC during obj creation
235        (*this).trace(trc);
236    })
237}
238
239
240static CLASS_OPS: ThreadUnsafeOnceLock<JSClassOps> = ThreadUnsafeOnceLock::new();
241
242pub(crate) fn init_class_ops<D: DomTypes>() {
243    CLASS_OPS.set(JSClassOps {
244        addProperty: None,
245        delProperty: None,
246        enumerate: None,
247        newEnumerate: None,
248        resolve: None,
249        mayResolve: None,
250        finalize: Some(_finalize::<D>),
251        call: None,
252        construct: None,
253        trace: Some(_trace::<D>),
254    });
255}
256
257pub static Class: ThreadUnsafeOnceLock<DOMJSClass> = ThreadUnsafeOnceLock::new();
258
259pub(crate) fn init_domjs_class<D: DomTypes>() {
260    init_class_ops::<D>();
261    Class.set(DOMJSClass {
262        base: JSClass {
263            name: c"ReadableStreamDefaultController".as_ptr(),
264            flags: JSCLASS_IS_DOMJSCLASS | JSCLASS_FOREGROUND_FINALIZE |
265                   (((1) & JSCLASS_RESERVED_SLOTS_MASK) << JSCLASS_RESERVED_SLOTS_SHIFT)
266                   /* JSCLASS_HAS_RESERVED_SLOTS(1) */,
267            cOps: unsafe { CLASS_OPS.get() },
268            spec: ptr::null(),
269            ext: ptr::null(),
270            oOps: ptr::null(),
271        },
272        dom_class:
273DOMClass {
274    interface_chain: [ PrototypeList::ID::ReadableStreamDefaultController, PrototypeList::ID::Last, PrototypeList::ID::Last, PrototypeList::ID::Last, PrototypeList::ID::Last, PrototypeList::ID::Last ],
275    depth: 0,
276    type_id: crate::codegen::InheritTypes::TopTypeId { alone: () },
277    malloc_size_of: malloc_size_of_including_raw_self::<D::ReadableStreamDefaultController> as unsafe fn(&mut _, _) -> _,
278    global: Globals::EMPTY,
279},
280    });
281}
282
283#[cfg_attr(crown, allow(crown::unrooted_must_root))] pub unsafe fn Wrap<D: DomTypes>
284(cx: SafeJSContext, scope: &D::GlobalScope, given_proto: Option<HandleObject>, object: Box<D::ReadableStreamDefaultController>, _can_gc: CanGc) -> DomRoot<D::ReadableStreamDefaultController>{
285
286    let raw = Root::new(MaybeUnreflectedDom::from_box(object));
287
288    let scope = scope.reflector().get_jsobject();
289    assert!(!scope.get().is_null());
290    assert!(((*get_object_class(scope.get())).flags & JSCLASS_IS_GLOBAL) != 0);
291    let _ac = JSAutoRealm::new(cx.raw_cx(), scope.get());
292
293    rooted!(&in(cx) let mut canonical_proto = ptr::null_mut::<JSObject>());
294    GetProtoObject::<D>(cx, scope, canonical_proto.handle_mut());
295    assert!(!canonical_proto.is_null());
296
297
298    rooted!(&in(cx) let mut proto = ptr::null_mut::<JSObject>());
299    if let Some(given) = given_proto {
300        proto.set(*given);
301        if get_context_realm(cx.raw_cx()) != get_object_realm(*given) {
302            assert!(JS_WrapObject(cx.raw_cx(), proto.handle_mut()));
303        }
304    } else {
305        proto.set(*canonical_proto);
306    }
307    rooted!(&in(cx) let obj = JS_NewObjectWithGivenProto(
308        cx.raw_cx(),
309        &Class.get().base,
310        proto.handle(),
311    ));
312    assert!(!obj.is_null());
313    JS_SetReservedSlot(
314        obj.get(),
315        DOM_OBJECT_SLOT,
316        &PrivateValue(raw.as_ptr() as *const libc::c_void),
317    );
318
319    let root = raw.reflect_with(obj.get());
320
321
322
323    DomRoot::from_ref(&*root)
324}
325
326pub trait ReadableStreamDefaultControllerMethods<D: DomTypes> {
327    fn GetDesiredSize(&self, ) -> Option<f64>;
328    fn Close(&self, r#_can_gc: CanGc) -> Fallible<()>;
329    fn Enqueue(&self, r#cx: SafeJSContext, r#chunk: HandleValue, r#_can_gc: CanGc) -> Fallible<()>;
330    fn Error(&self, r#cx: SafeJSContext, r#e: HandleValue, r#_can_gc: CanGc) -> Fallible<()>;
331}
332static sMethods_specs: ThreadUnsafeOnceLock<&[&[JSFunctionSpec]]> = ThreadUnsafeOnceLock::new();
333
334pub(crate) fn init_sMethods_specs<D: DomTypes>() {
335    sMethods_specs.set(Box::leak(Box::new([&Box::leak(Box::new([
336    JSFunctionSpec {
337        name: JSPropertySpec_Name { string_: c"close".as_ptr() },
338        call: JSNativeWrapper { op: Some(generic_method::<false>), info: unsafe { close_methodinfo.get() } as *const _ as *const JSJitInfo },
339        nargs: 0,
340        flags: (JSPROP_ENUMERATE) as u16,
341        selfHostedName: ptr::null()
342    },
343    JSFunctionSpec {
344        name: JSPropertySpec_Name { string_: c"enqueue".as_ptr() },
345        call: JSNativeWrapper { op: Some(generic_method::<false>), info: unsafe { enqueue_methodinfo.get() } as *const _ as *const JSJitInfo },
346        nargs: 0,
347        flags: (JSPROP_ENUMERATE) as u16,
348        selfHostedName: ptr::null()
349    },
350    JSFunctionSpec {
351        name: JSPropertySpec_Name { string_: c"error".as_ptr() },
352        call: JSNativeWrapper { op: Some(generic_method::<false>), info: unsafe { error_methodinfo.get() } as *const _ as *const JSJitInfo },
353        nargs: 0,
354        flags: (JSPROP_ENUMERATE) as u16,
355        selfHostedName: ptr::null()
356    },
357    JSFunctionSpec {
358        name: JSPropertySpec_Name { string_: ptr::null() },
359        call: JSNativeWrapper { op: None, info: ptr::null() },
360        nargs: 0,
361        flags: 0,
362        selfHostedName: ptr::null()
363    }]))[..]
364])));
365}static sMethods: ThreadUnsafeOnceLock<&[Guard<&[JSFunctionSpec]>]> = ThreadUnsafeOnceLock::new();
366
367pub(crate) fn init_sMethods_prefs<D: DomTypes>() {
368    sMethods.set(Box::leak(Box::new([    Guard::new(&[Condition::Exposed(Globals::WINDOW),Condition::Exposed(Globals::SERVICE_WORKER_GLOBAL_SCOPE),Condition::Exposed(Globals::PAINT_WORKLET_GLOBAL_SCOPE),Condition::Exposed(Globals::DEDICATED_WORKER_GLOBAL_SCOPE),Condition::Exposed(Globals::DEBUGGER_GLOBAL_SCOPE),Condition::Exposed(Globals::DISSIMILAR_ORIGIN_WINDOW),Condition::Exposed(Globals::TEST_WORKLET_GLOBAL_SCOPE)], (unsafe { sMethods_specs.get() })[0])])));
369}static sAttributes_specs: ThreadUnsafeOnceLock<&[&[JSPropertySpec]]> = ThreadUnsafeOnceLock::new();
370
371pub(crate) fn init_sAttributes_specs<D: DomTypes>() {
372    sAttributes_specs.set(Box::leak(Box::new([&Box::leak(Box::new([
373    JSPropertySpec {
374                    name: JSPropertySpec_Name { string_: c"desiredSize".as_ptr() },
375                    attributes_: (JSPROP_ENUMERATE),
376                    kind_: (JSPropertySpec_Kind::NativeAccessor),
377                    u: JSPropertySpec_AccessorsOrValue {
378                        accessors: JSPropertySpec_AccessorsOrValue_Accessors {
379                            getter: JSPropertySpec_Accessor {
380                                native: JSNativeWrapper { op: Some(generic_getter::<false>), info: unsafe { desiredSize_getterinfo.get() } },
381                            },
382                            setter: JSPropertySpec_Accessor {
383                                native: JSNativeWrapper { op: None, info: ptr::null() },
384                            }
385                        }
386                    }
387                }
388,
389    JSPropertySpec::ZERO]))[..]
390,
391&Box::leak(Box::new([
392    JSPropertySpec {
393                    name: JSPropertySpec_Name { symbol_: SymbolCode::toStringTag as usize + 1 },
394                    attributes_: (JSPROP_READONLY),
395                    kind_: (JSPropertySpec_Kind::Value),
396                    u: JSPropertySpec_AccessorsOrValue {
397                        value: JSPropertySpec_ValueWrapper {
398                            type_: JSPropertySpec_ValueWrapper_Type::String,
399                            __bindgen_anon_1: JSPropertySpec_ValueWrapper__bindgen_ty_1 {
400                                string: c"ReadableStreamDefaultController".as_ptr(),
401                            }
402                        }
403                    }
404                }
405,
406    JSPropertySpec::ZERO]))[..]
407])));
408}static sAttributes: ThreadUnsafeOnceLock<&[Guard<&[JSPropertySpec]>]> = ThreadUnsafeOnceLock::new();
409
410pub(crate) fn init_sAttributes_prefs<D: DomTypes>() {
411    sAttributes.set(Box::leak(Box::new([    Guard::new(&[Condition::Exposed(Globals::WINDOW),Condition::Exposed(Globals::SERVICE_WORKER_GLOBAL_SCOPE),Condition::Exposed(Globals::PAINT_WORKLET_GLOBAL_SCOPE),Condition::Exposed(Globals::DEDICATED_WORKER_GLOBAL_SCOPE),Condition::Exposed(Globals::DEBUGGER_GLOBAL_SCOPE),Condition::Exposed(Globals::DISSIMILAR_ORIGIN_WINDOW),Condition::Exposed(Globals::TEST_WORKLET_GLOBAL_SCOPE)], (unsafe { sAttributes_specs.get() })[0]),
412    Guard::new(&[Condition::Satisfied], (unsafe { sAttributes_specs.get() })[1])])));
413}
414pub fn GetProtoObject<D: DomTypes>
415(cx: SafeJSContext, global: HandleObject, mut rval: MutableHandleObject){
416    /* Get the interface prototype object for this class.  This will create the
417       object as needed. */get_per_interface_object_handle(cx, global, ProtoOrIfaceIndex::ID(PrototypeList::ID::ReadableStreamDefaultController), CreateInterfaceObjects::<D>, rval)
418}
419
420
421static PrototypeClass: JSClass = JSClass {
422    name: c"ReadableStreamDefaultControllerPrototype".as_ptr(),
423    flags:
424        // JSCLASS_HAS_RESERVED_SLOTS()
425        (0 ) << JSCLASS_RESERVED_SLOTS_SHIFT,
426    cOps: ptr::null(),
427    spec: ptr::null(),
428    ext: ptr::null(),
429    oOps: ptr::null(),
430};
431
432
433static INTERFACE_OBJECT_CLASS: ThreadUnsafeOnceLock<NonCallbackInterfaceObjectClass> = ThreadUnsafeOnceLock::new();
434
435pub(crate) fn init_interface_object<D: DomTypes>() {
436    INTERFACE_OBJECT_CLASS.set(NonCallbackInterfaceObjectClass::new(
437        Box::leak(Box::new(InterfaceConstructorBehavior::throw())),
438        b"function ReadableStreamDefaultController() {\n    [native code]\n}",
439        PrototypeList::ID::ReadableStreamDefaultController,
440        0,
441    ));
442}
443
444pub fn DefineDOMInterface<D: DomTypes>
445(cx: SafeJSContext, global: HandleObject){
446    define_dom_interface(cx, global, ProtoOrIfaceIndex::ID(PrototypeList::ID::ReadableStreamDefaultController),CreateInterfaceObjects::<D>, ConstructorEnabled::<D>)
447}
448
449pub fn ConstructorEnabled<D: DomTypes>
450(aCx: SafeJSContext, aObj: HandleObject) -> bool{
451    is_exposed_in(aObj, Globals::DEBUGGER_GLOBAL_SCOPE | Globals::DEDICATED_WORKER_GLOBAL_SCOPE | Globals::DISSIMILAR_ORIGIN_WINDOW | Globals::PAINT_WORKLET_GLOBAL_SCOPE | Globals::SERVICE_WORKER_GLOBAL_SCOPE | Globals::TEST_WORKLET_GLOBAL_SCOPE | Globals::WINDOW)
452}
453
454unsafe fn CreateInterfaceObjects<D: DomTypes>
455(cx: SafeJSContext, global: HandleObject, cache: *mut ProtoOrIfaceArray){
456
457    rooted!(&in(cx) let mut prototype_proto = ptr::null_mut::<JSObject>());
458    prototype_proto.set(GetRealmObjectPrototype(cx.raw_cx()));
459    assert!(!prototype_proto.is_null());
460
461    rooted!(&in(cx) let mut prototype = ptr::null_mut::<JSObject>());
462    create_interface_prototype_object::<D>(cx,
463                                      global,
464                                      prototype_proto.handle(),
465                                      &PrototypeClass,
466                                      sMethods.get(),
467                                      sAttributes.get(),
468                                      &[],
469                                      &[],
470                                      prototype.handle_mut());
471    assert!(!prototype.is_null());
472    assert!((*cache)[PrototypeList::ID::ReadableStreamDefaultController as usize].is_null());
473    (*cache)[PrototypeList::ID::ReadableStreamDefaultController as usize] = prototype.get();
474    <*mut JSObject>::post_barrier((*cache).as_mut_ptr().offset(PrototypeList::ID::ReadableStreamDefaultController as isize),
475                                  ptr::null_mut(),
476                                  prototype.get());
477
478    rooted!(&in(cx) let mut interface_proto = ptr::null_mut::<JSObject>());
479    interface_proto.set(GetRealmFunctionPrototype(cx.raw_cx()));
480
481    assert!(!interface_proto.is_null());
482
483    rooted!(&in(cx) let mut interface = ptr::null_mut::<JSObject>());
484    create_noncallback_interface_object::<D>(cx,
485                                        global,
486                                        interface_proto.handle(),
487                                        INTERFACE_OBJECT_CLASS.get(),
488                                        &[],
489                                        &[],
490                                        &[],
491                                        prototype.handle(),
492                                        c"ReadableStreamDefaultController",
493                                        0,
494                                        &[],
495                                        interface.handle_mut());
496    assert!(!interface.is_null());
497}
498
499
500        pub(crate) fn init_statics<D: DomTypes>() {
501            init_interface_object::<D>();
502            init_domjs_class::<D>();
503            crate::codegen::GenericBindings::ReadableStreamDefaultControllerBinding::ReadableStreamDefaultController_Binding::init_close_methodinfo::<D>();
504crate::codegen::GenericBindings::ReadableStreamDefaultControllerBinding::ReadableStreamDefaultController_Binding::init_enqueue_methodinfo::<D>();
505crate::codegen::GenericBindings::ReadableStreamDefaultControllerBinding::ReadableStreamDefaultController_Binding::init_error_methodinfo::<D>();
506            init_desiredSize_getterinfo::<D>();
507
508
509            init_sMethods_specs::<D>();
510init_sMethods_prefs::<D>();
511init_sAttributes_specs::<D>();
512init_sAttributes_prefs::<D>();
513        }
514        } // mod ReadableStreamDefaultController_Binding
515
516