michael@0: var topElements = document.getElementsByClassName("scrollTop"); michael@0: if (!topElements.length) { michael@0: topElements = [document.documentElement]; michael@0: } michael@0: michael@0: var failed = false; michael@0: michael@0: function doScroll(d) michael@0: { michael@0: if (failed) michael@0: return; michael@0: for (var i = 0; i < topElements.length; ++i) { michael@0: var e = topElements[i]; michael@0: e.scrollTop = d; michael@0: if (e.scrollTop != d) { michael@0: document.documentElement.textContent = michael@0: "Scrolling failed on " + e.tagName + " element, " + michael@0: "tried to scroll to " + d + ", got " + e.scrollTop + michael@0: " (Random number: " + Math.random() + ")"; michael@0: failed = true; michael@0: } michael@0: } michael@0: } michael@0: michael@0: if (document.location.search == '?ref') { michael@0: doScroll(20); michael@0: } else if (document.location.search == '?up') { michael@0: doScroll(40); michael@0: document.documentElement.setAttribute("class", "reftest-wait"); michael@0: window.addEventListener("MozReftestInvalidate", function() { michael@0: document.documentElement.removeAttribute("class"); michael@0: doScroll(20); michael@0: }, false); michael@0: } else { michael@0: doScroll(1); michael@0: document.documentElement.setAttribute("class", "reftest-wait"); michael@0: window.addEventListener("MozReftestInvalidate", function() { michael@0: document.documentElement.removeAttribute("class"); michael@0: doScroll(20); michael@0: }, false); michael@0: }