This just started failing in the last day or two on both Windows and Linux so far. https://tbpl.mozilla.org/php/getParsedLog.php?id=11532937&tree=Firefox Rev3 Fedora 12x64 mozilla-central pgo test mochitests-1/5 on 2012-05-07 07:04:01 PDT for push 448f554f6acb 58629 INFO TEST-START | /tests/content/events/test/test_bug607464.html 58630 INFO TEST-INFO | /tests/content/events/test/test_bug607464.html | must wait for load 58631 INFO TEST-INFO | /tests/content/events/test/test_bug607464.html | must wait for focus 58632 ERROR TEST-UNEXPECTED-FAIL | /tests/content/events/test/test_bug607464.html | Pixel scrolling should have finished after waiting for one 0-interval timer. We shouldn't be scrolling smoothly, even though the pref is set. - got 0, expected 15 58633 INFO TEST-END | /tests/content/events/test/test_bug607464.html | finished in 233ms
A more accurate time would probably be "started failing right around the time compartment-per-global landed, along with several other scrolling-related tests, but nobody wanted to get stuck filing it."
I'm not sure how this test worked between April 30 and May 7; as far as I can tell, the test is failing due to changeset c70f3a9b31f8. It initiates scrolling (asynchronous but not smooth) then does a setTimeout(0) to check the results and asserts that scrolling has actually happened. However, now that AsyncScroll isn't flushed until the refresh driver runs, the setTimeout could easily happen before the refresh driver runs the AsyncScroll.
Could an animationframe callback initiate the setTimeout(0)?
Created attachment 626341 [details] [diff] [review] fix test
(In reply to Olli Pettay [:smaug] from comment #16) > Could an animationframe callback initiate the setTimeout(0)? Yeah, that's more or less what I'm doing.
Comment on attachment 626341 [details] [diff] [review] fix test Please update the "0-interval timer" part in the is() comment too. r=mats