4 https://bugzilla.mozilla.org/show_bug.cgi?id=1089326
8 <title>Test for Bug
1089326</title>
9 <script src=
"/tests/SimpleTest/SimpleTest.js"></script>
10 <script src=
"/tests/SimpleTest/EventUtils.js"></script>
11 <link rel=
"stylesheet" type=
"text/css" href=
"/tests/SimpleTest/test.css"/>
12 <script type=
"application/javascript">
14 /** Test for Bug
1089326 **/
16 var b = document.getElementById(
"button");
17 var b_rect = b.getBoundingClientRect();
18 var a = document.getElementById(
"anchor");
19 var a_rect = a.getBoundingClientRect();
21 is(document.elementFromPoint(b_rect.x +
1, b_rect.y +
1), b,
22 "Should find button when doing hit test on top of it.");
23 is(document.elementFromPoint(a_rect.x +
1, a_rect.y +
1), a,
24 "Should find anchor when doing hit test on top of it.");
28 var container = document.getElementById(
"interactiveContentContainer");
29 container.addEventListener(
"click", function(event) {
30 is(event.target, expectedTarget,
"Got expected click event target.");
33 var i1 = document.getElementById(
"interactiveContent1");
34 var s11 = document.getElementById(
"s11");
35 var s12 = document.getElementById(
"s12");
37 var i2 = document.getElementById(
"interactiveContent2");
38 var s21 = document.getElementById(
"s21");
41 synthesizeMouseAtCenter(s11, { type:
"mousedown" });
42 synthesizeMouseAtCenter(s12, { type:
"mouseup" });
43 is(clickCount,
1,
"Should have got a click event.");
45 expectedTarget = container;
46 synthesizeMouseAtCenter(s11, { type:
"mousedown" });
47 synthesizeMouseAtCenter(s21, { type:
"mouseup" });
48 is(clickCount,
2,
"Should not have got a click event.");
50 expectedTarget = container;
51 synthesizeMouseAtCenter(s21, { type:
"mousedown" });
52 synthesizeMouseAtCenter(s11, { type:
"mouseup" });
53 is(clickCount,
3,
"Should not have got a click event.");
55 var span1 = document.getElementById(
"span1");
56 var span2 = document.getElementById(
"span2");
57 expectedTarget = container;
58 synthesizeMouseAtCenter(span1, { type:
"mousedown" });
59 synthesizeMouseAtCenter(span2, { type:
"mouseup" });
60 is(clickCount,
4,
"Should not have got a click event.");
62 button.addEventListener(
"click", function(event) {
63 is(event.target, expectedTarget,
"Got expected click event target.");
68 synthesizeMouseAtCenter(a, { type:
"mousedown" });
69 synthesizeMouseAtCenter(a, { type:
"mouseup" });
70 is(clickCount,
5,
"Should have got a click event.");
73 synthesizeMouseAtCenter(b, { type:
"mousedown" });
74 synthesizeMouseAtCenter(b, { type:
"mouseup" });
75 is(clickCount,
6,
"Should have got a click event.");
80 SimpleTest.waitForExplicitFinish();
81 SimpleTest.waitForFocus(test);
86 <a target=
"_blank" href=
"https://bugzilla.mozilla.org/show_bug.cgi?id=1089326">Mozilla Bug
1089326</a>
88 <button id=
"button">button
<a id=
"anchor" href=
"#">anchor
</a>button
</button>
90 <div id=
"interactiveContentContainer">
91 <a id=
"interactiveContent1" href=
"#">foo
<span id=
"s11">s11
</span><span id=
"s12">s12
</span> bar
</a>
92 <a id=
"interactiveContent2" href=
"#">foo
<span id=
"s21">s21
</span><span id=
"s22">s22
</span> bar
</a>
96 <span id=
"span1">span1
</span>
102 <span id=
"span2">span2
</span>