Created
November 23, 2017 01:30
-
-
Save Xanewok/0a729401d5b68f03e9e782f92de49f4a to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| unsafe extern fn readPixels(cx: *mut JSContext, _obj: HandleObject, this: *const WebGLRenderingContext, args: *const JSJitMethodCallArgs) -> bool { | |
| return wrap_panic(panic::AssertUnwindSafe(|| { | |
| let this = &*this; | |
| let args = &*args; | |
| let argc = args._base.argc_; | |
| if argc < 7 { | |
| throw_type_error(cx, "Not enough arguments to \"WebGLRenderingContext.readPixels\"."); | |
| return false; | |
| } | |
| let arg0: i32 = match FromJSValConvertible::from_jsval(cx, args.get(0), ConversionBehavior::Default) { | |
| Ok(ConversionResult::Success(v)) => v, | |
| Ok(ConversionResult::Failure(error)) => { | |
| throw_type_error(cx, &error); | |
| return false; | |
| } | |
| _ => { return false; | |
| } | |
| }; | |
| let arg1: i32 = match FromJSValConvertible::from_jsval(cx, args.get(1), ConversionBehavior::Default) { | |
| Ok(ConversionResult::Success(v)) => v, | |
| Ok(ConversionResult::Failure(error)) => { | |
| throw_type_error(cx, &error); | |
| return false; | |
| } | |
| _ => { return false; | |
| } | |
| }; | |
| let arg2: i32 = match FromJSValConvertible::from_jsval(cx, args.get(2), ConversionBehavior::Default) { | |
| Ok(ConversionResult::Success(v)) => v, | |
| Ok(ConversionResult::Failure(error)) => { | |
| throw_type_error(cx, &error); | |
| return false; | |
| } | |
| _ => { return false; | |
| } | |
| }; | |
| let arg3: i32 = match FromJSValConvertible::from_jsval(cx, args.get(3), ConversionBehavior::Default) { | |
| Ok(ConversionResult::Success(v)) => v, | |
| Ok(ConversionResult::Failure(error)) => { | |
| throw_type_error(cx, &error); | |
| return false; | |
| } | |
| _ => { return false; | |
| } | |
| }; | |
| let arg4: u32 = match FromJSValConvertible::from_jsval(cx, args.get(4), ConversionBehavior::Default) { | |
| Ok(ConversionResult::Success(v)) => v, | |
| Ok(ConversionResult::Failure(error)) => { | |
| throw_type_error(cx, &error); | |
| return false; | |
| } | |
| _ => { return false; | |
| } | |
| }; | |
| let arg5: u32 = match FromJSValConvertible::from_jsval(cx, args.get(5), ConversionBehavior::Default) { | |
| Ok(ConversionResult::Success(v)) => v, | |
| Ok(ConversionResult::Failure(error)) => { | |
| throw_type_error(cx, &error); | |
| return false; | |
| } | |
| _ => { return false; | |
| } | |
| }; | |
| let arg6: *mut JSObject = if args.get(6).get().is_object() { | |
| args.get(6).get().to_object() | |
| } else if args.get(6).get().is_null_or_undefined() { | |
| ptr::null_mut() | |
| } else { | |
| throw_type_error(cx, "Value is not an object."); | |
| return false; | |
| }; | |
| let result: Result<(), Error> = this.ReadPixels(cx, arg0, arg1, arg2, arg3, arg4, arg5, arg6); | |
| let result = match result { | |
| Ok(result) => result, | |
| Err(e) => { | |
| throw_dom_exception(cx, &this.global(), e); | |
| return false; | |
| }, | |
| }; | |
| (result).to_jsval(cx, args.rval()); | |
| return true; | |
| }), false); | |
| } | |
| const readPixels_methodinfo: JSJitInfo = JSJitInfo { | |
| call: readPixels as *const os::raw::c_void, | |
| protoID: PrototypeList::ID::WebGLRenderingContext as u16, | |
| depth: 0, | |
| _bitfield_1: | |
| JSJitInfo::new_bitfield_1( | |
| JSJitInfo_OpType::Method as u8, | |
| JSJitInfo_AliasSet::AliasEverything as u8, | |
| JSValueType::JSVAL_TYPE_UNDEFINED as u8, | |
| false, | |
| false, | |
| false, | |
| false, | |
| false, | |
| false, | |
| 0 as u16, | |
| ) | |
| }; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment