Backed out changeset f5a5f7463224 (bug 1119117)
authorMs2ger <ms2ger@gmail.com>
Sat, 10 Jan 2015 20:23:06 +0100
changeset 248967 b55daf871dd244abd3b173815a19207378670566
parent 248966 c213d9d53886ebc66b681fb5767cf4a267ad3056
child 248968 29229def6b2e26f1e7d10016f6abe14e1182d9cb
push id4489
push userraliiev@mozilla.com
push dateMon, 23 Feb 2015 15:17:55 +0000
treeherdermozilla-beta@fd7c3dc24146 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
bugs1119117
milestone37.0a1
backs outf5a5f74632247cbd336a486955a0c6aa1e141d89
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
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