diff options
Diffstat (limited to 'components/layout/fragment.rs')
-rw-r--r-- | components/layout/fragment.rs | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/components/layout/fragment.rs b/components/layout/fragment.rs index ce9e55496c7..4dda58364aa 100644 --- a/components/layout/fragment.rs +++ b/components/layout/fragment.rs @@ -319,9 +319,9 @@ pub struct CanvasFragmentInfo { } impl CanvasFragmentInfo { - pub fn new<N: ThreadSafeLayoutNode>(node: &N, data: HTMLCanvasData) -> CanvasFragmentInfo { + pub fn new<N: ThreadSafeLayoutNode>(node: &N, data: HTMLCanvasData, ctx: &LayoutContext) -> CanvasFragmentInfo { CanvasFragmentInfo { - replaced_image_fragment_info: ReplacedImageFragmentInfo::new(node), + replaced_image_fragment_info: ReplacedImageFragmentInfo::new(node, ctx), ipc_renderer: data.ipc_renderer .map(|renderer| Arc::new(Mutex::new(renderer))), dom_width: Au::from_px(data.width as i32), @@ -382,7 +382,7 @@ impl ImageFragmentInfo { }; ImageFragmentInfo { - replaced_image_fragment_info: ReplacedImageFragmentInfo::new(node), + replaced_image_fragment_info: ReplacedImageFragmentInfo::new(node, layout_context), image: image, metadata: metadata, } @@ -441,9 +441,9 @@ pub struct ReplacedImageFragmentInfo { } impl ReplacedImageFragmentInfo { - pub fn new<N>(node: &N) -> ReplacedImageFragmentInfo + pub fn new<N>(node: &N, ctx: &LayoutContext) -> ReplacedImageFragmentInfo where N: ThreadSafeLayoutNode { - let is_vertical = node.style().writing_mode.is_vertical(); + let is_vertical = node.style(ctx.style_context()).writing_mode.is_vertical(); ReplacedImageFragmentInfo { computed_inline_size: None, computed_block_size: None, @@ -789,8 +789,9 @@ impl TableColumnFragmentInfo { impl Fragment { /// Constructs a new `Fragment` instance. - pub fn new<N: ThreadSafeLayoutNode>(node: &N, specific: SpecificFragmentInfo) -> Fragment { - let style = node.style().clone(); + pub fn new<N: ThreadSafeLayoutNode>(node: &N, specific: SpecificFragmentInfo, ctx: &LayoutContext) -> Fragment { + let style_context = ctx.style_context(); + let style = node.style(style_context).clone(); let writing_mode = style.writing_mode; let mut restyle_damage = node.restyle_damage(); @@ -799,7 +800,7 @@ impl Fragment { Fragment { node: node.opaque(), style: style, - selected_style: node.selected_style().clone(), + selected_style: node.selected_style(style_context).clone(), restyle_damage: restyle_damage, border_box: LogicalRect::zero(writing_mode), border_padding: LogicalMargin::zero(writing_mode), @@ -2020,8 +2021,7 @@ impl Fragment { return false } - let length = first_unscanned_text.text.len(); - if length != 0 && first_unscanned_text.text.char_at_reverse(length) == '\n' { + if first_unscanned_text.text.ends_with('\n') { return false } |