test_dom_activate_event.html 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. <!DOCTYPE HTML>
  2. <html>
  3. <head>
  4. <title>Test DOMActivate event</title>
  5. <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
  6. <script type="application/javascript" src="/tests/SimpleTest/EventUtils.js"></script>
  7. <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
  8. </head>
  9. <body>
  10. <p id="display">
  11. <a id="a" href="#dummy">link</a>
  12. <button id="button">button</button>
  13. <input id="checkbox" type="checkbox">
  14. <input id="radio" type="radio">
  15. <input id="submit" type="submit">
  16. <input id="ibutton" type="button">
  17. <input id="reset" type="reset">
  18. </p>
  19. <div id="content" style="display: none">
  20. </div>
  21. <pre id="test">
  22. <script type="application/javascript">
  23. SimpleTest.waitForExplicitFinish();
  24. SimpleTest.waitForFocus(runTests);
  25. function runIsTrustedTestCausedByTrustedClick(aElement, aNextTest)
  26. {
  27. const kDescription = "runIsTrustedTestCausedByTrustedClick(aElement.id=" + aElement.id + "): ";
  28. var DOMActivateFired = false;
  29. aElement.addEventListener("DOMActivate", function (aEvent) {
  30. DOMActivateFired = true;
  31. ok(aEvent.isTrusted, kDescription + "DOMActivate event should be trusted event");
  32. aElement.removeEventListener("DOMActivate", arguments.callee);
  33. aNextTest();
  34. });
  35. aElement.addEventListener("click", function (aEvent) {
  36. ok(aEvent.isTrusted, kDescription + "click event should be trusted event");
  37. aElement.removeEventListener("click", arguments.callee);
  38. });
  39. synthesizeMouseAtCenter(aElement, {});
  40. }
  41. function runIsTrustedTestCausedByUntrustedClick(aElement, aNextTest)
  42. {
  43. const kDescription = "runIsTrustedTestCausedByUntrustedClick(aElement.id=" + aElement.id + "): ";
  44. var DOMActivateFired = false;
  45. aElement.addEventListener("DOMActivate", function (aEvent) {
  46. DOMActivateFired = true;
  47. ok(aEvent.isTrusted,
  48. kDescription + "DOMActivate event should be trusted event even if it's caused by untrusted event");
  49. aElement.removeEventListener("DOMActivate", arguments.callee);
  50. aNextTest();
  51. });
  52. aElement.addEventListener("click", function (aEvent) {
  53. ok(!aEvent.isTrusted, kDescription + "click event should be untrusted event");
  54. aElement.removeEventListener("click", arguments.callee);
  55. });
  56. var click = new MouseEvent("click", { button: 0 });
  57. aElement.dispatchEvent(click);
  58. }
  59. function runTests()
  60. {
  61. // XXX Don't add indentation here. If you add indentation, the diff will be
  62. // complicated when somebody adds new tests.
  63. runIsTrustedTestCausedByTrustedClick(document.getElementById("a"), function () {
  64. runIsTrustedTestCausedByTrustedClick(document.getElementById("button"), function () {
  65. runIsTrustedTestCausedByTrustedClick(document.getElementById("checkbox"), function () {
  66. runIsTrustedTestCausedByTrustedClick(document.getElementById("radio"), function () {
  67. runIsTrustedTestCausedByTrustedClick(document.getElementById("submit"), function () {
  68. runIsTrustedTestCausedByTrustedClick(document.getElementById("ibutton"), function () {
  69. runIsTrustedTestCausedByTrustedClick(document.getElementById("reset"), function () {
  70. runIsTrustedTestCausedByUntrustedClick(document.getElementById("a"), function () {
  71. runIsTrustedTestCausedByUntrustedClick(document.getElementById("button"), function () {
  72. runIsTrustedTestCausedByUntrustedClick(document.getElementById("checkbox"), function () {
  73. runIsTrustedTestCausedByUntrustedClick(document.getElementById("radio"), function () {
  74. runIsTrustedTestCausedByUntrustedClick(document.getElementById("submit"), function () {
  75. runIsTrustedTestCausedByUntrustedClick(document.getElementById("ibutton"), function () {
  76. runIsTrustedTestCausedByUntrustedClick(document.getElementById("reset"), function () {
  77. SimpleTest.finish();
  78. });});});});});});});});});});});});});});
  79. }
  80. </script>
  81. </pre>
  82. </body>
  83. </html>