#![allow(non_camel_case_types,non_upper_case_globals,unused_imports,unused_variables,unused_assignments,unused_mut,clippy::approx_constant,clippy::let_unit_value,clippy::needless_return,clippy::too_many_arguments,clippy::unnecessary_cast,clippy::upper_case_acronyms)]
use crate::dom::bindings::import::base::*;
pub use self::Console_Binding::{GetConstructorObject, DefineDOMInterface};
pub mod Console_Binding {
use crate::dom;
use crate::dom::bindings::import::module::*;
use crate::dom::types::Console;
unsafe extern fn log(cx: *mut JSContext, argc: libc::c_uint, vp: *mut JSVal) -> bool {
let mut result = false;
wrap_panic(&mut || result = (|| {
let args = CallArgs::from_vp(vp, argc);
let global = GlobalScope::from_object(args.callee());
let cx = SafeJSContext::from_ptr(cx);
let args = CallArgs::from_vp(vp, argc);
let mut arg0 = vec![];
if argc > 0 {
arg0.reserve(argc as usize);
for variadicArg in 0..argc {
let slot: HandleValue = HandleValue::from_raw(args.get(variadicArg));
arg0.push(slot);
}
}
let result: () = Console::Log(cx, &global, arg0);
(result).to_jsval(*cx, MutableHandleValue::from_raw(args.rval()));
return true;
})());
result
}
unsafe extern fn debug(cx: *mut JSContext, argc: libc::c_uint, vp: *mut JSVal) -> bool {
let mut result = false;
wrap_panic(&mut || result = (|| {
let args = CallArgs::from_vp(vp, argc);
let global = GlobalScope::from_object(args.callee());
let cx = SafeJSContext::from_ptr(cx);
let args = CallArgs::from_vp(vp, argc);
let mut arg0 = vec![];
if argc > 0 {
arg0.reserve(argc as usize);
for variadicArg in 0..argc {
let slot: HandleValue = HandleValue::from_raw(args.get(variadicArg));
arg0.push(slot);
}
}
let result: () = Console::Debug(cx, &global, arg0);
(result).to_jsval(*cx, MutableHandleValue::from_raw(args.rval()));
return true;
})());
result
}
unsafe extern fn info(cx: *mut JSContext, argc: libc::c_uint, vp: *mut JSVal) -> bool {
let mut result = false;
wrap_panic(&mut || result = (|| {
let args = CallArgs::from_vp(vp, argc);
let global = GlobalScope::from_object(args.callee());
let cx = SafeJSContext::from_ptr(cx);
let args = CallArgs::from_vp(vp, argc);
let mut arg0 = vec![];
if argc > 0 {
arg0.reserve(argc as usize);
for variadicArg in 0..argc {
let slot: HandleValue = HandleValue::from_raw(args.get(variadicArg));
arg0.push(slot);
}
}
let result: () = Console::Info(cx, &global, arg0);
(result).to_jsval(*cx, MutableHandleValue::from_raw(args.rval()));
return true;
})());
result
}
unsafe extern fn warn(cx: *mut JSContext, argc: libc::c_uint, vp: *mut JSVal) -> bool {
let mut result = false;
wrap_panic(&mut || result = (|| {
let args = CallArgs::from_vp(vp, argc);
let global = GlobalScope::from_object(args.callee());
let cx = SafeJSContext::from_ptr(cx);
let args = CallArgs::from_vp(vp, argc);
let mut arg0 = vec![];
if argc > 0 {
arg0.reserve(argc as usize);
for variadicArg in 0..argc {
let slot: HandleValue = HandleValue::from_raw(args.get(variadicArg));
arg0.push(slot);
}
}
let result: () = Console::Warn(cx, &global, arg0);
(result).to_jsval(*cx, MutableHandleValue::from_raw(args.rval()));
return true;
})());
result
}
unsafe extern fn error(cx: *mut JSContext, argc: libc::c_uint, vp: *mut JSVal) -> bool {
let mut result = false;
wrap_panic(&mut || result = (|| {
let args = CallArgs::from_vp(vp, argc);
let global = GlobalScope::from_object(args.callee());
let cx = SafeJSContext::from_ptr(cx);
let args = CallArgs::from_vp(vp, argc);
let mut arg0 = vec![];
if argc > 0 {
arg0.reserve(argc as usize);
for variadicArg in 0..argc {
let slot: HandleValue = HandleValue::from_raw(args.get(variadicArg));
arg0.push(slot);
}
}
let result: () = Console::Error(cx, &global, arg0);
(result).to_jsval(*cx, MutableHandleValue::from_raw(args.rval()));
return true;
})());
result
}
unsafe extern fn assert(cx: *mut JSContext, argc: libc::c_uint, vp: *mut JSVal) -> bool {
let mut result = false;
wrap_panic(&mut || result = (|| {
let args = CallArgs::from_vp(vp, argc);
let global = GlobalScope::from_object(args.callee());
let cx = SafeJSContext::from_ptr(cx);
let args = CallArgs::from_vp(vp, argc);
if argc < 1 {
throw_type_error(*cx, "Not enough arguments to \"console.assert\".");
return false;
}
let arg0: bool = match FromJSValConvertible::from_jsval(*cx, HandleValue::from_raw(args.get(0)), ()) {
Ok(ConversionResult::Success(v)) => v,
Ok(ConversionResult::Failure(error)) => {
throw_type_error(*cx, &error);
return false;
}
_ => { return false;
}
};
let arg1: HandleValue = if args.get(1).is_undefined() {
HandleValue::undefined()
} else {
HandleValue::from_raw(args.get(1))
};
let result: () = Console::Assert(cx, &global, arg0, arg1);
(result).to_jsval(*cx, MutableHandleValue::from_raw(args.rval()));
return true;
})());
result
}
unsafe extern fn clear(cx: *mut JSContext, argc: libc::c_uint, vp: *mut JSVal) -> bool {
let mut result = false;
wrap_panic(&mut || result = (|| {
let args = CallArgs::from_vp(vp, argc);
let global = GlobalScope::from_object(args.callee());
let cx = SafeJSContext::from_ptr(cx);
let args = CallArgs::from_vp(vp, argc);
let result: () = Console::Clear(&global);
(result).to_jsval(*cx, MutableHandleValue::from_raw(args.rval()));
return true;
})());
result
}
unsafe extern fn count(cx: *mut JSContext, argc: libc::c_uint, vp: *mut JSVal) -> bool {
let mut result = false;
wrap_panic(&mut || result = (|| {
let args = CallArgs::from_vp(vp, argc);
let global = GlobalScope::from_object(args.callee());
let cx = SafeJSContext::from_ptr(cx);
let args = CallArgs::from_vp(vp, argc);
let arg0: DOMString = if args.get(0).is_undefined() {
DOMString::from("default")
} else {
match FromJSValConvertible::from_jsval(*cx, HandleValue::from_raw(args.get(0)), StringificationBehavior::Default) {
Ok(ConversionResult::Success(strval)) => strval,
Ok(ConversionResult::Failure(error)) => {
throw_type_error(*cx, &error);
return false;
}
_ => { return false;
},
}
};
let result: () = Console::Count(&global, arg0);
(result).to_jsval(*cx, MutableHandleValue::from_raw(args.rval()));
return true;
})());
result
}
unsafe extern fn countReset(cx: *mut JSContext, argc: libc::c_uint, vp: *mut JSVal) -> bool {
let mut result = false;
wrap_panic(&mut || result = (|| {
let args = CallArgs::from_vp(vp, argc);
let global = GlobalScope::from_object(args.callee());
let cx = SafeJSContext::from_ptr(cx);
let args = CallArgs::from_vp(vp, argc);
let arg0: DOMString = if args.get(0).is_undefined() {
DOMString::from("default")
} else {
match FromJSValConvertible::from_jsval(*cx, HandleValue::from_raw(args.get(0)), StringificationBehavior::Default) {
Ok(ConversionResult::Success(strval)) => strval,
Ok(ConversionResult::Failure(error)) => {
throw_type_error(*cx, &error);
return false;
}
_ => { return false;
},
}
};
let result: () = Console::CountReset(&global, arg0);
(result).to_jsval(*cx, MutableHandleValue::from_raw(args.rval()));
return true;
})());
result
}
unsafe extern fn group(cx: *mut JSContext, argc: libc::c_uint, vp: *mut JSVal) -> bool {
let mut result = false;
wrap_panic(&mut || result = (|| {
let args = CallArgs::from_vp(vp, argc);
let global = GlobalScope::from_object(args.callee());
let cx = SafeJSContext::from_ptr(cx);
let args = CallArgs::from_vp(vp, argc);
let mut arg0 = vec![];
if argc > 0 {
arg0.reserve(argc as usize);
for variadicArg in 0..argc {
let slot: HandleValue = HandleValue::from_raw(args.get(variadicArg));
arg0.push(slot);
}
}
let result: () = Console::Group(cx, &global, arg0);
(result).to_jsval(*cx, MutableHandleValue::from_raw(args.rval()));
return true;
})());
result
}
unsafe extern fn groupCollapsed(cx: *mut JSContext, argc: libc::c_uint, vp: *mut JSVal) -> bool {
let mut result = false;
wrap_panic(&mut || result = (|| {
let args = CallArgs::from_vp(vp, argc);
let global = GlobalScope::from_object(args.callee());
let cx = SafeJSContext::from_ptr(cx);
let args = CallArgs::from_vp(vp, argc);
let mut arg0 = vec![];
if argc > 0 {
arg0.reserve(argc as usize);
for variadicArg in 0..argc {
let slot: HandleValue = HandleValue::from_raw(args.get(variadicArg));
arg0.push(slot);
}
}
let result: () = Console::GroupCollapsed(cx, &global, arg0);
(result).to_jsval(*cx, MutableHandleValue::from_raw(args.rval()));
return true;
})());
result
}
unsafe extern fn groupEnd(cx: *mut JSContext, argc: libc::c_uint, vp: *mut JSVal) -> bool {
let mut result = false;
wrap_panic(&mut || result = (|| {
let args = CallArgs::from_vp(vp, argc);
let global = GlobalScope::from_object(args.callee());
let cx = SafeJSContext::from_ptr(cx);
let args = CallArgs::from_vp(vp, argc);
let result: () = Console::GroupEnd(&global);
(result).to_jsval(*cx, MutableHandleValue::from_raw(args.rval()));
return true;
})());
result
}
unsafe extern fn time(cx: *mut JSContext, argc: libc::c_uint, vp: *mut JSVal) -> bool {
let mut result = false;
wrap_panic(&mut || result = (|| {
let args = CallArgs::from_vp(vp, argc);
let global = GlobalScope::from_object(args.callee());
let cx = SafeJSContext::from_ptr(cx);
let args = CallArgs::from_vp(vp, argc);
if argc < 1 {
throw_type_error(*cx, "Not enough arguments to \"console.time\".");
return false;
}
let arg0: DOMString = match FromJSValConvertible::from_jsval(*cx, HandleValue::from_raw(args.get(0)), StringificationBehavior::Default) {
Ok(ConversionResult::Success(strval)) => strval,
Ok(ConversionResult::Failure(error)) => {
throw_type_error(*cx, &error);
return false;
}
_ => { return false;
},
};
let result: () = Console::Time(&global, arg0);
(result).to_jsval(*cx, MutableHandleValue::from_raw(args.rval()));
return true;
})());
result
}
unsafe extern fn timeEnd(cx: *mut JSContext, argc: libc::c_uint, vp: *mut JSVal) -> bool {
let mut result = false;
wrap_panic(&mut || result = (|| {
let args = CallArgs::from_vp(vp, argc);
let global = GlobalScope::from_object(args.callee());
let cx = SafeJSContext::from_ptr(cx);
let args = CallArgs::from_vp(vp, argc);
if argc < 1 {
throw_type_error(*cx, "Not enough arguments to \"console.timeEnd\".");
return false;
}
let arg0: DOMString = match FromJSValConvertible::from_jsval(*cx, HandleValue::from_raw(args.get(0)), StringificationBehavior::Default) {
Ok(ConversionResult::Success(strval)) => strval,
Ok(ConversionResult::Failure(error)) => {
throw_type_error(*cx, &error);
return false;
}
_ => { return false;
},
};
let result: () = Console::TimeEnd(&global, arg0);
(result).to_jsval(*cx, MutableHandleValue::from_raw(args.rval()));
return true;
})());
result
}
const sStaticMethods_specs: &[&[JSFunctionSpec]] = &[
&[
JSFunctionSpec {
name: JSPropertySpec_Name { string_: b"log\0" as *const u8 as *const libc::c_char },
call: JSNativeWrapper { op: Some(log), info: ptr::null() },
nargs: 0,
flags: (JSPROP_ENUMERATE) as u16,
selfHostedName: 0 as *const libc::c_char
},
JSFunctionSpec {
name: JSPropertySpec_Name { string_: b"debug\0" as *const u8 as *const libc::c_char },
call: JSNativeWrapper { op: Some(debug), info: ptr::null() },
nargs: 0,
flags: (JSPROP_ENUMERATE) as u16,
selfHostedName: 0 as *const libc::c_char
},
JSFunctionSpec {
name: JSPropertySpec_Name { string_: b"info\0" as *const u8 as *const libc::c_char },
call: JSNativeWrapper { op: Some(info), info: ptr::null() },
nargs: 0,
flags: (JSPROP_ENUMERATE) as u16,
selfHostedName: 0 as *const libc::c_char
},
JSFunctionSpec {
name: JSPropertySpec_Name { string_: b"warn\0" as *const u8 as *const libc::c_char },
call: JSNativeWrapper { op: Some(warn), info: ptr::null() },
nargs: 0,
flags: (JSPROP_ENUMERATE) as u16,
selfHostedName: 0 as *const libc::c_char
},
JSFunctionSpec {
name: JSPropertySpec_Name { string_: b"error\0" as *const u8 as *const libc::c_char },
call: JSNativeWrapper { op: Some(error), info: ptr::null() },
nargs: 0,
flags: (JSPROP_ENUMERATE) as u16,
selfHostedName: 0 as *const libc::c_char
},
JSFunctionSpec {
name: JSPropertySpec_Name { string_: b"assert\0" as *const u8 as *const libc::c_char },
call: JSNativeWrapper { op: Some(assert), info: ptr::null() },
nargs: 1,
flags: (JSPROP_ENUMERATE) as u16,
selfHostedName: 0 as *const libc::c_char
},
JSFunctionSpec {
name: JSPropertySpec_Name { string_: b"clear\0" as *const u8 as *const libc::c_char },
call: JSNativeWrapper { op: Some(clear), info: ptr::null() },
nargs: 0,
flags: (JSPROP_ENUMERATE) as u16,
selfHostedName: 0 as *const libc::c_char
},
JSFunctionSpec {
name: JSPropertySpec_Name { string_: b"count\0" as *const u8 as *const libc::c_char },
call: JSNativeWrapper { op: Some(count), info: ptr::null() },
nargs: 0,
flags: (JSPROP_ENUMERATE) as u16,
selfHostedName: 0 as *const libc::c_char
},
JSFunctionSpec {
name: JSPropertySpec_Name { string_: b"countReset\0" as *const u8 as *const libc::c_char },
call: JSNativeWrapper { op: Some(countReset), info: ptr::null() },
nargs: 0,
flags: (JSPROP_ENUMERATE) as u16,
selfHostedName: 0 as *const libc::c_char
},
JSFunctionSpec {
name: JSPropertySpec_Name { string_: b"group\0" as *const u8 as *const libc::c_char },
call: JSNativeWrapper { op: Some(group), info: ptr::null() },
nargs: 0,
flags: (JSPROP_ENUMERATE) as u16,
selfHostedName: 0 as *const libc::c_char
},
JSFunctionSpec {
name: JSPropertySpec_Name { string_: b"groupCollapsed\0" as *const u8 as *const libc::c_char },
call: JSNativeWrapper { op: Some(groupCollapsed), info: ptr::null() },
nargs: 0,
flags: (JSPROP_ENUMERATE) as u16,
selfHostedName: 0 as *const libc::c_char
},
JSFunctionSpec {
name: JSPropertySpec_Name { string_: b"groupEnd\0" as *const u8 as *const libc::c_char },
call: JSNativeWrapper { op: Some(groupEnd), info: ptr::null() },
nargs: 0,
flags: (JSPROP_ENUMERATE) as u16,
selfHostedName: 0 as *const libc::c_char
},
JSFunctionSpec {
name: JSPropertySpec_Name { string_: b"time\0" as *const u8 as *const libc::c_char },
call: JSNativeWrapper { op: Some(time), info: ptr::null() },
nargs: 1,
flags: (JSPROP_ENUMERATE) as u16,
selfHostedName: 0 as *const libc::c_char
},
JSFunctionSpec {
name: JSPropertySpec_Name { string_: b"timeEnd\0" as *const u8 as *const libc::c_char },
call: JSNativeWrapper { op: Some(timeEnd), info: ptr::null() },
nargs: 1,
flags: (JSPROP_ENUMERATE) as u16,
selfHostedName: 0 as *const libc::c_char
},
JSFunctionSpec {
name: JSPropertySpec_Name { string_: ptr::null() },
call: JSNativeWrapper { op: None, info: ptr::null() },
nargs: 0,
flags: 0,
selfHostedName: ptr::null()
}]
];
const sStaticMethods: &[Guard<&[JSFunctionSpec]>] = &[
Guard::new(Condition::Exposed(InterfaceObjectMap::Globals::SERVICE_WORKER_GLOBAL_SCOPE), sStaticMethods_specs[0]),
Guard::new(Condition::Exposed(InterfaceObjectMap::Globals::DEDICATED_WORKER_GLOBAL_SCOPE), sStaticMethods_specs[0]),
Guard::new(Condition::Exposed(InterfaceObjectMap::Globals::WINDOW), sStaticMethods_specs[0]),
Guard::new(Condition::Exposed(InterfaceObjectMap::Globals::PAINT_WORKLET_GLOBAL_SCOPE), sStaticMethods_specs[0]),
Guard::new(Condition::Exposed(InterfaceObjectMap::Globals::TEST_WORKLET_GLOBAL_SCOPE), sStaticMethods_specs[0])
];
static NAMESPACE_OBJECT_CLASS: NamespaceObjectClass = unsafe {
NamespaceObjectClass::new(b"Console\0")
};
pub fn GetConstructorObject(cx: SafeJSContext, global: HandleObject, mut rval: MutableHandleObject) {
get_per_interface_object_handle(cx, global, ProtoOrIfaceIndex::Constructor(PrototypeList::Constructor::Console), CreateInterfaceObjects, rval)
}
pub fn DefineDOMInterface(cx: SafeJSContext, global: HandleObject) {
define_dom_interface(cx, global, ProtoOrIfaceIndex::Constructor(PrototypeList::Constructor::Console), CreateInterfaceObjects, ConstructorEnabled)
}
fn ConstructorEnabled(aCx: SafeJSContext, aObj: HandleObject) -> bool {
is_exposed_in(aObj, InterfaceObjectMap::Globals::DEDICATED_WORKER_GLOBAL_SCOPE | InterfaceObjectMap::Globals::PAINT_WORKLET_GLOBAL_SCOPE | InterfaceObjectMap::Globals::SERVICE_WORKER_GLOBAL_SCOPE | InterfaceObjectMap::Globals::TEST_WORKLET_GLOBAL_SCOPE | InterfaceObjectMap::Globals::WINDOW)
}
unsafe fn CreateInterfaceObjects(cx: SafeJSContext, global: HandleObject, cache: *mut ProtoOrIfaceArray) {
rooted!(in(*cx) let proto = GetRealmObjectPrototype(*cx));
assert!(!proto.is_null());
rooted!(in(*cx) let mut namespace = ptr::null_mut::<JSObject>());
create_namespace_object(cx, global, proto.handle(), &NAMESPACE_OBJECT_CLASS,
sStaticMethods, &[], b"console\0", namespace.handle_mut());
assert!(!namespace.is_null());
assert!((*cache)[PrototypeList::Constructor::Console as usize].is_null());
(*cache)[PrototypeList::Constructor::Console as usize] = namespace.get();
<*mut JSObject>::post_barrier((*cache).as_mut_ptr().offset(PrototypeList::Constructor::Console as isize),
ptr::null_mut(),
namespace.get());
}
}