Bug 1241060 - Skip non-2d sibling layers when calculating plugin window clipping under e10s. r=mstange, a=ritu
authorJim Mathies <jmathies@mozilla.com>
Mon, 21 Mar 2016 09:52:21 -0500
changeset 323849 cb410b27405ecb87d763e26eb43a9eeee42eb1ae
parent 323848 0aae99c5315c51f114a3694f68ebee3f97059c25
child 323850 baaf8403256b422455201892c1d051354d07536f
push id5913
push userjlund@mozilla.com
push dateMon, 25 Apr 2016 16:57:49 +0000
treeherdermozilla-beta@dcaf0a6fa115 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersmstange, ritu
bugs1241060
milestone47.0a2
Bug 1241060 - Skip non-2d sibling layers when calculating plugin window clipping under e10s. r=mstange, a=ritu MozReview-Commit-ID: 4R5h3DeIU0S
gfx/layers/Layers.cpp
--- a/gfx/layers/Layers.cpp
+++ b/gfx/layers/Layers.cpp
@@ -1048,17 +1048,17 @@ Layer::GetVisibleRegionRelativeToRootLay
     // remove these areas from the visible region as well. This will pick up
     // chrome overlays like a tab modal prompt.
     Layer* sibling;
     for (sibling = layer->GetNextSibling(); sibling;
          sibling = sibling->GetNextSibling()) {
       gfx::Matrix siblingMatrix;
       if (!sibling->GetLocalTransform().Is2D(&siblingMatrix) ||
           !siblingMatrix.IsTranslation()) {
-        return false;
+        continue;
       }
 
       // Retreive the translation from sibling to |layer|. The accumulated
       // visible region is currently oriented with |layer|.
       IntPoint siblingOffset = RoundedToInt(siblingMatrix.GetTranslation());
       nsIntRegion siblingVisibleRegion(sibling->GetLocalVisibleRegion().ToUnknownRegion());
       // Translate the siblings region to |layer|'s origin.
       siblingVisibleRegion.MoveBy(-siblingOffset.x, -siblingOffset.y);