Bug 1148889 - Treat subclasses of scrollframes as animated geometry roots. r=mstange, a=bajaj
authorKartikaya Gupta <kgupta@mozilla.com>
Mon, 13 Apr 2015 16:11:08 -0400
changeset 238199 36f72a3efb9b51e0acc8b2e0004f6b63d112b7dd
parent 238198 f9818a36edfe25f2b1f7d0149fccb8e676088e91
child 238200 2316053b94522ced29acb52c3cfb54c10ae25c3c
push id512
push userryanvm@gmail.com
push dateMon, 20 Apr 2015 19:57:40 +0000
treeherdermozilla-b2g37_v2_2@36f72a3efb9b [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersmstange, bajaj
bugs1148889
milestone37.0
Bug 1148889 - Treat subclasses of scrollframes as animated geometry roots. r=mstange, a=bajaj
layout/base/nsDisplayList.cpp
layout/reftests/bugs/reftest.list
--- a/layout/base/nsDisplayList.cpp
+++ b/layout/base/nsDisplayList.cpp
@@ -1174,17 +1174,17 @@ nsDisplayListBuilder::IsAnimatedGeometry
   }
 
   if (aFrame->StyleDisplay()->mPosition == NS_STYLE_POSITION_STICKY &&
       IsStickyFrameActive(this, aFrame, parent))
   {
     return true;
   }
 
-  if (parentType == nsGkAtoms::scrollFrame) {
+  if (parentType == nsGkAtoms::scrollFrame || parentType == nsGkAtoms::listControlFrame) {
     nsIScrollableFrame* sf = do_QueryFrame(parent);
     if (sf->IsScrollingActive(this) && sf->GetScrolledFrame() == aFrame) {
       return true;
     }
   }
 
   // Fixed-pos frames are parented by the viewport frame, which has no parent.
   if (nsLayoutUtils::IsFixedPosFrameInDisplayPort(aFrame)) {
--- a/layout/reftests/bugs/reftest.list
+++ b/layout/reftests/bugs/reftest.list
@@ -289,17 +289,17 @@ skip-if(B2G&&browserIsRemote) == 261826-
 == 269908-4.html 269908-4-ref.html
 == 269908-5.html 269908-5-ref.html
 == 271747-1a.html 271747-1-ref.html
 == 271747-1b.html 271747-1-ref.html
 skip-if(B2G&&browserIsRemote) == 272646-1.xul 272646-1-ref.xul # bug 974780
 skip-if(B2G&&browserIsRemote) == 272646-2a.xul 272646-2-ref.xul # bug 974780
 skip-if(B2G&&browserIsRemote) == 272646-2b.xul 272646-2-ref.xul # bug 974780
 skip-if(B2G&&browserIsRemote) == 272646-2c.xul 272646-2-ref.xul # bug 974780
-skip-if(B2G) == 273681-1.html 273681-1-ref.html
+skip-if(B2G) fuzzy-if(Android,3,50) == 273681-1.html 273681-1-ref.html
 == 278266-1a.html 278266-1-ref.html
 == 278266-1b.html 278266-1-ref.html
 == 280708-1a.html 280708-1-ref.html
 == 280708-1b.html 280708-1-ref.html
 == 281241-1.html 281241-1-ref.html
 == 281241-2.xhtml 281241-1-ref.html
 == 283686-1.html about:blank
 == 283686-2.html 283686-2-ref.html
@@ -420,17 +420,17 @@ skip-if(B2G&&browserIsRemote) == 321402-
 == 322436-1.html 322436-1-ref.html
 == 322461-1.xml 322461-1-ref.html
 == 323656-1.html 323656-1-ref.html
 == 323656-2.html 323656-2-ref.html
 == 323656-3.html 323656-3-ref.html
 == 323656-4.html 323656-4-ref.html
 == 323656-5.svg 323656-5-ref.svg
 == 323656-6.html 323656-6-ref.html
-== 325292-1.html 325292-1-ref.html
+fuzzy-if(Android,2,140) == 325292-1.html 325292-1-ref.html
 == 325486-1.html 325486-1-ref.html
 == 328111-1.html 328111-1-ref.html
 random == 328829-1.xhtml 328829-1-ref.xhtml # bug 369046 (intermittent)
 == 328829-2.xhtml 328829-2-ref.xhtml
 == 329359-1.html 329359-1-ref.html
 == 331809-1.html 331809-1-ref.html # bug 580499 is blacked out
 == 332360.html 332360-ref.html
 == 332360-ltr.html 332360-ltr-ref.html
@@ -690,18 +690,18 @@ skip-if(B2G) == 378937-1.html 378937-1-r
 == 379316-1.html 379316-1-ref.html
 skip-if(B2G) fails-if(Android) random-if(cocoaWidget) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) fuzzy-if(/^Windows\x20NT\x206\.2/.test(http.oscpu),1,170) fuzzy-if(gtk2Widget,1,191) == 379316-2.html 379316-2-ref.html # bug 379786
 == 379328-1.html 379328-1-ref.html
 == 379349-1a.xhtml 379349-1-ref.xhtml
 == 379349-1b.xhtml 379349-1-ref.xhtml
 == 379349-1c.xhtml 379349-1-ref.xhtml
 == 379349-2a.xhtml 379349-2-ref.xhtml
 == 379349-2b.xhtml 379349-2-ref.xhtml
-skip-if(B2G) == 379349-3a.xhtml 379349-3-ref.xhtml
-skip-if(B2G) == 379349-3b.xhtml 379349-3-ref.xhtml
+skip-if(B2G) fuzzy-if(Android,2,140) == 379349-3a.xhtml 379349-3-ref.xhtml
+skip-if(B2G) fuzzy-if(Android,2,140) == 379349-3b.xhtml 379349-3-ref.xhtml
 == 379361-1.html 379361-1-ref.html
 == 379361-2.html 379361-2-ref.html
 == 379361-3.html 379361-3-ref.html
 == 379461-1.xhtml 379461-1.html
 == 379461-2.xhtml 379461-2.html
 skip-if(B2G) == 379461-3-container-xhtml.html 379461-3-container-html.html
 skip-if(B2G) fails-if(Android) != 379461-3-container-xhtml.html 379461-3-container-blank.html # there is a scrollbar
 == 380004-1.html 380004-1-ref.html
@@ -1399,30 +1399,30 @@ skip-if(B2G) == 502447-1.html 502447-1-r
 == 502942-1.html 502942-1-ref.html
 == 503364-1a.html 503364-1-ref.html
 == 503364-1b.html 503364-1-ref.html
 # Reftest for bug 503531 marked as failing; should be re-enabled when
 # bug 607548 gets resolved.
 needs-focus fails == 503531-1.html 503531-1-ref.html
 == 504032-1.html 504032-1-ref.html
 == 505743-1.html about:blank
-skip-if(B2G) == 506481-1.html 506481-1-ref.html
+skip-if(B2G) fuzzy-if(Android,5,2800) == 506481-1.html 506481-1-ref.html
 == 507187-1.html 507187-1-ref.html
 == 507487-1.html 507487-1-ref.html
 == 507487-2.xhtml 507487-2-ref.xhtml
 == 507762-1.html 507762-1-ref.html
 == 507762-2.html 507762-2-ref.html
 == 507762-3.html 507762-1-ref.html
 == 507762-4.html 507762-2-ref.html
 skip-if(B2G) random-if(cocoaWidget) == 508816-1.xul 508816-1-ref.xul # Bug 631982
 skip-if(B2G) == 508816-2.html 508816-2-ref.html
 skip-if(B2G&&browserIsRemote) == 508908-1.xul 508908-1-ref.xul # bug 974780
 == 508919-1.xhtml 508919-1-ref.xhtml
 == 509155-1.xhtml 509155-1-ref.xhtml
-skip-if(B2G) == 512410.html 512410-ref.html
+skip-if(B2G) fuzzy-if(Android,5,1656) == 512410.html 512410-ref.html
 == 512631-1.html 512631-1-ref.html
 == 513153-1a.html 513153-1-ref.html
 == 513153-1b.html 513153-1-ref.html
 == 513153-2a.html 513153-2-ref.html
 == 513153-2b.html 513153-2-ref.html
 skip-if(B2G&&browserIsRemote) == 513318-1.xul 513318-1-ref.xul # bug 974780
 skip-if(B2G) fails-if(Android) != 513318-2.xul 513318-2-ref.xul
 == 514917-1.html 514917-1-ref.html
@@ -1449,17 +1449,17 @@ random-if(d2d) == 523468-1.html 523468-1
 == 528038-1c.html 528038-1-ref.html
 == 528038-1d.html 528038-1-ref.html
 == 528038-1e.html 528038-1-ref.html
 == 528038-1f.html 528038-1-ref.html
 == 528038-2.html 528038-2-ref.html
 == 528096-1.html 528096-1-ref.html
 == 530686-1.html 530686-1-ref.html
 == 531098-1.html 531098-1-ref.html
-== 531200-1.html 531200-1-ref.html
+fuzzy-if(Android,2,48) == 531200-1.html 531200-1-ref.html
 == 531371-1.html 531371-1-ref.html
 == 534526-1a.html 534526-1-ref.html
 == 534526-1b.html 534526-1-ref.html
 == 534804-1.html 534804-1-ref.html
 == 534808-1.html 534808-1-ref.html
 == 534808-2.html 534808-2-ref.html
 fails-if(OSX==10.7) == 534919-1.html 534919-1-ref.html # Bug 705044
 random == 536061.html 536061-ref.html # fixedpoint division in blur code makes this fail
@@ -1514,39 +1514,39 @@ skip-if(B2G) == 560455-1.xul 560455-1-re
 == 561981-3.html 561981-3-ref.html
 == 561981-4.html 561981-4-ref.html
 == 561981-5.html 561981-5-ref.html
 == 561981-6.html 561981-6-ref.html
 == 561981-7.html 561981-7-ref.html
 == 561981-8.html 561981-8-ref.html
 == 562835-1.html 562835-ref.html
 == 562835-2.html 562835-ref.html
-skip-if(B2G) == 563584-1.html 563584-1-ref.html
-skip-if(B2G) == 563584-2.html 563584-2-ref.html
-skip-if(B2G) == 563584-3.html 563584-3-ref.html
-skip-if(B2G) == 563584-4.html 563584-4-ref.html
-== 563584-5.html 563584-5-ref.html
+skip-if(B2G) fuzzy-if(Android,2,48) == 563584-1.html 563584-1-ref.html
+skip-if(B2G) fuzzy-if(Android,2,48) == 563584-2.html 563584-2-ref.html
+skip-if(B2G) fuzzy-if(Android,4,180) == 563584-3.html 563584-3-ref.html
+skip-if(B2G) fuzzy-if(Android,4,180) == 563584-4.html 563584-4-ref.html
+fuzzy-if(Android,2,48) == 563584-5.html 563584-5-ref.html
 test-pref(layout.float-fragments-inside-column.enabled,false) == 563584-6-columns.html 563584-6-columns-ref.html
 test-pref(layout.float-fragments-inside-column.enabled,true) == 563584-6-columns.html 563584-6-columns-ref-enabled.html
-skip-if(B2G) == 563584-6-printing.html 563584-6-printing-ref.html
-skip-if(B2G) == 563584-7.html 563584-7-ref.html
+skip-if(B2G) fuzzy-if(Android,2,48) == 563584-6-printing.html 563584-6-printing-ref.html
+skip-if(B2G) fuzzy-if(Android,2,48) == 563584-7.html 563584-7-ref.html
 # FIXME: It would be nice to have variants of these -8 tests for the
 # table narrowing quirk causing a change to mIsTopOfPage (though I'm not
 # entirely sure our behavior is the right one, either).
-skip-if(B2G) == 563584-8a.html 563584-8a-ref.html
-skip-if(B2G) == 563584-8b.html 563584-8b-ref.html
-skip-if(B2G) == 563584-8c.html 563584-8c-ref.html
-skip-if(B2G) == 563584-8d.html 563584-8d-ref.html
+skip-if(B2G) fuzzy-if(Android,2,48) == 563584-8a.html 563584-8a-ref.html
+skip-if(B2G) fuzzy-if(Android,2,48) == 563584-8b.html 563584-8b-ref.html
+skip-if(B2G) fuzzy-if(Android,4,180) == 563584-8c.html 563584-8c-ref.html
+skip-if(B2G) fuzzy-if(Android,4,180) == 563584-8d.html 563584-8d-ref.html
 == 563584-9a.html 563584-9a-ref.html
 == 563584-9b.html 563584-9b-ref.html
 == 563584-9c.html 563584-9cd-ref.html
 == 563584-9d.html 563584-9cd-ref.html
-== 563584-10a.html 563584-10-ref.html
-== 563584-10b.html 563584-10-ref.html
-== 563584-11.html 563584-11-ref.html
+fuzzy-if(Android,2,48) == 563584-10a.html 563584-10-ref.html
+fuzzy-if(Android,2,48) == 563584-10b.html 563584-10-ref.html
+fuzzy-if(Android,2,48) == 563584-11.html 563584-11-ref.html
 == 563884-1.html 563884-1-ref.html
 == 564002-1.html 564002-1-ref.html
 == 564054-1.html 564054-1-ref.html
 skip-if(B2G) fails-if(Android) random-if(layersGPUAccelerated) == 564991-1.html 564991-1-ref.html
 == 565819-1.html 565819-ref.html
 == 565819-2.html 565819-ref.html
 needs-focus == 568441.html 568441-ref.html
 skip-if(B2G) == 569006-1.html 569006-1-ref.html
@@ -1575,23 +1575,23 @@ random-if(!winWidget) fails-if(winWidget
 skip-if(!haveTestPlugin) skip-if(B2G) fails-if(Android) == 579808-1.html 579808-1-ref.html
 skip-if(B2G) fails-if(Android) random-if(layersGPUAccelerated) == 579985-1.html 579985-1-ref.html # bug 623452 for WinXP; this bug was only for a regression in BasicLayers anyway
 skip-if(B2G) skip-if(Android) == 580160-1.html 580160-1-ref.html # bug 920927 for Android; issues without the test-plugin
 HTTP(..) == 580863-1.html 580863-1-ref.html
 skip-if(B2G) fails-if(Android) random-if(layersGPUAccelerated) == 581317-1.html 581317-1-ref.html
 == 581579-1.html 581579-1-ref.html
 == 582037-1a.html 582037-1-ref.html
 == 582037-1b.html 582037-1-ref.html
-skip-if(B2G) == 582037-2a.html 582037-2-ref.html
-skip-if(B2G) == 582037-2b.html 582037-2-ref.html
+skip-if(B2G) fuzzy-if(Android,3,256) == 582037-2a.html 582037-2-ref.html
+skip-if(B2G) fuzzy-if(Android,3,256) == 582037-2b.html 582037-2-ref.html
 asserts(1-2) == 582146-1.html about:blank
 skip-if(B2G) == 582476-1.svg 582476-1-ref.svg
 == 584400-dash-length.svg 584400-dash-length-ref.svg
 == 584699-1.html 584699-1-ref.html
-== 585598-2.xhtml 585598-2-ref.xhtml
+fuzzy-if(Android,2,48) == 585598-2.xhtml 585598-2-ref.xhtml
 == 586400-1.html 586400-1-ref.html
 skip-if(B2G) fuzzy-if(d2d,52,1051) fuzzy-if(OSX==10.8,129,1068) == 586683-1.html 586683-1-ref.html
 == 589615-1a.xhtml 589615-1-ref.html
 == 589615-1b.html 589615-1-ref.html
 == 589672-1.html 589672-1-ref.html
 != 589682-1.html 589682-1-notref.html
 skip-if(!browserIsRemote) == 593243-1.html 593243-1-ref.html # bug 593168
 skip-if(!browserIsRemote) == 593243-2.html 593243-2-ref.html # bug 593168
@@ -1619,17 +1619,17 @@ fuzzy-if(Android&&AndroidVersion>=15,8,2
 == 604737.html 604737-ref.html
 == 605138-1.html 605138-1-ref.html
 == 605157-1.xhtml 605157-1-ref.xhtml
 == 607267-1.html 607267-1-ref.html
 == 608636-1.html 608636-1-ref.html
 == 608756-1a.html 608756-1-ref.html
 == 608756-1b.html 608756-1-ref.html
 == 608756-2.html 608756-2-ref.html
-== 609272-1.html 609272-1-ref.html
+fuzzy-if(Android,4,196) == 609272-1.html 609272-1-ref.html
 needs-focus == 613433-1.html 613433-1-ref.html
 needs-focus == 613433-1.html 613433-2-ref.html
 needs-focus == 613433-1.html 613433-3-ref.html
 needs-focus == 613433-2.html 613433-1-ref.html
 needs-focus == 613433-2.html 613433-2-ref.html
 needs-focus == 613433-2.html 613433-3-ref.html
 needs-focus == 613433-3.html 613433-1-ref.html
 needs-focus == 613433-3.html 613433-2-ref.html