mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Backed out 4 changesets (bug 1008301) for possibly breaking OSX 10.8 reftests on a CLOSED TREE
Backed out changeset 6a9b7a423db8 (bug 1008301) Backed out changeset bd16c8833501 (bug 1008301) Backed out changeset d1fab05aa5f5 (bug 1008301) Backed out changeset 16ddb5b9eb6d (bug 1008301)
This commit is contained in:
parent
f962b10f7f
commit
8ecfe82479
@ -108,8 +108,6 @@ struct LayerPropertiesBase : public LayerProperties
|
||||
, mMaskLayer(nullptr)
|
||||
, mVisibleRegion(aLayer->GetVisibleRegion())
|
||||
, mInvalidRegion(aLayer->GetInvalidRegion())
|
||||
, mPostXScale(aLayer->GetPostXScale())
|
||||
, mPostYScale(aLayer->GetPostYScale())
|
||||
, mOpacity(aLayer->GetLocalOpacity())
|
||||
, mUseClipRect(!!aLayer->GetClipRect())
|
||||
{
|
||||
@ -144,9 +142,7 @@ struct LayerPropertiesBase : public LayerProperties
|
||||
{
|
||||
gfx3DMatrix transform;
|
||||
gfx::To3DMatrix(mLayer->GetTransform(), transform);
|
||||
bool transformChanged = !mTransform.FuzzyEqual(transform) ||
|
||||
mLayer->GetPostXScale() != mPostXScale ||
|
||||
mLayer->GetPostYScale() != mPostYScale;
|
||||
bool transformChanged = !mTransform.FuzzyEqual(transform);
|
||||
Layer* otherMask = mLayer->GetMaskLayer();
|
||||
const nsIntRect* otherClip = mLayer->GetClipRect();
|
||||
nsIntRegion result;
|
||||
@ -170,6 +166,13 @@ 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);
|
||||
|
||||
@ -213,8 +216,6 @@ struct LayerPropertiesBase : public LayerProperties
|
||||
nsIntRegion mVisibleRegion;
|
||||
nsIntRegion mInvalidRegion;
|
||||
gfx3DMatrix mTransform;
|
||||
float mPostXScale;
|
||||
float mPostYScale;
|
||||
float mOpacity;
|
||||
nsIntRect mClipRect;
|
||||
bool mUseClipRect;
|
||||
@ -224,8 +225,6 @@ struct ContainerLayerProperties : public LayerPropertiesBase
|
||||
{
|
||||
ContainerLayerProperties(ContainerLayer* aLayer)
|
||||
: LayerPropertiesBase(aLayer)
|
||||
, mPreXScale(aLayer->GetPreXScale())
|
||||
, mPreYScale(aLayer->GetPreYScale())
|
||||
{
|
||||
for (Layer* child = aLayer->GetFirstChild(); child; child = child->GetNextSibling()) {
|
||||
mChildren.AppendElement(CloneLayerTreePropertiesInternal(child));
|
||||
@ -238,21 +237,6 @@ struct ContainerLayerProperties : public LayerPropertiesBase
|
||||
ContainerLayer* container = mLayer->AsContainerLayer();
|
||||
nsIntRegion result;
|
||||
|
||||
if (mPreXScale != container->GetPreXScale() ||
|
||||
mPreYScale != container->GetPreYScale()) {
|
||||
aGeometryChanged = true;
|
||||
result = OldTransformedBounds();
|
||||
AddRegion(result, NewTransformedBounds());
|
||||
|
||||
// If we don't have to generate invalidations separately for child
|
||||
// layers then we can just stop here since we've already invalidated the entire
|
||||
// old and new bounds.
|
||||
if (!aCallback) {
|
||||
ClearInvalidations(mLayer);
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
// A low frame rate is especially visible to users when scrolling, so we
|
||||
// particularly want to avoid unnecessary invalidation at that time. For us
|
||||
// here, that means avoiding unnecessary invalidation of child items when
|
||||
@ -328,8 +312,6 @@ struct ContainerLayerProperties : public LayerPropertiesBase
|
||||
|
||||
// The old list of children:
|
||||
nsAutoTArray<nsAutoPtr<LayerPropertiesBase>,1> mChildren;
|
||||
float mPreXScale;
|
||||
float mPreYScale;
|
||||
};
|
||||
|
||||
struct ColorLayerProperties : public LayerPropertiesBase
|
||||
|
@ -275,15 +275,13 @@ DisplayItemClip::RemoveRoundedCorners()
|
||||
mRoundedClipRects.Clear();
|
||||
}
|
||||
|
||||
// Computes the difference between aR1 and aR2, limited to aBounds.
|
||||
static void
|
||||
AccumulateRectDifference(const nsRect& aR1, const nsRect& aR2, const nsRect& aBounds, nsRegion* aOut)
|
||||
AccumulateRectDifference(const nsRect& aR1, const nsRect& aR2, nsRegion* aOut)
|
||||
{
|
||||
if (aR1.IsEqualInterior(aR2))
|
||||
return;
|
||||
nsRegion r;
|
||||
r.Xor(aR1, aR2);
|
||||
r.And(r, aBounds);
|
||||
aOut->Or(*aOut, r);
|
||||
}
|
||||
|
||||
@ -301,8 +299,8 @@ DisplayItemClip::AddOffsetAndComputeDifference(const nsPoint& aOffset,
|
||||
return;
|
||||
}
|
||||
if (mHaveClipRect) {
|
||||
AccumulateRectDifference(mClipRect + aOffset, aOther.mClipRect,
|
||||
aBounds.Union(aOtherBounds),
|
||||
AccumulateRectDifference((mClipRect + aOffset).Intersect(aBounds),
|
||||
aOther.mClipRect.Intersect(aOtherBounds),
|
||||
aDifference);
|
||||
}
|
||||
for (uint32_t i = 0; i < mRoundedClipRects.Length(); ++i) {
|
||||
|
@ -1472,11 +1472,6 @@ ContainerState::CreateOrRecycleThebesLayer(const nsIFrame* aAnimatedGeometryRoot
|
||||
if (!FuzzyEqual(data->mXScale, mParameters.mXScale, 0.00001f) ||
|
||||
!FuzzyEqual(data->mYScale, mParameters.mYScale, 0.00001f) ||
|
||||
data->mAppUnitsPerDevPixel != mAppUnitsPerDevPixel) {
|
||||
#ifdef MOZ_DUMP_PAINTING
|
||||
if (nsLayoutUtils::InvalidationDebuggingIsEnabled()) {
|
||||
printf_stderr("Recycled layer %p changed scale\n", layer.get());
|
||||
}
|
||||
#endif
|
||||
InvalidateEntireThebesLayer(layer, aAnimatedGeometryRoot);
|
||||
#ifndef MOZ_ANDROID_OMTC
|
||||
didResetScrollPositionForLayerPixelAlignment = true;
|
||||
|
@ -1,56 +0,0 @@
|
||||
<!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>
|
@ -1,58 +0,0 @@
|
||||
<!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,5 +40,3 @@ 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