diff options
Diffstat (limited to 'components/layout_thread_2020/dom_wrapper.rs')
-rw-r--r-- | components/layout_thread_2020/dom_wrapper.rs | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/components/layout_thread_2020/dom_wrapper.rs b/components/layout_thread_2020/dom_wrapper.rs index d8aa7b05360..7d57d7f511e 100644 --- a/components/layout_thread_2020/dom_wrapper.rs +++ b/components/layout_thread_2020/dom_wrapper.rs @@ -67,6 +67,7 @@ use selectors::sink::Push; use servo_arc::{Arc, ArcBorrow}; use servo_atoms::Atom; use servo_url::ServoUrl; +use std::borrow::Cow; use std::fmt; use std::fmt::Debug; use std::hash::{Hash, Hasher}; @@ -835,7 +836,7 @@ impl<'le> ::selectors::Element for ServoLayoutElement<'le> { .dom_children() .all(|node| match node.script_type_id() { NodeTypeId::Element(..) => false, - NodeTypeId::CharacterData(CharacterDataTypeId::Text(TextTypeId::Text)) => unsafe { + NodeTypeId::CharacterData(CharacterDataTypeId::Text(TextTypeId::Text)) => { node.node.downcast().unwrap().data_for_layout().is_empty() }, _ => true, @@ -1117,9 +1118,8 @@ impl<'ln> ThreadSafeLayoutNode<'ln> for ServoThreadSafeLayoutNode<'ln> { self.node } - fn node_text_content(&self) -> String { - let this = unsafe { self.get_jsmanaged() }; - return this.text_content(); + fn node_text_content(self) -> Cow<'ln, str> { + unsafe { self.get_jsmanaged().text_content() } } fn selection(&self) -> Option<Range<ByteIndex>> { |