Skip to content

Commit

Permalink
do not preserve suppress flag on second half of split
Browse files Browse the repository at this point in the history
  • Loading branch information
Manishearth committed Jan 24, 2018
1 parent f3c81fc commit fc97f0b
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 5 deletions.
13 changes: 10 additions & 3 deletions components/layout/fragment.rs
Expand Up @@ -717,13 +717,15 @@ impl Fragment {
}

/// Transforms this fragment using the given `SplitInfo`, preserving all the other data.
pub fn transform_with_split_info(&self, split: &SplitInfo, text_run: Arc<TextRun>)
-> Fragment {
///
/// If this is the first half of a split, `first` is true
pub fn transform_with_split_info(&self, split: &SplitInfo, text_run: Arc<TextRun>,
first: bool) -> Fragment {
let size = LogicalSize::new(self.style.writing_mode,
split.inline_size,
self.border_box.size.block);
// Preserve the insertion point if it is in this fragment's range or it is at line end.
let (flags, insertion_point) = match self.specific {
let (mut flags, insertion_point) = match self.specific {
SpecificFragmentInfo::ScannedText(ref info) => {
match info.insertion_point {
Some(index) if split.range.contains(index) => (info.flags, info.insertion_point),
Expand All @@ -734,6 +736,11 @@ impl Fragment {
},
_ => (ScannedTextFlags::empty(), None)
};

if !first {
flags.set(ScannedTextFlags::SUPPRESS_LINE_BREAK_BEFORE, false);
}

let info = Box::new(ScannedTextFragmentInfo::new(
text_run,
split.range,
Expand Down
4 changes: 2 additions & 2 deletions components/layout/inline.rs
Expand Up @@ -670,10 +670,10 @@ impl LineBreaker {
};

inline_start_fragment = split_result.inline_start.as_ref().map(|x| {
fragment.transform_with_split_info(x, split_result.text_run.clone())
fragment.transform_with_split_info(x, split_result.text_run.clone(), true)
});
inline_end_fragment = split_result.inline_end.as_ref().map(|x| {
fragment.transform_with_split_info(x, split_result.text_run.clone())
fragment.transform_with_split_info(x, split_result.text_run.clone(), false)
});

// Push the first fragment onto the line we're working on and start off the next line with
Expand Down

0 comments on commit fc97f0b

Please sign in to comment.