Clamp break appeal from blocks in inlines.

This makes it possible to break before a block inside an inline.

We used to add and keep a break break inside the anonymous
block-in-inline wrapper, before the actual block inside the inline. This
is a last-resort break (we should break *between* siblings, not between
a parent and its first child), but we didn't clamp the break appeal
accordingly. This made MovePastBreakpoint() actually move past it and
add the fragment. When entering NGBoxFragmentBuilder::
PropagateBreakInfo() after adding this child fragment, we'd then clamp
the appeal of breaking inside the container (that's the anonymous block
around the SPAN in the testcase included) down to last-resort (because
the caller of PropagateBreakInfo() peeks inside the line to find the
layout result of the block fragment inside the line), and end up
breaking before the whole thing. If we instead break before the line
with the block in inline, none of this will happen.

Bug: 1290809
Change-Id: I452be9378c2cdf3ec0beecc56ea8b35d1391aa6a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4181113
Reviewed-by: Ian Kilpatrick <ikilpatrick@chromium.org>
Reviewed-by: Koji Ishii <kojii@chromium.org>
Commit-Queue: Morten Stenshorne <mstensho@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1095564}
diff --git a/css/css-break/block-in-inline-004.html b/css/css-break/block-in-inline-004.html
new file mode 100644
index 0000000..338f4ad
--- /dev/null
+++ b/css/css-break/block-in-inline-004.html
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org">
+<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=1290809">
+<link rel="match" href="../reference/ref-filled-green-100px-square.xht">
+<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+<div style="columns:2; column-fill:auto; gap:0; width:100px; height:100px; orphans:1; widows:1; background:red;">
+  <div style="height:50px; background:green;"></div>
+  <span>
+    <div style="display:inline-block; vertical-align:top; width:100%; height:50px; background:green;"></div>
+    <div style="height:50px; background:green;"></div>
+  </span>
+  <div style="height:50px; background:green;"></div>
+</div>