summaryrefslogtreecommitdiffstats
path: root/widget/tests/window_bug478536.xul
diff options
context:
space:
mode:
Diffstat (limited to 'widget/tests/window_bug478536.xul')
-rw-r--r--widget/tests/window_bug478536.xul215
1 files changed, 0 insertions, 215 deletions
diff --git a/widget/tests/window_bug478536.xul b/widget/tests/window_bug478536.xul
deleted file mode 100644
index 0a07777b4..000000000
--- a/widget/tests/window_bug478536.xul
+++ /dev/null
@@ -1,215 +0,0 @@
-<?xml version="1.0"?>
-<?xml-stylesheet href="chrome://global/skin" type="text/css"?>
-<window title="Mozilla Bug 478536"
- width="600" height="600"
- onload="onload();"
- onunload="onunload();"
- xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
-
- <script type="application/javascript"
- src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js" />
- <script type="application/javascript"
- src="chrome://mochikit/content/tests/SimpleTest/EventUtils.js" />
- <script type="application/javascript"
- src="chrome://mochikit/content/tests/SimpleTest/paint_listener.js" />
-
-<body xmlns="http://www.w3.org/1999/xhtml" id="body">
-<style type="text/css">
- #view {
- overflow: auto;
- width: 100px;
- height: 100px;
- border: 1px solid;
- margin: 0;
- }
-</style>
-<pre id="view" onscroll="onScrollView(event);">
-Text. Text. Text. Text. Text. Text. Text. Text. Text. Text. Text.
-Text. Text. Text. Text. Text. Text. Text. Text. Text. Text. Text.
-Text. Text. Text. Text. Text. Text. Text. Text. Text. Text. Text.
-Text. Text. Text. Text. Text. Text. Text. Text. Text. Text. Text.
-Text. Text. Text. Text. Text. Text. Text. Text. Text. Text. Text.
-Text. Text. Text. Text. Text. Text. Text. Text. Text. Text. Text.
-Text. Text. Text. Text. Text. Text. Text. Text. Text. Text. Text.
-Text. Text. Text. Text. Text. Text. Text. Text. Text. Text. Text.
-Text. Text. Text. Text. Text. Text. Text. Text. Text. Text. Text.
-Text. Text. Text. Text. Text. Text. Text. Text. Text. Text. Text.
-</pre>
-</body>
-
-<script class="testbody" type="application/javascript">
-<![CDATA[
-
-function ok(aCondition, aMessage)
-{
- window.opener.wrappedJSObject.SimpleTest.ok(aCondition, aMessage);
-}
-
-function is(aLeft, aRight, aMessage)
-{
- window.opener.wrappedJSObject.SimpleTest.is(aLeft, aRight, aMessage);
-}
-
-function isnot(aLeft, aRight, aMessage)
-{
- window.opener.wrappedJSObject.SimpleTest.isnot(aLeft, aRight, aMessage);
-}
-
-var gBody = document.getElementById("body");
-var gView = document.getElementById("view");
-
-/**
- * Description:
- *
- * First, lock the wheel scrolling target to "view" at first step.
- * Next, scroll back to top most of the "view" at second step.
- * Finally, scroll back again at third step. This fails to scroll the "view",
- * then, |onMouseScrollFailed| event should be fired. And at that time, we
- * can remove the "view". So, in post processing of the event firere, the
- * "view" should not be referred.
- *
- * For suppressing random test failure, all tests will be retried if we handle
- * unexpected timeout event.
- */
-
-var gTests = [
- { scrollToForward: true, shouldScroll: true },
- { scrollToForward: false, shouldScroll: true },
- { scrollToForward: false, shouldScroll: false }
-];
-var gCurrentTestIndex = -1;
-var gIgnoreScrollEvent = true;
-
-var gPrefSvc = Components.classes["@mozilla.org/preferences-service;1"].
- getService(Components.interfaces.nsIPrefBranch);
-const kPrefSmoothScroll = "general.smoothScroll";
-const kPrefNameTimeout = "mousewheel.transaction.timeout";
-const kDefaultTimeout = gPrefSvc.getIntPref(kPrefNameTimeout);
-
-gPrefSvc.setBoolPref(kPrefSmoothScroll, false);
-
-var gTimeout = kDefaultTimeout;
-
-gBody.addEventListener("MozMouseScrollFailed", onMouseScrollFailed, false);
-gBody.addEventListener("MozMouseScrollTransactionTimeout",
- onTransactionTimeout, false);
-
-function setTimeoutPrefs(aTimeout)
-{
- gPrefSvc.setIntPref(kPrefNameTimeout, aTimeout);
- gTimeout = aTimeout;
-}
-
-function resetTimeoutPrefs()
-{
- if (gTimeout == kDefaultTimeout)
- return;
- setTimeoutPrefs(kDefaultTimeout);
-}
-
-function growUpTimeoutPrefs()
-{
- if (gTimeout != kDefaultTimeout)
- return;
- setTimeoutPrefs(5000);
-}
-
-function onload()
-{
- disableNonTestMouseEvents(true);
- setTimeout(runNextTest, 0);
-}
-
-function onunload()
-{
- resetTimeoutPrefs();
- disableNonTestMouseEvents(false);
- gPrefSvc.clearUserPref(kPrefSmoothScroll);
- SpecialPowers.DOMWindowUtils.restoreNormalRefresh();
- window.opener.wrappedJSObject.SimpleTest.finish();
-}
-
-function finish()
-{
- window.close();
-}
-
-// testing code
-
-var gTimer;
-function clearTimer()
-{
- clearTimeout(gTimer);
- gTimer = 0;
-}
-
-function runNextTest()
-{
- clearTimer();
- if (++gCurrentTestIndex >= gTests.length) {
- ok(true, "didn't crash, succeeded");
- finish();
- return;
- }
- fireWheelScrollEvent(gTests[gCurrentTestIndex].scrollToForward);
-}
-
-var gRetryCount = 5;
-function retryAllTests()
-{
- clearTimer();
- if (--gRetryCount >= 0) {
- gView.scrollTop = 0;
- gView.scrollLeft = 0;
- gCurrentTestIndex = -1;
- growUpTimeoutPrefs();
- ok(true, "WARNING: retry current test-list...");
- gTimer = setTimeout(runNextTest, 0);
- } else {
- ok(false, "Failed by unexpected timeout");
- finish();
- }
-}
-
-function fireWheelScrollEvent(aForward)
-{
- gIgnoreScrollEvent = false;
- var event = { deltaY: aForward ? 4.0 : -4.0,
- deltaMode: WheelEvent.DOM_DELTA_LINE };
- sendWheelAndPaint(gView, 5, 5, event, function() {
- // No callback - we're just forcing the refresh driver to tick.
- }, window);
-}
-
-function onScrollView(aEvent)
-{
- if (gIgnoreScrollEvent)
- return;
- gIgnoreScrollEvent = true;
- clearTimer();
- ok(gTests[gCurrentTestIndex].shouldScroll, "The view is scrolled");
- gTimer = setTimeout(runNextTest, 0);
-}
-
-function onMouseScrollFailed(aEvent)
-{
- clearTimer();
- gIgnoreScrollEvent = true;
- ok(!gTests[gCurrentTestIndex].shouldScroll, "The view is not scrolled");
- if (!gTests[gCurrentTestIndex].shouldScroll)
- gBody.removeChild(gView);
- runNextTest();
-}
-
-function onTransactionTimeout(aEvent)
-{
- if (!gTimer)
- return;
- gIgnoreScrollEvent = true;
- retryAllTests();
-}
-
-]]>
-</script>
-
-</window>