Bug 1337944 - Use PreTransformOverflowAreasProperty when checking frame is out of view. r?jwatt draft
authorMantaroh Yoshinaga <mantaroh@gmail.com>
Mon, 13 Mar 2017 18:36:22 +0900
changeset 497419 df3ba7017877a14461cd32e0e7a771ca1df6e40d
parent 497206 f9362554866b327700c7f9b18050d7b7eb3d2b23
child 497420 647222d36ef1a5d6baa12749702870c77ec166a0
push id48895
push usermantaroh@gmail.com
push dateMon, 13 Mar 2017 09:38:38 +0000
reviewersjwatt
bugs1337944
milestone55.0a1
Bug 1337944 - Use PreTransformOverflowAreasProperty when checking frame is out of view. r?jwatt MozReview-Commit-ID: LUTnnEJIUDD
layout/generic/nsFrame.cpp
--- a/layout/generic/nsFrame.cpp
+++ b/layout/generic/nsFrame.cpp
@@ -10296,17 +10296,19 @@ IsFrameScrolledOutOfView(nsIFrame *aFram
     nsLayoutUtils::GetNearestScrollableFrame(aFrame,
       nsLayoutUtils::SCROLLABLE_SAME_DOC |
       nsLayoutUtils::SCROLLABLE_INCLUDE_HIDDEN);
   if (!scrollableFrame) {
     return false;
   }
 
   nsIFrame *scrollableParent = do_QueryFrame(scrollableFrame);
-  nsRect rect = aFrame->GetVisualOverflowRect();
+  nsOverflowAreas preTransformOverflows =
+                     aFrame->GetOverflowAreasRelativeToSelf();
+  nsRect rect = preTransformOverflows.VisualOverflow();
 
   nsRect transformedRect =
     nsLayoutUtils::TransformFrameRectToAncestor(aFrame,
                                                 rect,
                                                 scrollableParent);
 
   nsRect scrollableRect = scrollableParent->GetVisualOverflowRect();
   if (!transformedRect.Intersects(scrollableRect)) {