Backed out changeset 89a5b5c8ce17 (bug 1179288) to give more time to fix regressions on trunk a=backout
authorWes Kocher <wkocher@mozilla.com>
Tue, 22 Sep 2015 16:54:47 -0700
changeset 296121 2c8e89fa771942e042a31c7224304f1c40cfa6c1
parent 296120 04b17a8de4ed2056b9273d5a1b9873802d043bd2
child 296122 aad7aaaa4476d87f8e9908edf7313f36959c5bfc
push id5245
push userraliiev@mozilla.com
push dateThu, 29 Oct 2015 11:30:51 +0000
treeherdermozilla-beta@dac831dc1bd0 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersbackout
bugs1179288
milestone43.0a2
backs out89a5b5c8ce17eaefdea8178171567ee309bbf447
Backed out changeset 89a5b5c8ce17 (bug 1179288) to give more time to fix regressions on trunk a=backout
layout/generic/nsFrame.cpp
layout/reftests/bugs/1179288-1-ref.html
layout/reftests/bugs/1179288-1.html
layout/reftests/bugs/reftest.list
layout/style/nsCSSPropList.h
layout/style/nsStyleStruct.h
--- a/layout/generic/nsFrame.cpp
+++ b/layout/generic/nsFrame.cpp
@@ -2412,17 +2412,17 @@ nsIFrame::BuildDisplayListForChild(nsDis
     // but the spec says it acts like the rest of these
     || disp->mChildPerspective.GetUnit() == eStyleUnit_Coord
     || disp->mMixBlendMode != NS_STYLE_BLEND_NORMAL
     || nsSVGIntegrationUtils::UsingEffectsForFrame(child)
     || (child->GetStateBits() & NS_FRAME_HAS_VR_CONTENT);
 
   bool isPositioned = disp->IsAbsPosContainingBlock(child);
   bool isStackingContext =
-    (isPositioned && (disp->IsPositionForcingStackingContext() ||
+    (isPositioned && (disp->mPosition == NS_STYLE_POSITION_STICKY ||
                       pos->mZIndex.GetUnit() == eStyleUnit_Integer)) ||
      (disp->mWillChangeBitField & NS_STYLE_WILL_CHANGE_STACKING_CONTEXT) ||
      disp->mIsolation != NS_STYLE_ISOLATION_AUTO ||
      isVisuallyAtomic || (aFlags & DISPLAY_CHILD_FORCE_STACKING_CONTEXT);
 
   if (isVisuallyAtomic || isPositioned || (!isSVG && disp->IsFloating(child)) ||
       ((disp->mClipFlags & NS_STYLE_CLIP_RECT) &&
        IsSVGContentWithCSSClip(child)) ||
deleted file mode 100644
--- a/layout/reftests/bugs/1179288-1-ref.html
+++ /dev/null
@@ -1,3 +0,0 @@
-<!DOCTYPE HTML>
-<body>
-<div style="position:absolute; left:0; top:0; width:100px; height:100px; background:lime"></div>
deleted file mode 100644
--- a/layout/reftests/bugs/1179288-1.html
+++ /dev/null
@@ -1,6 +0,0 @@
-<!DOCTYPE HTML>
-<body>
-<div style="position:fixed; left:0; top:0">
-  <div style="position:absolute; z-index:2; left:0; top:0; width:100px; height:100px; background:red"></div>
-</div>
-<div style="position:absolute; z-index:1; left:0; top:0; width:100px; height:100px; background:lime"></div>
--- a/layout/reftests/bugs/reftest.list
+++ b/layout/reftests/bugs/reftest.list
@@ -1924,14 +1924,13 @@ skip-if(!B2G) fuzzy-if(B2G,102,577) == 1
 skip-if(!B2G) fuzzy-if(B2G,102,877) == 1133905-6-vh-rtl.html 1133905-ref-vh-rtl.html
 skip-if(B2G||Mulet) == 1150021-1.xul 1150021-1-ref.xul
 == 1151145-1.html 1151145-1-ref.html
 == 1151306-1.html 1151306-1-ref.html
 == 1153845-1.html 1153845-1-ref.html
 == 1155828-1.html 1155828-1-ref.html
 == 1156129-1.html 1156129-1-ref.html
 == 1169331-1.html 1169331-1-ref.html
+== 1179078-1.html 1179078-1-ref.html
 fuzzy(1,74) fuzzy-if(gtkWidget,6,79) == 1174332-1.html 1174332-1-ref.html
-== 1179078-1.html 1179078-1-ref.html
-== 1179288-1.html 1179288-1-ref.html
 == 1190635-1.html 1190635-1-ref.html
 == 1202512-1.html 1202512-1-ref.html
 == 1202512-2.html 1202512-2-ref.html
--- a/layout/style/nsCSSPropList.h
+++ b/layout/style/nsCSSPropList.h
@@ -2995,17 +2995,17 @@ CSS_PROP_VISIBILITY(
     kPointerEventsKTable,
     offsetof(nsStyleVisibility, mPointerEvents),
     eStyleAnimType_EnumU8)
 CSS_PROP_DISPLAY(
     position,
     position,
     Position,
     CSS_PROPERTY_PARSE_VALUE |
-        // For position: sticky/fixed
+        // For position: sticky
         CSS_PROPERTY_CREATES_STACKING_CONTEXT,
     "",
     VARIANT_HK,
     kPositionKTable,
     CSS_PROP_NO_OFFSET,
     eStyleAnimType_None)
 CSS_PROP_QUOTES(
     quotes,
--- a/layout/style/nsStyleStruct.h
+++ b/layout/style/nsStyleStruct.h
@@ -2232,20 +2232,16 @@ struct nsStyleDisplay {
     return NS_STYLE_POSITION_ABSOLUTE == mPosition ||
            NS_STYLE_POSITION_FIXED == mPosition;
   }
 
   bool IsRelativelyPositionedStyle() const {
     return NS_STYLE_POSITION_RELATIVE == mPosition ||
            NS_STYLE_POSITION_STICKY == mPosition;
   }
-  bool IsPositionForcingStackingContext() const {
-    return NS_STYLE_POSITION_STICKY == mPosition ||
-           NS_STYLE_POSITION_FIXED == mPosition;
-  }
 
   static bool IsRubyDisplayType(uint8_t aDisplay) {
     return NS_STYLE_DISPLAY_RUBY == aDisplay ||
            NS_STYLE_DISPLAY_RUBY_BASE == aDisplay ||
            NS_STYLE_DISPLAY_RUBY_BASE_CONTAINER == aDisplay ||
            NS_STYLE_DISPLAY_RUBY_TEXT == aDisplay ||
            NS_STYLE_DISPLAY_RUBY_TEXT_CONTAINER == aDisplay;
   }