4 https://bugzilla.mozilla.org/show_bug.cgi?id=313646
7 <title>Test for Bug
313646</title>
8 <script src=
"/tests/SimpleTest/SimpleTest.js"></script>
9 <link rel=
"stylesheet" type=
"text/css" href=
"/tests/SimpleTest/test.css" />
12 <a target=
"_blank" href=
"https://bugzilla.mozilla.org/show_bug.cgi?id=313646">Mozilla Bug
313646</a>
14 <div id=
"content" style=
"display: none">
18 <script class=
"testbody" type=
"text/javascript">
20 /** Test for Bug
313646 **/
22 // dom/base/test/bug313646.txt
24 SimpleTest.waitForExplicitFinish();
31 var req = new XMLHttpRequest();
32 req.onreadystatechange = function(evt) {
33 ++window[
"count" + evt.target.readyState];
35 // Do something a bit evil, start a new sync XHR in
36 // readyStateChange listener.
37 var innerXHR = new XMLHttpRequest();
38 innerXHR.onreadystatechange = function(e) {
39 if (e.target.readyState ==
4) {
43 innerXHR.open(
"GET",
"bug313646.txt", false);
47 // make the synchronous request
48 req.open(
"GET",
"bug313646.txt", false);
51 ok(count1,
"XMLHttpRequest wasn't in state 1");
52 is(count2,
0,
"XMLHttpRequest shouldn't have been in state 2");
53 is(count3,
0,
"XMLHttpRequest shouldn't have been in state 3");
54 ok(count4,
"XMLHttpRequest wasn't in state 4");
55 is(innerXHRDone,
2,
"There should have been 2 inner XHRs.");