Fix line splitting in white-space: pre flows

The newline position from one line was getting used repeatedly, causing extra
"phantom" newlines in the following lines.  Fixes #3413.
This commit is contained in:
Matt Brubeck 2014-09-18 14:20:08 -07:00
parent 5e5f77a354
commit f35941d91d
4 changed files with 31 additions and 1 deletions

View file

@ -499,7 +499,7 @@ impl LineBreaker {
debug!("LineBreaker: Deferring the fragment to the inline_end of the new-line \
character to the line.");
let mut inline_end = split_fragment(inline_end);
inline_end.new_line_pos = in_fragment.new_line_pos.clone();
inline_end.new_line_pos.remove(0);
self.work_list.push_front(inline_end);
}
false

View file

@ -95,6 +95,7 @@ experimental == vertical-lr-blocks.html vertical-lr-blocks_ref.html
== table_auto_width.html table_auto_width_ref.html
== inline_whitespace_b.html inline_whitespace_ref.html
== inline_whitespace_a.html inline_whitespace_ref.html
== whitespace_pre.html whitespace_pre_ref.html
== line_height_a.html line_height_ref.html
== block_replaced_content_a.html block_replaced_content_ref.html
== block_replaced_content_b.html block_replaced_content_ref.html

View file

@ -0,0 +1,16 @@
<!DOCTYPE html>
<html>
<head>
<title>whitespace pre test</title>
<style>
div { white-space: pre; }
</style>
</head>
<body>
<div>a
b
c</div>
</body>
</html>

View file

@ -0,0 +1,13 @@
<!DOCTYPE html>
<html>
<head>
<title>whitespace pre test</title>
</head>
<body>
<div>a</div>
<div>&nbsp;&nbsp;b</div>
<div>c</div>
</body>
</html>