mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-11-10 05:08:36 +02:00
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
45 lines
960 B
HTML
45 lines
960 B
HTML
<!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>
|
|
|
|
|
|
|