Interesting. It seems that if we cause the first line to be broken up, we can run into trouble.
```
Block(p)(0)@7f3452103cc8 parent=7f3452103bb0 (x=0, y=0, w=0, h=0) [content=7f3452804c10] [cs=7f34588e37a8] <
line@7f3452104210 count=1 state=inline,clean,prevmarginclean,not-impacted,wrapped,no-break,clear-before:none,clear-after:none(x=0, y=0, w=60480, h=1140) <
Line(p)(0)@7f3452104168 parent=7f3452103cc8 next=7f34521044d0 next-in-flow=7f34521044d0 (x=0, y=0, w=60480, h=1140) [content=7f3452804c10] [cs=7f34588e3b68:first-line] <
Inline(span)(0)@7f3452103d90 parent=7f3452104168 next-in-flow=7f3452104418 (x=0, y=0, w=60480, h=1140) [content=7f3452804ca0] [cs=7f34521064d8] <
Text(0)"\n"@7f3452103e38 parent=7f3452103d90 (x=60480, y=900, w=0, h=0) [content=7f3452807380] [cs=7f34521065c8:-moz-text] [run=7f34567b9e00][0,1,T]
>
>
>
line@7f3452104578 count=2 state=inline,clean,prevmarginclean,not-impacted,wrapped,no-break,clear-before:none,clear-after:none(x=0, y=1140, w=2597, h=1140) <
Line(p)(0)@7f34521044d0 parent=7f3452103cc8 next=7f3452104728 prev-in-flow=7f3452104168 next-in-flow=7f3452104728 (x=0, y=1140, w=0, h=1140) [content=7f3452804c10] [cs=7f3452106a78:-moz-line-frame] <
Inline(span)(0)@7f3452104418 parent=7f34521044d0 prev-in-flow=7f3452103d90 next-in-flow=7f3452104670 (x=0, y=0, w=0, h=1140) [content=7f3452804ca0] [cs=7f3452106b68] <
Inline(span)(1)@7f3452103ed8 parent=7f3452104418 next-in-flow=7f34521045c8 (x=0, y=0, w=0, h=1140) [content=7f3452804d30] [cs=7f3452106c58] <
Letter(span)(1)@7f34521040c0 parent=7f3452103ed8 next-in-flow=7f3452104370 (x=0, y=0, w=0, h=1140) [content=7f3452804d30] [cs=7f34521066b8:first-letter] <
Text(0)""@7f3452104020 parent=7f34521040c0 next-in-flow=7f34521042b0 (x=0, y=900, w=0, h=0) [content=7f3452807400] [cs=7f3452106988:-moz-text] [run=7f34588f6a60][0,0,F]
>
>
>
>
Line(p)(0)@7f3452104728 parent=7f3452103cc8 prev-in-flow=7f34521044d0 (x=0, y=1140, w=2597, h=1140) [content=7f3452804c10] [cs=7f3452106a78:-moz-line-frame] <
Inline(span)(0)@7f3452104670 parent=7f3452104728 prev-in-flow=7f3452104418 (x=0, y=0, w=2597, h=1140) [content=7f3452804ca0] [cs=7f34521067a8] <
Inline(span)(1)@7f34521045c8 parent=7f3452104670 prev-in-flow=7f3452103ed8 (x=0, y=0, w=2597, h=1140) [content=7f3452804d30] [cs=7f3452106d48] <
Letter(span)(1)@7f3452104370 parent=7f34521045c8 prev-in-flow=7f34521040c0 (x=0, y=0, w=2597, h=1140) [content=7f3452804d30] [cs=7f3452106e38:-moz-first-letter-continuation] <
Text(0)"Hello\n"@7f34521042b0 parent=7f3452104370 prev-in-flow=7f3452104020 (x=0, y=0, w=2597, h=1140) [content=7f3452807400] [cs=7f34521062f8:-moz-text] [run=7f34588f6a60][0,6,T]
>
>
>
>
>
>
```
1. The newline is considered the `first-line` in terms of computed style.
2. The second line does not receive the `first-line` styling, but internally still is of type `nsFirstLineFrame`.
3. The second line consists of two lines: The first line is empty text with `first-letter` in terms of style. The second line contains the actual text.
This situation can be avoided by either removing the newline between `<span>`s, or reducing `padding-left` so that the line doesn't get broken up.
On the release build, "Hello" is rendered a line below where it's supposed to, and lacks `first-(letter|line)` styling.
Comparatively, when `padding-left` is 10%:
```
Line(p)(0)@7f9c5e4f8168 parent=7f9c5e4f7cc8 (x=51835, y=0, w=8645, h=1140) ink-overflow=(x=0, y=0, w=8950, h=1140) scr-overflow=(x=0, y=0, w=8645, h=1140) [content=7f9c35a04550] [cs=7f9c3bbe6978:first-line] <
Inline(span)(0)@7f9c5e4f7d90 parent=7f9c5e4f8168 (x=0, y=0, w=8645, h=1140) ink-overflow=(x=0, y=0, w=8950, h=1140) [content=7f9c35a045e0] [cs=7f9c399a7118] <
Text(0)"\n"@7f9c5e4f7e38 parent=7f9c5e4f7d90 next=7f9c5e4f7ed8 (x=6048, y=900, w=0, h=0) [content=7f9c35a07180] [cs=7f9c399a7208:-moz-text] [run=7f9c39976980][0,1,T]
Inline(span)(1)@7f9c5e4f7ed8 parent=7f9c5e4f7d90 (x=6048, y=0, w=2597, h=1140) ink-overflow=(x=0, y=0, w=2902, h=1140) scr-overflow=(x=0, y=0, w=2597, h=1140) [content=7f9c35a04670] [cs=7f9c399a72f8] <
Letter(span)(1)@7f9c5e4f80c0 parent=7f9c5e4f7ed8 next=7f9c5e4f8370 next-in-flow=7f9c5e4f8370 (x=0, y=0, w=837, h=1140) [content=7f9c35a04670] [cs=7f9c399a73e8:first-letter] <
Text(0)"H"@7f9c5e4f8020 parent=7f9c5e4f80c0 next-in-flow=7f9c5e4f82b0 (x=0, y=0, w=837, h=1140) [content=7f9c35a07200] [cs=7f9c399a75c8:-moz-text] [run=7f9c39976980][0,1,F]
>
Letter(span)(1)@7f9c5e4f8370 parent=7f9c5e4f7ed8 prev-in-flow=7f9c5e4f80c0 (x=837, y=0, w=1760, h=1140) ink-overflow=(x=0, y=0, w=2065, h=1140) scr-overflow=(x=0, y=0, w=1760, h=1140) [content=7f9c35a04670] [cs=7f9c399a74d8:-moz-first-letter-continuation] <
Text(0)"ello\n"@7f9c5e4f82b0 parent=7f9c5e4f8370 prev-in-flow=7f9c5e4f8020 (x=0, y=0, w=1760, h=1140) ink-overflow=(x=0, y=0, w=2065, h=1140) [content=7f9c35a07200] [cs=7f9c399a76b8:-moz-text] [run=7f9c39976980][1,5,T]
>
>
>
>
```
Bug 1808806 Comment 3 Edit History
Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.
Interesting. It seems that if we cause the first line to be broken up, we can run into trouble. When `padding-left` is 100%:
```
Block(p)(0)@7f3452103cc8 parent=7f3452103bb0 (x=0, y=0, w=0, h=0) [content=7f3452804c10] [cs=7f34588e37a8] <
line@7f3452104210 count=1 state=inline,clean,prevmarginclean,not-impacted,wrapped,no-break,clear-before:none,clear-after:none(x=0, y=0, w=60480, h=1140) <
Line(p)(0)@7f3452104168 parent=7f3452103cc8 next=7f34521044d0 next-in-flow=7f34521044d0 (x=0, y=0, w=60480, h=1140) [content=7f3452804c10] [cs=7f34588e3b68:first-line] <
Inline(span)(0)@7f3452103d90 parent=7f3452104168 next-in-flow=7f3452104418 (x=0, y=0, w=60480, h=1140) [content=7f3452804ca0] [cs=7f34521064d8] <
Text(0)"\n"@7f3452103e38 parent=7f3452103d90 (x=60480, y=900, w=0, h=0) [content=7f3452807380] [cs=7f34521065c8:-moz-text] [run=7f34567b9e00][0,1,T]
>
>
>
line@7f3452104578 count=2 state=inline,clean,prevmarginclean,not-impacted,wrapped,no-break,clear-before:none,clear-after:none(x=0, y=1140, w=2597, h=1140) <
Line(p)(0)@7f34521044d0 parent=7f3452103cc8 next=7f3452104728 prev-in-flow=7f3452104168 next-in-flow=7f3452104728 (x=0, y=1140, w=0, h=1140) [content=7f3452804c10] [cs=7f3452106a78:-moz-line-frame] <
Inline(span)(0)@7f3452104418 parent=7f34521044d0 prev-in-flow=7f3452103d90 next-in-flow=7f3452104670 (x=0, y=0, w=0, h=1140) [content=7f3452804ca0] [cs=7f3452106b68] <
Inline(span)(1)@7f3452103ed8 parent=7f3452104418 next-in-flow=7f34521045c8 (x=0, y=0, w=0, h=1140) [content=7f3452804d30] [cs=7f3452106c58] <
Letter(span)(1)@7f34521040c0 parent=7f3452103ed8 next-in-flow=7f3452104370 (x=0, y=0, w=0, h=1140) [content=7f3452804d30] [cs=7f34521066b8:first-letter] <
Text(0)""@7f3452104020 parent=7f34521040c0 next-in-flow=7f34521042b0 (x=0, y=900, w=0, h=0) [content=7f3452807400] [cs=7f3452106988:-moz-text] [run=7f34588f6a60][0,0,F]
>
>
>
>
Line(p)(0)@7f3452104728 parent=7f3452103cc8 prev-in-flow=7f34521044d0 (x=0, y=1140, w=2597, h=1140) [content=7f3452804c10] [cs=7f3452106a78:-moz-line-frame] <
Inline(span)(0)@7f3452104670 parent=7f3452104728 prev-in-flow=7f3452104418 (x=0, y=0, w=2597, h=1140) [content=7f3452804ca0] [cs=7f34521067a8] <
Inline(span)(1)@7f34521045c8 parent=7f3452104670 prev-in-flow=7f3452103ed8 (x=0, y=0, w=2597, h=1140) [content=7f3452804d30] [cs=7f3452106d48] <
Letter(span)(1)@7f3452104370 parent=7f34521045c8 prev-in-flow=7f34521040c0 (x=0, y=0, w=2597, h=1140) [content=7f3452804d30] [cs=7f3452106e38:-moz-first-letter-continuation] <
Text(0)"Hello\n"@7f34521042b0 parent=7f3452104370 prev-in-flow=7f3452104020 (x=0, y=0, w=2597, h=1140) [content=7f3452807400] [cs=7f34521062f8:-moz-text] [run=7f34588f6a60][0,6,T]
>
>
>
>
>
>
```
1. The newline is considered the `first-line` in terms of computed style.
2. The second line does not receive the `first-line` styling, but internally still is of type `nsFirstLineFrame`.
3. The second line consists of two lines: The first line is empty text with `first-letter` in terms of style. The second line contains the actual text.
This situation can be avoided by either removing the newline between `<span>`s, or reducing `padding-left` so that the line doesn't get broken up.
On the release build, "Hello" is rendered a line below where it's supposed to, and lacks `first-(letter|line)` styling.
Comparatively, when `padding-left` is 10%:
```
Line(p)(0)@7f9c5e4f8168 parent=7f9c5e4f7cc8 (x=51835, y=0, w=8645, h=1140) ink-overflow=(x=0, y=0, w=8950, h=1140) scr-overflow=(x=0, y=0, w=8645, h=1140) [content=7f9c35a04550] [cs=7f9c3bbe6978:first-line] <
Inline(span)(0)@7f9c5e4f7d90 parent=7f9c5e4f8168 (x=0, y=0, w=8645, h=1140) ink-overflow=(x=0, y=0, w=8950, h=1140) [content=7f9c35a045e0] [cs=7f9c399a7118] <
Text(0)"\n"@7f9c5e4f7e38 parent=7f9c5e4f7d90 next=7f9c5e4f7ed8 (x=6048, y=900, w=0, h=0) [content=7f9c35a07180] [cs=7f9c399a7208:-moz-text] [run=7f9c39976980][0,1,T]
Inline(span)(1)@7f9c5e4f7ed8 parent=7f9c5e4f7d90 (x=6048, y=0, w=2597, h=1140) ink-overflow=(x=0, y=0, w=2902, h=1140) scr-overflow=(x=0, y=0, w=2597, h=1140) [content=7f9c35a04670] [cs=7f9c399a72f8] <
Letter(span)(1)@7f9c5e4f80c0 parent=7f9c5e4f7ed8 next=7f9c5e4f8370 next-in-flow=7f9c5e4f8370 (x=0, y=0, w=837, h=1140) [content=7f9c35a04670] [cs=7f9c399a73e8:first-letter] <
Text(0)"H"@7f9c5e4f8020 parent=7f9c5e4f80c0 next-in-flow=7f9c5e4f82b0 (x=0, y=0, w=837, h=1140) [content=7f9c35a07200] [cs=7f9c399a75c8:-moz-text] [run=7f9c39976980][0,1,F]
>
Letter(span)(1)@7f9c5e4f8370 parent=7f9c5e4f7ed8 prev-in-flow=7f9c5e4f80c0 (x=837, y=0, w=1760, h=1140) ink-overflow=(x=0, y=0, w=2065, h=1140) scr-overflow=(x=0, y=0, w=1760, h=1140) [content=7f9c35a04670] [cs=7f9c399a74d8:-moz-first-letter-continuation] <
Text(0)"ello\n"@7f9c5e4f82b0 parent=7f9c5e4f8370 prev-in-flow=7f9c5e4f8020 (x=0, y=0, w=1760, h=1140) ink-overflow=(x=0, y=0, w=2065, h=1140) [content=7f9c35a07200] [cs=7f9c399a76b8:-moz-text] [run=7f9c39976980][1,5,T]
>
>
>
>
```