mirror of
https://github.com/HeyPuter/firefox.git
synced 2026-11-13 20:14:57 -10:00
Automatic update from web-platform-tests [LayoutNG] Fix line breaking behavior after out-of-flow objects This patch changes line breaking behavior after out-of-flow objects to match to ICU, assuming the out-of-flow object is an object replacement character. The behavior is not well-defined, and not all cases are interoperable across existing implementations. Legacy/WebKit resets the prior context so that text after out-of-flow objects behave as if it is at the top of the line. Gecko and Edge seem to allow break in most cases, even when NBSP follows, but not when the line overflows. The behavior implemented in this patch is interoperable for all tests that pass on existing 4 implementations, but not exactly same as legacy when implementations do not agree. Bug: 1001438 Change-Id: I4c7077d2c287a6e897175b29a73ce1c308f29f4e Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1792467 Reviewed-by: Ian Kilpatrick <[email protected]> Reviewed-by: Aleks Totic <[email protected]> Reviewed-by: Emil A Eklund <[email protected]> Commit-Queue: Koji Ishii <[email protected]> Cr-Commit-Position: refs/heads/master@{#694888} -- Load ahem as a webfont to fix lint error. -- wpt-commits: 0dba391be24cebb9bbbd22d63df729193e502902, 992be2f9e48c9a8cab93ef3b393d548f3beea4ef wpt-pr: 18942
51 lines
1.9 KiB
HTML
51 lines
1.9 KiB
HTML
<!DOCTYPE html>
|
|
<title>CSS Test: Static positions and line wrapping</title>
|
|
<link rel="author" title="Koji Ishii" href="mailto:[email protected]">
|
|
<link rel="help" href="https://drafts.csswg.org/css2/visudet.html#static-position">
|
|
<script src="/resources/testharness.js"></script>
|
|
<script src="/resources/testharnessreport.js"></script>
|
|
<script src="/resources/check-layout-th.js"></script>
|
|
<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
|
|
<style>
|
|
.tests, .no-tests {
|
|
margin-bottom: 1em;
|
|
font-family: Ahem;
|
|
font-size: 10px;
|
|
line-height: 1;
|
|
}
|
|
.tests > div, .no-tests > div {
|
|
position: relative;
|
|
width: 10ch;
|
|
border: 1px solid blue;
|
|
}
|
|
.abs {
|
|
position: absolute;
|
|
color: orange;
|
|
}
|
|
</style>
|
|
<body>
|
|
<section class="tests">
|
|
<div>12345<span class="abs" data-offset-x="50" data-offset-y="0">span</span>54321</div>
|
|
<div>123456<span class="abs" data-offset-x="60" data-offset-y="0">span</span>654321</div>
|
|
<div>12345<span class="abs" data-offset-x="50" data-offset-y="0">span</span> 54321</div>
|
|
<div>12345 <span class="abs" data-offset-x="60" data-offset-y="0">span</span> 54321</div>
|
|
<div>12345 <span class="abs" data-offset-x="60" data-offset-y="0">span</span> 54321</div>
|
|
</section>
|
|
<section class="tests">
|
|
<!-- offsetTop is interoperable but offsetLeft is not due to white space collapsing. -->
|
|
<div>12345 <span class="abs" data-offset-y="0">span</span> 54321</div>
|
|
</section>
|
|
<section class="no-tests">
|
|
<!-- These tests are not interoperable. -->
|
|
<div>12345 <span class="abs">span</span>54321</div>
|
|
<div>12345 <span class="abs">span</span> 54321</div>
|
|
<div>123456789012 <span class="abs">span</span> 54321</div>
|
|
<div>123456789012 <span class="abs">span</span> 543210987654321</div>
|
|
</section>
|
|
<script>
|
|
document.fonts.ready.then(()=> {
|
|
checkLayout('.tests .abs');
|
|
});
|
|
</script>
|
|
</body>
|