зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1560862 [wpt PR 17373] - [LayoutNG] Fix NeedsLayout failure when CR/FF is dirty, a=testonly
Automatic update from web-platform-tests [LayoutNG] Fix NeedsLayout failure when CR/FF is dirty This patch fixes |ClearNeedsLayout| for CR (U+000D) and FF (U+000C). These were overlooked when |ClearNeedsLayout| was moved from |NGInlineItemsBuilder| to |NGLineBreaker| and |NGInlineLayoutAlgorithm|. Bug: 971811 Change-Id: Ie3d9d3d11e35a7ed3458bb8b96d2fa68bf9c37a9 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1663478 Reviewed-by: Xiaocheng Hu <xiaochengh@chromium.org> Commit-Queue: Koji Ishii <kojii@chromium.org> Cr-Commit-Position: refs/heads/master@{#670010} -- wpt-commits: 95372aa3ca35565b56fc6d9d5e0653a4fff8a6e8 wpt-pr: 17373
This commit is contained in:
Родитель
75fbf734bf
Коммит
6536ed3263
|
@ -0,0 +1,36 @@
|
|||
<!DOCTYPE html>
|
||||
<link rel="help" href="https://crbug.com/971811">
|
||||
<link rel="author" title="Koji Ishii" href="mailto:kojii@chromium.org">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<body>
|
||||
<div id="log"></div>
|
||||
<script>
|
||||
const strings = [' ', '\t', '\n', '\f', '\r'];
|
||||
const whitespace_values = ['normal', 'pre', 'nowrap', 'pre-wrap', 'break-spaces', 'pre-line'];
|
||||
const container = document.body;
|
||||
for (let whitespace_value of whitespace_values) {
|
||||
for (let string of strings) {
|
||||
test(() => {
|
||||
let div = document.createElement('div');
|
||||
div.style.whiteSpace = whitespace_value;
|
||||
div.textContent = 'test';
|
||||
container.appendChild(div);
|
||||
container.offsetTop; // Force layout
|
||||
div.appendChild(document.createTextNode(string));
|
||||
container.offsetTop; // Force layout
|
||||
}, `Append ${toCodePoints(string)} to 'white-space: ${whitespace_value}'`);
|
||||
}
|
||||
}
|
||||
|
||||
function toCodePoints(string) {
|
||||
let results = [];
|
||||
for (let ch of string) {
|
||||
let hex = ch.codePointAt(0).toString(16).toUpperCase();
|
||||
hex = ('000' + hex).substr(-4)
|
||||
results.push('U+' + hex);
|
||||
}
|
||||
return results.join(' ');
|
||||
}
|
||||
</script>
|
||||
</body>
|
Загрузка…
Ссылка в новой задаче