avm1: Avoid some calls to `XmlNode::introduce_script_object`

Instead call `XmlNode::script_object`, which internally calls
`XmlNode::introduce_script_object`. This is a preparation for changing
the signature of `XmlNodeObject::from_xml_node`.
This commit is contained in:
relrelb 2021-12-31 16:44:33 +02:00 committed by relrelb
parent 7e32f7b85d
commit 79d5a0e326
1 changed files with 2 additions and 19 deletions

View File

@ -2,7 +2,6 @@
use crate::avm1::activation::Activation; use crate::avm1::activation::Activation;
use crate::avm1::error::Error; use crate::avm1::error::Error;
use crate::avm1::object::xml_node_object::XmlNodeObject;
use crate::avm1::object::xml_object::XmlObject; use crate::avm1::object::xml_object::XmlObject;
use crate::avm1::property_decl::{define_properties_on, Declaration}; use crate::avm1::property_decl::{define_properties_on, Declaration};
use crate::avm1::{Object, TObject, Value}; use crate::avm1::{Object, TObject, Value};
@ -85,15 +84,7 @@ fn create_element<'gc>(
.map(|v| v.coerce_to_string(activation).unwrap_or_default()) .map(|v| v.coerce_to_string(activation).unwrap_or_default())
.unwrap_or_default(); .unwrap_or_default();
let mut xml_node = XmlNode::new_element(activation.context.gc_context, nodename); let mut xml_node = XmlNode::new_element(activation.context.gc_context, nodename);
let object = XmlNodeObject::from_xml_node( return Ok(xml_node.script_object(activation).into());
activation.context.gc_context,
xml_node,
Some(activation.context.avm1.prototypes().xml_node),
);
xml_node.introduce_script_object(activation.context.gc_context, object);
return Ok(object.into());
} }
Ok(Value::Undefined) Ok(Value::Undefined)
@ -110,15 +101,7 @@ fn create_text_node<'gc>(
.map(|v| v.coerce_to_string(activation).unwrap_or_default()) .map(|v| v.coerce_to_string(activation).unwrap_or_default())
.unwrap_or_default(); .unwrap_or_default();
let mut xml_node = XmlNode::new_text(activation.context.gc_context, text_node); let mut xml_node = XmlNode::new_text(activation.context.gc_context, text_node);
let object = XmlNodeObject::from_xml_node( return Ok(xml_node.script_object(activation).into());
activation.context.gc_context,
xml_node,
Some(activation.context.avm1.prototypes().xml_node),
);
xml_node.introduce_script_object(activation.context.gc_context, object);
return Ok(object.into());
} }
Ok(Value::Undefined) Ok(Value::Undefined)