Backed out changeset f5a5f7463224 (bug 1119117)
authorMs2ger <ms2ger@gmail.com>
Sat, 10 Jan 2015 20:23:06 +0100
changeset 223199 b55daf871dd244abd3b173815a19207378670566
parent 223198 c213d9d53886ebc66b681fb5767cf4a267ad3056
child 223200 29229def6b2e26f1e7d10016f6abe14e1182d9cb
push id10769
push usercbook@mozilla.com
push dateMon, 12 Jan 2015 14:15:52 +0000
treeherderfx-team@0e9765732906 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
bugs1119117
milestone37.0a1
backs outf5a5f74632247cbd336a486955a0c6aa1e141d89
Backed out changeset f5a5f7463224 (bug 1119117)
layout/generic/nsFrame.cpp
layout/reftests/bugs/1119117-1-ref.html
layout/reftests/bugs/1119117-1a.html
layout/reftests/bugs/1119117-1b.html
layout/reftests/bugs/reftest.list
--- a/layout/generic/nsFrame.cpp
+++ b/layout/generic/nsFrame.cpp
@@ -2015,17 +2015,17 @@ nsIFrame::BuildDisplayListForStackingCon
 
   mozilla::gfx::VRHMDInfo* vrHMDInfo = nullptr;
   if ((GetStateBits() & NS_FRAME_HAS_VR_CONTENT)) {
     vrHMDInfo = static_cast<mozilla::gfx::VRHMDInfo*>(mContent->GetProperty(nsGkAtoms::vr_state));
   }
 
   DisplayListClipState::AutoSaveRestore clipState(aBuilder);
 
-  if (isTransformed || useBlendMode || usingSVGEffects || useStickyPosition) {
+  if (isTransformed || useOpacity || useBlendMode || usingSVGEffects || useStickyPosition) {
     // We don't need to pass ancestor clipping down to our children;
     // everything goes inside a display item's child list, and the display
     // item itself will be clipped.
     // For transforms we also need to clear ancestor clipping because it's
     // relative to the wrong display item reference frame anyway.
     clipState.Clear();
   }
 
@@ -2131,21 +2131,16 @@ nsIFrame::BuildDisplayListForStackingCon
     /* List now emptied, so add the new list to the top. */
     resultList.AppendNewToTop(
         new (aBuilder) nsDisplaySVGEffects(aBuilder, this, &resultList));
   }
   /* Else, if the list is non-empty and there is CSS group opacity without SVG
    * effects, wrap it up in an opacity item.
    */
   else if (useOpacity && !resultList.IsEmpty()) {
-    // Don't clip nsDisplayOpacity items. We clip their descendants instead.
-    // The clip we would set on an element with opacity would clip
-    // all descendant content, but some should not be clipped.
-    DisplayListClipState::AutoSaveRestore opacityClipState(aBuilder);
-    opacityClipState.Clear();
     resultList.AppendNewToTop(
         new (aBuilder) nsDisplayOpacity(aBuilder, this, &resultList));
   }
   /* If we have sticky positioning, wrap it in a sticky position item.
    */
   if (useStickyPosition) {
     resultList.AppendNewToTop(
         new (aBuilder) nsDisplayStickyPosition(aBuilder, this, &resultList));
deleted file mode 100644
--- a/layout/reftests/bugs/1119117-1-ref.html
+++ /dev/null
@@ -1,19 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<head>
-<style>
-#image {
-  position:fixed;
-  opacity:0.5;
-  left:0;
-  top:0;
-  width:100%;
-  height:100%;
-  background:blue;
-}
-</style>
-</head>
-<body>
-  <div id="image"></div>
-</body>
-</html>
deleted file mode 100644
--- a/layout/reftests/bugs/1119117-1a.html
+++ /dev/null
@@ -1,29 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<head>
-<style>
-#d1 {
-  overflow:hidden;
-  height:0;
-}
-#d2 {
-  opacity:0.5;
-}
-#d3 {
-  position:absolute;
-  left:0;
-  top:0;
-  width:100%;
-  height:100%;
-  background:blue;
-}
-</style>
-</head>
-<body>
-<div id="d1">
-  <div id="d2">
-    <div id="d3"></div>
-  </div>
-</div>
-</body>
-</html>
deleted file mode 100644
--- a/layout/reftests/bugs/1119117-1b.html
+++ /dev/null
@@ -1,30 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<head>
-<style>
-#d1 {
-  overflow:hidden;
-  height:0;
-}
-#d2 {
-  opacity:0.5;
-}
-#image {
-  position:fixed;
-  left:0;
-  top:0;
-  width:100%;
-  height:100%;
-  background:blue;
-}
-</style>
-</head>
-<body>
-  <div id="d1">
-    <div id="d2" class="active">
-      <div id="image"></div>
-      <h2>ABCDEFG</h2>
-    </div>
-  </div>
-</body>
-</html>
--- a/layout/reftests/bugs/reftest.list
+++ b/layout/reftests/bugs/reftest.list
@@ -1849,10 +1849,8 @@ test-pref(dom.webcomponents.enabled,true
 == 1078262-1.html about:blank
 test-pref(layout.testing.overlay-scrollbars.always-visible,false) == 1081072-1.html 1081072-1-ref.html
 fuzzy-if(winWidget&&!layersGPUAccelerated,1,31) fuzzy-if(B2G,128,75) == 1081185-1.html 1081185-1-ref.html   # fuzzy with event-regions, see bug 1107843
 == 1097437-1.html 1097437-1-ref.html
 == 1103258-1.html 1103258-1-ref.html # assertion crash test with layers culling test
 == 1105137-1.html 1105137-1-ref.html
 fuzzy-if(d2d,36,304) HTTP(..) == 1116480-1-fakeitalic-overflow.html 1116480-1-fakeitalic-overflow-ref.html
 == 1111753-1.html about:blank
-== 1119117-1a.html 1119117-1-ref.html
-== 1119117-1b.html 1119117-1-ref.html