Bug 1278136 - Part 0: Clean up frame->StyleDisplay()->BackfaceIsHidden() usage. r?mattwoodrow
We already have a wrapper named nsIFrame::BackfaceIsHidden().
MozReview-Commit-ID: 5L49W6wtXs1
--- a/dom/animation/KeyframeEffect.cpp
+++ b/dom/animation/KeyframeEffect.cpp
@@ -1400,17 +1400,17 @@ KeyframeEffectReadOnly::CanAnimateTransf
aFrame->StyleDisplay()->mTransformStyle == NS_STYLE_TRANSFORM_STYLE_PRESERVE_3D) {
aPerformanceWarning = AnimationPerformanceWarning::Type::TransformPreserve3D;
return false;
}
// Note that testing BackfaceIsHidden() is not a sufficient test for
// what we need for animating backface-visibility correctly if we
// remove the above test for Extend3DContext(); that would require
// looking at backface-visibility on descendants as well. See bug 1186204.
- if (aFrame->StyleDisplay()->BackfaceIsHidden()) {
+ if (aFrame->BackfaceIsHidden()) {
aPerformanceWarning =
AnimationPerformanceWarning::Type::TransformBackfaceVisibilityHidden;
return false;
}
// Async 'transform' animations of aFrames with SVG transforms is not
// supported. See bug 779599.
if (aFrame->IsSVGTransformed()) {
aPerformanceWarning = AnimationPerformanceWarning::Type::TransformSVG;
--- a/layout/base/nsDisplayList.cpp
+++ b/layout/base/nsDisplayList.cpp
@@ -5477,17 +5477,17 @@ nsDisplayTransform::nsDisplayTransform(n
*/
/* static */ Point3D
nsDisplayTransform::GetDeltaToTransformOrigin(const nsIFrame* aFrame,
float aAppUnitsPerPixel,
const nsRect* aBoundsOverride)
{
NS_PRECONDITION(aFrame, "Can't get delta for a null frame!");
NS_PRECONDITION(aFrame->IsTransformed() ||
- aFrame->StyleDisplay()->BackfaceIsHidden() ||
+ aFrame->BackfaceIsHidden() ||
aFrame->Combines3DTransformWithAncestors(),
"Shouldn't get a delta for an untransformed frame!");
if (!aFrame->IsTransformed()) {
return Point3D();
}
/* For both of the coordinates, if the value of transform is a
@@ -5550,17 +5550,17 @@ nsDisplayTransform::GetDeltaToTransformO
/* static */ bool
nsDisplayTransform::ComputePerspectiveMatrix(const nsIFrame* aFrame,
float aAppUnitsPerPixel,
Matrix4x4& aOutMatrix)
{
NS_PRECONDITION(aFrame, "Can't get delta for a null frame!");
NS_PRECONDITION(aFrame->IsTransformed() ||
- aFrame->StyleDisplay()->BackfaceIsHidden() ||
+ aFrame->BackfaceIsHidden() ||
aFrame->Combines3DTransformWithAncestors(),
"Shouldn't get a delta for an untransformed frame!");
NS_PRECONDITION(aOutMatrix.IsIdentity(), "Must have a blank output matrix");
if (!aFrame->IsTransformed()) {
return false;
}
@@ -5884,18 +5884,17 @@ nsDisplayTransform::ShouldPrerenderTrans
}
/* If the matrix is singular, or a hidden backface is shown, the frame won't be visible or hit. */
static bool IsFrameVisible(nsIFrame* aFrame, const Matrix4x4& aMatrix)
{
if (aMatrix.IsSingular()) {
return false;
}
- if (aFrame->StyleDisplay()->mBackfaceVisibility == NS_STYLE_BACKFACE_VISIBILITY_HIDDEN &&
- aMatrix.IsBackfaceVisible()) {
+ if (aFrame->BackfaceIsHidden() && aMatrix.IsBackfaceVisible()) {
return false;
}
return true;
}
const Matrix4x4&
nsDisplayTransform::GetTransform()
{
--- a/layout/base/nsDisplayList.h
+++ b/layout/base/nsDisplayList.h
@@ -1849,17 +1849,17 @@ public:
SetClip(aBuilder, aClip);
}
}
void SetScrollClip(const DisplayItemScrollClip* aScrollClip) { mScrollClip = aScrollClip; }
const DisplayItemScrollClip* ScrollClip() const { return mScrollClip; }
bool BackfaceIsHidden() {
- return mFrame->StyleDisplay()->BackfaceIsHidden();
+ return mFrame->BackfaceIsHidden();
}
protected:
friend class nsDisplayList;
nsDisplayItem() { mAbove = nullptr; }
nsIFrame* mFrame;
--- a/layout/generic/nsFrame.cpp
+++ b/layout/generic/nsFrame.cpp
@@ -1201,23 +1201,23 @@ nsIFrame::Extend3DContext() const
}
bool
nsIFrame::Combines3DTransformWithAncestors() const
{
if (!GetParent() || !GetParent()->Extend3DContext()) {
return false;
}
- return StyleDisplay()->HasTransform(this) || StyleDisplay()->BackfaceIsHidden();
+ return StyleDisplay()->HasTransform(this) || BackfaceIsHidden();
}
bool
nsIFrame::In3DContextAndBackfaceIsHidden() const
{
- return Combines3DTransformWithAncestors() && StyleDisplay()->BackfaceIsHidden();
+ return Combines3DTransformWithAncestors() && BackfaceIsHidden();
}
bool
nsIFrame::HasPerspective() const
{
if (!IsTransformed()) {
return false;
}
--- a/layout/generic/nsIFrame.h
+++ b/layout/generic/nsIFrame.h
@@ -3255,17 +3255,17 @@ public:
/**
* Returns the content node within the anonymous content that this frame
* generated and which corresponds to the specified pseudo-element type,
* or nullptr if there is no such anonymous content.
*/
virtual mozilla::dom::Element*
GetPseudoElement(mozilla::CSSPseudoElementType aType);
- bool BackfaceIsHidden() {
+ bool BackfaceIsHidden() const {
return StyleDisplay()->BackfaceIsHidden();
}
/**
* Returns true if the frame is scrolled out of view.
*/
bool IsScrolledOutOfView();