diff --git a/components/script/dom/characterdata.rs b/components/script/dom/characterdata.rs index be4fc4d0ac1..9db34a49f8c 100644 --- a/components/script/dom/characterdata.rs +++ b/components/script/dom/characterdata.rs @@ -6,6 +6,7 @@ use dom::bindings::cell::DOMRefCell; use dom::bindings::codegen::Bindings::CharacterDataBinding::CharacterDataMethods; +use dom::bindings::codegen::Bindings::NodeBinding::NodeBinding::NodeMethods; use dom::bindings::codegen::Bindings::ProcessingInstructionBinding::ProcessingInstructionMethods; use dom::bindings::codegen::InheritTypes::{CharacterDataTypeId, NodeTypeId}; use dom::bindings::codegen::UnionTypes::NodeOrString; @@ -16,9 +17,10 @@ use dom::bindings::str::DOMString; use dom::comment::Comment; use dom::document::Document; use dom::element::Element; -use dom::node::{Node, NodeDamage}; +use dom::node::{ChildrenMutation, Node, NodeDamage}; use dom::processinginstruction::ProcessingInstruction; use dom::text::Text; +use dom::virtualmethods::vtable_for; use dom_struct::dom_struct; use servo_config::opts; use std::cell::Ref; @@ -85,6 +87,16 @@ impl CharacterDataMethods for CharacterData { self.content_changed(); let node = self.upcast::(); node.ranges().replace_code_units(node, 0, old_length, new_length); + + // If this is a Text node, we might need to re-parse (say, if our parent + // is a