зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1539515 [wpt PR 16065] - Fix the lack of damage tracking for root layer position changes in BGPT., a=testonly
Automatic update from web-platform-tests Fix the lack of damage tracking for root layer position changes in BGPT. Previous to this CL, if the position of a layer changed, and that layer was the root layer targeting a render surface, the old location of the surface was not damaged in the *parent* render surface. With BGPT disabled, this was masked by transform_changed being set at [1], which triggered the conditional at [2] and caused the old location to be damaged. With BGPT enabled, transform_changed is never set. The new logic here detects LayerPropertyChangedNotFromPropertyTrees() for a root layer, and triggers the conditional at [2]. [1] https://cs.chromium.org/chromium/src/cc/layers/layer.cc?rcl=4b6a562c7bde8700fe66eda5d3f65b3e48750ef2&l=758 [2] https://cs.chromium.org/chromium/src/cc/trees/damage_tracker.cc?rcl=8c9c36220d67ee9ea6a4d830b7020cceb52e5aeb&l=449 Bug: 939282 Change-Id: I946c1d85baf7096ef6199efc811cafe55798d930 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1533176 Commit-Queue: Mason Freed <masonfreed@chromium.org> Commit-Queue: enne <enne@chromium.org> Reviewed-by: enne <enne@chromium.org> Reviewed-by: Chris Harrelson <chrishtr@chromium.org> Auto-Submit: Mason Freed <masonfreed@chromium.org> Cr-Commit-Position: refs/heads/master@{#644099} -- wpt-commits: 8e207ff305b5c7daad5b930a450f7ac053b1171a wpt-pr: 16065
This commit is contained in:
Родитель
b6d472c07e
Коммит
843c9f7387
|
@ -0,0 +1,18 @@
|
|||
<!DOCTYPE html>
|
||||
|
||||
<meta charset="utf-8">
|
||||
<title>Setting composited layer position paints properly</title>
|
||||
<link rel="author" title="Mason Freed" href="masonfreed@chromium.org">
|
||||
|
||||
|
||||
|
||||
<div id="box"></div>
|
||||
<style>
|
||||
div {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 200px;
|
||||
height: 200px;
|
||||
background: green;
|
||||
}
|
|
@ -0,0 +1,45 @@
|
|||
<!DOCTYPE html>
|
||||
<html class="reftest-wait">
|
||||
<meta charset="utf-8">
|
||||
<title>Setting composited layer position paints properly</title>
|
||||
<link rel="author" title="Mason Freed" href="masonfreed@chromium.org">
|
||||
<link rel="help" href="https://drafts.csswg.org/cssom-view-1/">
|
||||
<link rel="match" href="set-composited-layer-position-ref.html">
|
||||
|
||||
<div id="box"></div>
|
||||
<div id="tomove"></div>
|
||||
<style>
|
||||
div {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
will-change: transform;
|
||||
width: 200px;
|
||||
height: 200px;
|
||||
}
|
||||
#box {
|
||||
background: red;
|
||||
}
|
||||
#tomove {
|
||||
background: green;
|
||||
top: 200px;
|
||||
left: 200px;
|
||||
filter: invert(0);
|
||||
}
|
||||
</style>
|
||||
<script>
|
||||
window.onload = function() {
|
||||
requestAnimationFrame(function() {
|
||||
requestAnimationFrame(function() {
|
||||
tomove = document.getElementById("tomove");
|
||||
tomove.style.top = 0;
|
||||
tomove.style.left = 0;
|
||||
document.documentElement.classList.remove("reftest-wait");
|
||||
});
|
||||
});
|
||||
}
|
||||
</script>
|
||||
</html>
|
||||
|
||||
|
||||
|
Загрузка…
Ссылка в новой задаче