Bug 1241060 - Skip non-2d sibling layers when calculating pluginw window clipping under e10s. r?mstange draft
authorJim Mathies <jmathies@mozilla.com>
Mon, 21 Mar 2016 09:52:21 -0500
changeset 342872 b28fb294b5bc5954c7d20516fafb7444e497a595
parent 340999 341344bdec8f10bf50646cd6ef2355361435cbf6
child 516647 05b189630c42ff5079fbc1542e578b406943c065
push id13483
push userjmathies@mozilla.com
push dateMon, 21 Mar 2016 14:52:38 +0000
reviewersmstange
bugs1241060
milestone48.0a1
Bug 1241060 - Skip non-2d sibling layers when calculating pluginw window clipping under e10s. r?mstange MozReview-Commit-ID: 4R5h3DeIU0S
gfx/layers/Layers.cpp
--- a/gfx/layers/Layers.cpp
+++ b/gfx/layers/Layers.cpp
@@ -1050,17 +1050,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);