fune/testing/web-platform/tests/css/css-overflow/overflow-hidden-resize-with-stacking-context-child.html
Xianzhu Wang 87310ee5f5 Bug 1687605 [wpt PR 27253] - Update cull rect before paint (behind runtime flag), a=testonly
Automatic update from web-platform-tests
Update cull rect before paint (behind runtime flag)

This is mainly for CompositeAfterPaint to fix the issue of always
repainting on scroll. By updating cull rect before paint, we know which
layer will change cull rect and needs repaint.

This will also simplify interest rect and cull rect calculation and
repaint on their change in pre-CompositeAfterPaint. It will unify
composited layer interest rect calculation and LayoutObject cull rect
calculation, and avoid whole subtree repaint on clip change.

For now the cull rects are used to set PaintLayer's NeedsRepaint flag
only. The next steps are to use the cull rects during painting and to
remove old cull rect calculation code.

Bug: 1046544
Change-Id: I433c7941ebd0a96bc1d75b79a3036511d857629a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2629653
Commit-Queue: Xianzhu Wang <wangxianzhu@chromium.org>
Reviewed-by: Philip Rogers <pdr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#846439}

--

wpt-commits: e85c4e9a3d83647ddd5f5a58c259048b305220c7
wpt-pr: 27253
2021-02-01 17:35:54 +00:00

42 lines
1.1 KiB
HTML

<!doctype html>
<html class="reftest-wait">
<title>overflow:hidden changes size with stacking context child</title>
<link rel="help" href="https://drafts.csswg.org/css-overflow/#valdef-overflow-hidden">
<link rel="help" href="https://www.w3.org/TR/CSS22/zindex.html">
<link rel="match" href="../reference/ref-filled-green-100px-square-only.html">
<script src="/common/rendering-utils.js"></script>
<script src="/common/reftest-wait.js"></script>
<style>
#container {
overflow: hidden;
width: 100px;
height: 20px;
}
#stacking-context {
position: relative;
background: red;
z-index: 100;
}
.content {
width: 100px;
height: 20px;
background: green;
}
</style>
<p>Test passes if there is a filled green square.</p>
<div id="container">
<div id="stacking-context">
<div class="content"></div>
<div class="content"></div>
<div class="content"></div>
<div class="content"></div>
<div class="content"></div>
</div>
</div>
<script>
waitForAtLeastOneFrame().then(() => {
container.style.height = '100px';
takeScreenshot();
});
</script>
</html>