Backed out changeset 1ae4cfe35d71 (bug 1263349)
authorCarsten "Tomcat" Book <cbook@mozilla.com>
Tue, 24 May 2016 11:13:58 +0200
changeset 337734 aae16737c9308b134c5178e14535eb48953bd851
parent 337733 6b6ff9b207c146029eb85c3e22b3f66d66f8e48a
child 337735 2a26560c2888bd53aeea482f10b70c060647d22c
push id6249
push userjlund@mozilla.com
push dateMon, 01 Aug 2016 13:59:36 +0000
treeherdermozilla-beta@bad9d4f5bf7e [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
bugs1263349
milestone49.0a1
backs out1ae4cfe35d7157c4c0d3bc1b39224053e5cd84ba
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
Backed out changeset 1ae4cfe35d71 (bug 1263349)
layout/generic/nsFrame.cpp
--- a/layout/generic/nsFrame.cpp
+++ b/layout/generic/nsFrame.cpp
@@ -2731,30 +2731,21 @@ nsIFrame::BuildDisplayListForChild(nsDis
   const nsStyleDisplay* ourDisp = StyleDisplay();
   // REVIEW: Taken from nsBoxFrame::Paint
   // Don't paint our children if the theme object is a leaf.
   if (IsThemed(ourDisp) &&
       !PresContext()->GetTheme()->WidgetIsContainer(ourDisp->mAppearance))
     return;
 
   // Since we're now sure that we're adding this frame to the display list
-  // (which means we're painting it, modulo occlusion), it may be visible.
+  // (which means we're painting it, modulo occlusion), mark it as visible
+  // within the displayport.
   if (aBuilder->IsPaintingToWindow() && child->TrackingVisibility()) {
-    // Check if the frame is visible in the critical displayport, taking into
-    // account the critical displayport of all ancestor scrollframes.
-    nsRect displayPortIntersection =
-      nsLayoutUtils::TransformAndIntersectRect(child,
-                                               child->GetVisualOverflowRect(),
-                                               aBuilder->GetCurrentScrollParent(),
-                                               aBuilder->GetDisplayPortConsideringAncestors());
-
-    if (!displayPortIntersection.IsEmpty()) {
-      nsIPresShell* shell = child->PresContext()->PresShell();
-      shell->MarkFrameVisible(child, VisibilityCounter::IN_DISPLAYPORT);
-    }
+    nsIPresShell* shell = child->PresContext()->PresShell();
+    shell->MarkFrameVisible(child, VisibilityCounter::IN_DISPLAYPORT);
   }
 
   // Child is composited if it's transformed, partially transparent, or has
   // SVG effects or a blend mode..
   const nsStyleDisplay* disp = child->StyleDisplay();
   const nsStyleEffects* effects = child->StyleEffects();
   const nsStylePosition* pos = child->StylePosition();
   bool isVisuallyAtomic = child->HasOpacity()