Bug 1439375 - Always create a new nsDisplayCompositorHitTestInfo for stacking contexts draft
authorMiko Mynttinen <mikokm@gmail.com>
Mon, 19 Feb 2018 19:17:01 +0100
changeset 757073 60dc29cbd4fb93af743db2e0a406ac63bdbaaec4
parent 756941 d0d3693d9beff5477175a441fdb06e281e8b7f17
push id99640
push userbmo:mikokm@gmail.com
push dateMon, 19 Feb 2018 18:19:00 +0000
bugs1439375
milestone60.0a1
Bug 1439375 - Always create a new nsDisplayCompositorHitTestInfo for stacking contexts MozReview-Commit-ID: 4yq6naptE0H
layout/generic/nsFrame.cpp
--- a/layout/generic/nsFrame.cpp
+++ b/layout/generic/nsFrame.cpp
@@ -3032,17 +3032,17 @@ nsIFrame::BuildDisplayListForStackingCon
     nsDisplayLayerEventRegions* eventRegions = nullptr;
     if (aBuilder->IsBuildingLayerEventRegions()) {
       eventRegions = new (aBuilder) nsDisplayLayerEventRegions(aBuilder, this);
       eventRegions->AddFrame(aBuilder, this);
       aBuilder->SetLayerEventRegions(eventRegions);
     }
 
     aBuilder->BuildCompositorHitTestInfoIfNeeded(this, set.BorderBackground(),
-                                                 false);
+                                                 true);
 
     MarkAbsoluteFramesForDisplayList(aBuilder);
     BuildDisplayList(aBuilder, set);
 
     // Blend modes are a real pain for retained display lists. We build a blend
     // container item if the built list contains any blend mode items within
     // the current stacking context. This can change without an invalidation
     // to the stacking context frame, or the blend mode frame (e.g. by moving
@@ -3074,17 +3074,17 @@ nsIFrame::BuildDisplayListForStackingCon
           eventRegions->Destroy(aBuilder);
           eventRegions = new (aBuilder) nsDisplayLayerEventRegions(aBuilder, this);
           eventRegions->AddFrame(aBuilder, this);
           aBuilder->SetLayerEventRegions(eventRegions);
         }
 
         aBuilder->BuildCompositorHitTestInfoIfNeeded(this,
                                                      set.BorderBackground(),
-                                                     false);
+                                                     true);
 
         // If this is the root frame, then the previous call to
         // MarkAbsoluteFramesForDisplayList might have stored some fixed
         // background data. Clear that now.
         if (!GetParent()) {
           aBuilder->ClearFixedBackgroundDisplayData();
         }