Bug 1018464 - Make ContainerState::FindOpaqueBackgroundColorFor look through holes in display items. r=roc
authorMarkus Stange <mstange@themasta.com>
Tue, 03 Jun 2014 14:50:42 +0200
changeset 186347 1a493647a6de621e969664835febcb646c5132b1
parent 186346 390488f3a0f27a9a5c87035669b11c7f66fce5fa
child 186348 26bafa7a6c1ec8feaafc84b455bedc0669e90a10
push id26889
push userryanvm@gmail.com
push dateTue, 03 Jun 2014 19:21:45 +0000
treeherdermozilla-central@298b39b50ff7 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersroc
bugs1018464
milestone32.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 1018464 - Make ContainerState::FindOpaqueBackgroundColorFor look through holes in display items. r=roc
layout/base/FrameLayerBuilder.cpp
--- a/layout/base/FrameLayerBuilder.cpp
+++ b/layout/base/FrameLayerBuilder.cpp
@@ -1669,16 +1669,20 @@ ContainerState::FindOpaqueBackgroundColo
         // aligned, so no need to round out and in here.
         if (!bounds.Intersects(appUnitRect))
           continue;
 
         if (!bounds.Contains(appUnitRect))
           break;
       }
 
+      if (item->IsInvisibleInRect(appUnitRect)) {
+        continue;
+      }
+
       nscolor color;
       if (item->IsUniform(mBuilder, &color) && NS_GET_A(color) == 255)
         return color;
 
       break;
     }
     break;
   }