зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1650620 [wpt PR 24444] - [FragmentItem] Fix DirtyLinesFromNeedsLayout, a=testonly
Automatic update from web-platform-tests [FragmentItem] Fix DirtyLinesFromNeedsLayout This patch fixes a case where |DirtyLinesFromNeedsLayout| fails to mark items dirty for reusing cached lines. When searching for |LayoutObject| needing layout, checking |NormalChildNeedsLayout| and |PosChildNeedsLayout| were not enough. In some specific cases, only |NeedsSimplifiedNormalFlowLayout| was set for the parent inline box. This patch changes the condition to check descendants to |NeedsLayout|. Bug: 1101883 Change-Id: Ia73ace058c9ea1ebaaffdaff793b56d68099cd5c Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2281781 Reviewed-by: Yoshifumi Inoue <yosin@chromium.org> Reviewed-by: Kent Tamura <tkent@chromium.org> Commit-Queue: Koji Ishii <kojii@chromium.org> Cr-Commit-Position: refs/heads/master@{#785287} -- wpt-commits: aef9da08fe2fa0b9fa473e2e126cb3cf29fae43e wpt-pr: 24444
This commit is contained in:
Родитель
192514a7c9
Коммит
211e40a866
|
@ -0,0 +1,36 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<title>Chaning positioned objects in inline-block should not crash</title>
|
||||||
|
<link rel="author" href="mailto:kojii@chromium.org">
|
||||||
|
<link rel="help" href="https://crbug.com/1102128">
|
||||||
|
<style>
|
||||||
|
#container {
|
||||||
|
width: 5ch;
|
||||||
|
}
|
||||||
|
#inline-block {
|
||||||
|
display: inline-block;
|
||||||
|
position: relative;
|
||||||
|
width: 3ch;
|
||||||
|
}
|
||||||
|
#abs {
|
||||||
|
position: absolute;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<script src="/resources/testharness.js"></script>
|
||||||
|
<script src="/resources/testharnessreport.js"></script>
|
||||||
|
<body>
|
||||||
|
<div id="container">
|
||||||
|
<span>
|
||||||
|
<span id="inline-block">
|
||||||
|
<span id="abs"></span>
|
||||||
|
</span>
|
||||||
|
</span>
|
||||||
|
1234
|
||||||
|
</div>
|
||||||
|
<script>
|
||||||
|
test(() => {
|
||||||
|
document.body.offsetTop;
|
||||||
|
abs.style.top = '10px';
|
||||||
|
document.body.offsetTop;
|
||||||
|
}, 'No crash');
|
||||||
|
</script>
|
||||||
|
</body>
|
Загрузка…
Ссылка в новой задаче