Bug 1474402 - Disable TryUpdateTransformOnly when we have RDL enabled since it can cause sorting issues. r?mstange
MozReview-Commit-ID: GguBTl2zZXO
--- a/layout/generic/nsFrame.cpp
+++ b/layout/generic/nsFrame.cpp
@@ -7148,16 +7148,26 @@ DoesLayerOrAncestorsHaveOutOfDateFrameMe
}
}
return false;
}
bool
nsIFrame::TryUpdateTransformOnly(Layer** aLayerResult)
{
+ // If we move a transformed layer when we have a merged display
+ // list, then it can end up intersecting other items for which
+ // we don't have a defined ordering.
+ // We could allow this if the display list is in the canonical
+ // ordering (correctly sorted for all intersections), but we
+ // don't have a way to check that yet.
+ if (nsLayoutUtils::AreRetainedDisplayListsEnabled()) {
+ return false;
+ }
+
Layer* layer = FrameLayerBuilder::GetDedicatedLayer(
this, DisplayItemType::TYPE_TRANSFORM);
if (!layer || !layer->HasUserData(LayerIsPrerenderedDataKey())) {
// If this layer isn't prerendered or we clip composites to our OS
// window, then we can't correctly optimize to an empty
// transaction in general.
return false;
}