diff --git a/core/src/avm2/object/proxy_object.rs b/core/src/avm2/object/proxy_object.rs index d31e00ee7..eeb49f5ea 100644 --- a/core/src/avm2/object/proxy_object.rs +++ b/core/src/avm2/object/proxy_object.rs @@ -3,6 +3,7 @@ use crate::avm2::activation::Activation; use crate::avm2::object::script_object::ScriptObjectData; use crate::avm2::object::{ClassObject, Object, ObjectPtr, QNameObject, TObject}; +use crate::avm2::string::AvmString; use crate::avm2::value::Value; use crate::avm2::Error; use crate::avm2::Multiname; @@ -145,6 +146,21 @@ impl<'gc> TObject<'gc> for ProxyObject<'gc> { .coerce_to_boolean()) } + fn has_own_property_string( + self, + name: impl Into>, + activation: &mut Activation<'_, 'gc>, + ) -> Result> { + let name = name.into(); + Ok(self + .call_property( + &Multiname::new(activation.avm2().proxy_namespace, "hasProperty"), + &[name.into()], + activation, + )? + .coerce_to_boolean()) + } + fn get_next_enumerant( self, last_index: u32,