diff --git a/components/layout/construct.rs b/components/layout/construct.rs index c964501116c..dd6d5ff9930 100644 --- a/components/layout/construct.rs +++ b/components/layout/construct.rs @@ -578,7 +578,7 @@ impl<'a, ConcreteThreadSafeLayoutNode: ThreadSafeLayoutNode> // Add whitespace results. They will be stripped out later on when // between block elements, and retained when between inline elements. let fragment_info = SpecificFragmentInfo::UnscannedText( - UnscannedTextFragmentInfo::new(" ".to_owned(), None)); + box UnscannedTextFragmentInfo::new(" ".to_owned(), None)); properties::modify_style_for_replaced_content(&mut whitespace_style); properties::modify_style_for_text(&mut whitespace_style); let fragment = Fragment::from_opaque_node_and_style(whitespace_node, @@ -715,7 +715,7 @@ impl<'a, ConcreteThreadSafeLayoutNode: ThreadSafeLayoutNode> match text_content { TextContent::Text(string) => { - let info = UnscannedTextFragmentInfo::new(string, selection); + let info = box UnscannedTextFragmentInfo::new(string, selection); let specific_fragment_info = SpecificFragmentInfo::UnscannedText(info); fragments.fragments.push_back(Fragment::from_opaque_node_and_style( node.opaque(), @@ -728,7 +728,7 @@ impl<'a, ConcreteThreadSafeLayoutNode: ThreadSafeLayoutNode> for content_item in content_items.into_iter() { let specific_fragment_info = match content_item { ContentItem::String(string) => { - let info = UnscannedTextFragmentInfo::new(string, None); + let info = box UnscannedTextFragmentInfo::new(string, None); SpecificFragmentInfo::UnscannedText(info) } content_item => { @@ -859,7 +859,7 @@ impl<'a, ConcreteThreadSafeLayoutNode: ThreadSafeLayoutNode> whitespace_damage)) => { // Instantiate the whitespace fragment. let fragment_info = SpecificFragmentInfo::UnscannedText( - UnscannedTextFragmentInfo::new(" ".to_owned(), None)); + box UnscannedTextFragmentInfo::new(" ".to_owned(), None)); properties::modify_style_for_replaced_content(&mut whitespace_style); properties::modify_style_for_text(&mut whitespace_style); let fragment = Fragment::from_opaque_node_and_style(whitespace_node, @@ -1241,7 +1241,7 @@ impl<'a, ConcreteThreadSafeLayoutNode: ThreadSafeLayoutNode> unscanned_marker_fragments.push_back(Fragment::new( node, SpecificFragmentInfo::UnscannedText( - UnscannedTextFragmentInfo::new(text, None)))); + box UnscannedTextFragmentInfo::new(text, None)))); let marker_fragments = TextRunScanner::new().scan_for_runs( &mut self.layout_context.font_context(), unscanned_marker_fragments); @@ -1848,7 +1848,7 @@ fn control_chars_to_fragment(node: &InlineFragmentNodeInfo, restyle_damage: RestyleDamage) -> Fragment { let info = SpecificFragmentInfo::UnscannedText( - UnscannedTextFragmentInfo::new(String::from(text), None)); + box UnscannedTextFragmentInfo::new(String::from(text), None)); let mut style = node.style.clone(); properties::modify_style_for_text(&mut style); Fragment::from_opaque_node_and_style(node.address, diff --git a/components/layout/fragment.rs b/components/layout/fragment.rs index ba7ff2f714e..021efa31a08 100644 --- a/components/layout/fragment.rs +++ b/components/layout/fragment.rs @@ -167,7 +167,7 @@ pub enum SpecificFragmentInfo { TableWrapper, Multicol, MulticolColumn, - UnscannedText(UnscannedTextFragmentInfo), + UnscannedText(Box), } impl SpecificFragmentInfo { @@ -896,8 +896,8 @@ impl Fragment { let mut unscanned_ellipsis_fragments = LinkedList::new(); unscanned_ellipsis_fragments.push_back(self.transform( self.border_box.size, - SpecificFragmentInfo::UnscannedText(UnscannedTextFragmentInfo::new("…".to_owned(), - None)))); + SpecificFragmentInfo::UnscannedText( + box UnscannedTextFragmentInfo::new("…".to_owned(), None)))); let ellipsis_fragments = TextRunScanner::new().scan_for_runs(&mut layout_context.font_context(), unscanned_ellipsis_fragments); debug_assert!(ellipsis_fragments.len() == 1); diff --git a/components/layout/generated_content.rs b/components/layout/generated_content.rs index 7af9c4349d2..9cf40b0711f 100644 --- a/components/layout/generated_content.rs +++ b/components/layout/generated_content.rs @@ -434,7 +434,8 @@ fn render_text(layout_context: &LayoutContext, string: String) -> Option { let mut fragments = LinkedList::new(); - let info = SpecificFragmentInfo::UnscannedText(UnscannedTextFragmentInfo::new(string, None)); + let info = SpecificFragmentInfo::UnscannedText( + box UnscannedTextFragmentInfo::new(string, None)); fragments.push_back(Fragment::from_opaque_node_and_style(node, pseudo, style, diff --git a/components/layout/text.rs b/components/layout/text.rs index 14b0d138113..049aaabee7e 100644 --- a/components/layout/text.rs +++ b/components/layout/text.rs @@ -476,8 +476,8 @@ fn split_first_fragment_at_newline_if_necessary(fragments: &mut LinkedList(); if actual < expected {