Bug 1022612. Part 12: Propagate NeedsTransparentSurface in ProcessDisplayItems. r=mattwoodrow
authorRobert O'Callahan <robert@ocallahan.org>
Mon, 09 Jun 2014 16:48:00 +1200
changeset 217057 bb02e31b35a988f1feec2fcd97af4ea8d34c8876
parent 217056 a0e6a1d488a8d29e270de6f06d8f2191b0b673cd
child 217058 d674b220a1807a090181e1dc8b3c35565dd2ed18
push id515
push userraliiev@mozilla.com
push dateMon, 06 Oct 2014 12:51:51 +0000
treeherdermozilla-release@267c7a481bef [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersmattwoodrow
bugs1022612
milestone33.0a1
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
Bug 1022612. Part 12: Propagate NeedsTransparentSurface in ProcessDisplayItems. r=mattwoodrow
layout/base/FrameLayerBuilder.cpp
--- a/layout/base/FrameLayerBuilder.cpp
+++ b/layout/base/FrameLayerBuilder.cpp
@@ -2737,16 +2737,21 @@ ContainerState::ProcessDisplayItems(nsDi
       }
     }
     if (accumulateIntoThebesLayerData) {
       nsIntRegion opaquePixels =
           ScaleRegionToInsidePixels(opaqueClipped, snapOpaque);
       accumulateIntoThebesLayerData->Accumulate(this, item,
           opaquePixels, itemVisibleRect, itemDrawRect, itemClip);
     }
+
+    if (itemSameCoordinateSystemChildren &&
+        itemSameCoordinateSystemChildren->NeedsTransparentSurface()) {
+      aList->SetNeedsTransparentSurface();
+    }
   }
 
   aList->AppendToTop(&savedItems);
 }
 
 void
 ContainerState::InvalidateForLayerChange(nsDisplayItem* aItem,
                                          Layer* aNewLayer,