mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 1008301 - Don't invalidate when the visible region of a layer changes. r=roc
This commit is contained in:
parent
0787643a71
commit
d0079de4a9
@ -166,13 +166,6 @@ struct LayerPropertiesBase : public LayerProperties
|
||||
}
|
||||
}
|
||||
|
||||
nsIntRegion visible;
|
||||
visible.Xor(mVisibleRegion, mLayer->GetVisibleRegion());
|
||||
if (!visible.IsEmpty()) {
|
||||
aGeometryChanged = true;
|
||||
}
|
||||
AddTransformedRegion(result, visible, mTransform);
|
||||
|
||||
AddRegion(result, ComputeChangeInternal(aCallback, aGeometryChanged));
|
||||
AddTransformedRegion(result, mLayer->GetInvalidRegion(), mTransform);
|
||||
|
||||
|
@ -0,0 +1,56 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en" class="reftest-wait">
|
||||
<meta charset="utf-8">
|
||||
<title>Scrolling the horizontal bar away shouldn't invalidate the green rectangle</title>
|
||||
|
||||
<style>
|
||||
|
||||
.wrapper {
|
||||
transform: translateY(1px);
|
||||
}
|
||||
|
||||
.content {
|
||||
box-sizing: border-box;
|
||||
border: 1px solid rgba(0, 0, 0, 0.2);
|
||||
}
|
||||
|
||||
.first {
|
||||
height: 20px;
|
||||
}
|
||||
|
||||
.second {
|
||||
margin-left: auto;
|
||||
width: 20px;
|
||||
height: 200px;
|
||||
}
|
||||
|
||||
.reftest-no-paint {
|
||||
margin: -150px 100px 0;
|
||||
height: 100px;
|
||||
border-color: lime;
|
||||
}
|
||||
|
||||
body {
|
||||
margin: 0;
|
||||
padding: 50px;
|
||||
height: 3000px;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
<div class="wrapper">
|
||||
<div class="first content"></div>
|
||||
<div class="second content"></div>
|
||||
</div>
|
||||
|
||||
<div class="reftest-no-paint content"></div>
|
||||
|
||||
<script>
|
||||
|
||||
function doTest() {
|
||||
document.documentElement.scrollTop = 100;
|
||||
document.documentElement.removeAttribute("class");
|
||||
}
|
||||
document.addEventListener("MozReftestInvalidate", doTest, false);
|
||||
|
||||
</script>
|
@ -0,0 +1,58 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en" class="reftest-wait">
|
||||
<meta charset="utf-8">
|
||||
<title>Scrolling the horizontal bar away shouldn't invalidate the green rectangle</title>
|
||||
|
||||
<style>
|
||||
|
||||
.wrapper {
|
||||
transform: translateY(1px);
|
||||
}
|
||||
|
||||
.content {
|
||||
box-sizing: border-box;
|
||||
border: 1px solid rgba(0, 0, 0, 0.2);
|
||||
}
|
||||
|
||||
.first {
|
||||
height: 20px;
|
||||
}
|
||||
|
||||
.second {
|
||||
margin-left: auto;
|
||||
width: 20px;
|
||||
height: 200px;
|
||||
}
|
||||
|
||||
.reftest-no-paint {
|
||||
margin: -150px 100px 0;
|
||||
height: 100px;
|
||||
border-color: lime;
|
||||
}
|
||||
|
||||
body {
|
||||
margin: 0;
|
||||
padding: 50px;
|
||||
height: 3000px;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
<div class="wrapper">
|
||||
<div class="wrapper">
|
||||
<div class="first content"></div>
|
||||
<div class="second content"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="reftest-no-paint content"></div>
|
||||
|
||||
<script>
|
||||
|
||||
function doTest() {
|
||||
document.documentElement.scrollTop = 100;
|
||||
document.documentElement.removeAttribute("class");
|
||||
}
|
||||
document.addEventListener("MozReftestInvalidate", doTest, false);
|
||||
|
||||
</script>
|
@ -40,3 +40,5 @@ pref(layout.animated-image-layers.enabled,true) == test-animated-image-layers-ba
|
||||
== filter-userspace-offset.svg?offsetContainer=rect&filter=matrix-fillPaint-userSpace-at100 filter-userspace-offset.svg
|
||||
== scroll-inactive-layers.html scroll-inactive-layers.html
|
||||
== scroll-inactive-layers-2.html scroll-inactive-layers-2.html
|
||||
!= inactive-layertree-visible-region-1.html about:blank
|
||||
!= inactive-layertree-visible-region-2.html about:blank
|
||||
|
Loading…
Reference in New Issue
Block a user