123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- <!DOCTYPE HTML>
- <html>
- <!--
- https://bugzilla.mozilla.org/show_bug.cgi?id=402089
- -->
- <head>
- <title>Test for Bug 742376</title>
- <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
- <script type="text/javascript" src="/tests/SimpleTest/EventUtils.js"></script>
- <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
- </head>
- <body>
- <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=742376">Mozilla Bug 742376</a>
- <script class="testbody" type="text/javascript">
- /** Test for Bug 742376 **/
- function hasListeners() {
- var Cc = SpecialPowers.Cc;
- var Ci = SpecialPowers.Ci;
- var dss = Cc["@mozilla.org/devicesensors;1"].getService(Ci.nsIDeviceSensors);
- return dss.hasWindowListener(Ci.nsIDeviceSensorData.TYPE_ORIENTATION, window) ||
- dss.hasWindowListener(Ci.nsIDeviceSensorData.TYPE_ROTATION_VECTOR, window) ||
- dss.hasWindowListener(Ci.nsIDeviceSensorData.TYPE_GAME_ROTATION_VECTOR, window);
- }
- is(hasListeners(), false, "Must not have listeners before tests start");
- function dumbListener(event) {}
- function dumbListener2(event) {}
- function dumbListener3(event) {}
- window.addEventListener("deviceorientation", dumbListener, false);
- window.addEventListener("random_event_name", function() {}, false);
- window.addEventListener("deviceorientation", dumbListener2, false);
- is(hasListeners(), true, "Listeners should have been added");
- window.setTimeout(function() {
- window.removeEventListener("deviceorientation", dumbListener, false);
- is(hasListeners(), true, "Only some listeners should have been removed");
- window.setTimeout(function() {
- window.removeEventListener("deviceorientation", dumbListener2, false);
- window.setTimeout(function() {
- is(hasListeners(), false, "Listeners should have been removed");
- testEventHandler();
- }, 0);
- }, 0);
- }, 0);
- function testEventHandler() {
- window.ondeviceorientation = function() {}
- window.setTimeout(function() {
- is(hasListeners(), true, "Handler should have been added");
- window.ondeviceorientation = null;
- window.setTimeout(function() {
- is(hasListeners(), false, "Handler should have been removed");
- SimpleTest.finish();
- }, 0);
- }, 0)
- }
- SimpleTest.waitForExplicitFinish();
- </script>
- </pre>
- </body>
- </html>
|