avm2: Convert external_interface to use ParametersExt
This commit is contained in:
parent
2513292566
commit
218b621ae3
|
@ -1,3 +1,4 @@
|
||||||
|
use crate::avm2::parameters::ParametersExt;
|
||||||
use crate::avm2::{Activation, Error, Object, Value};
|
use crate::avm2::{Activation, Error, Object, Value};
|
||||||
use crate::external::{Callback, Value as ExternalValue};
|
use crate::external::{Callback, Value as ExternalValue};
|
||||||
|
|
||||||
|
@ -6,11 +7,7 @@ pub fn call<'gc>(
|
||||||
_this: Option<Object<'gc>>,
|
_this: Option<Object<'gc>>,
|
||||||
args: &[Value<'gc>],
|
args: &[Value<'gc>],
|
||||||
) -> Result<Value<'gc>, Error<'gc>> {
|
) -> Result<Value<'gc>, Error<'gc>> {
|
||||||
if args.is_empty() {
|
let name = args.get_string(activation, 0)?;
|
||||||
return Ok(Value::Null);
|
|
||||||
}
|
|
||||||
|
|
||||||
let name = args.get(0).unwrap().coerce_to_string(activation)?;
|
|
||||||
if let Some(method) = activation
|
if let Some(method) = activation
|
||||||
.context
|
.context
|
||||||
.external_interface
|
.external_interface
|
||||||
|
@ -41,18 +38,12 @@ pub fn add_callback<'gc>(
|
||||||
_this: Option<Object<'gc>>,
|
_this: Option<Object<'gc>>,
|
||||||
args: &[Value<'gc>],
|
args: &[Value<'gc>],
|
||||||
) -> Result<Value<'gc>, Error<'gc>> {
|
) -> Result<Value<'gc>, Error<'gc>> {
|
||||||
if args.len() < 2 {
|
let name = args.get_string(activation, 0)?;
|
||||||
return Ok(Value::Undefined);
|
let method = args.get_object(activation, 1, "closure")?;
|
||||||
}
|
|
||||||
|
|
||||||
let name = args.get(0).unwrap().coerce_to_string(activation)?;
|
|
||||||
let method = args.get(1).unwrap();
|
|
||||||
|
|
||||||
if let Value::Object(method) = method {
|
|
||||||
activation
|
activation
|
||||||
.context
|
.context
|
||||||
.external_interface
|
.external_interface
|
||||||
.add_callback(name.to_string(), Callback::Avm2 { method: *method });
|
.add_callback(name.to_string(), Callback::Avm2 { method });
|
||||||
}
|
|
||||||
Ok(Value::Undefined)
|
Ok(Value::Undefined)
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue