|
1 function test() { |
|
2 waitForExplicitFinish(); |
|
3 gBrowser.addProgressListener(progressListener1); |
|
4 gBrowser.addProgressListener(progressListener2); |
|
5 gBrowser.addProgressListener(progressListener3); |
|
6 gBrowser.loadURI("data:text/plain,bug519216"); |
|
7 } |
|
8 |
|
9 var calledListener1 = false; |
|
10 var progressListener1 = { |
|
11 onLocationChange: function onLocationChange() { |
|
12 calledListener1 = true; |
|
13 gBrowser.removeProgressListener(this); |
|
14 } |
|
15 }; |
|
16 |
|
17 var calledListener2 = false; |
|
18 var progressListener2 = { |
|
19 onLocationChange: function onLocationChange() { |
|
20 ok(calledListener1, "called progressListener1 before progressListener2"); |
|
21 calledListener2 = true; |
|
22 gBrowser.removeProgressListener(this); |
|
23 } |
|
24 }; |
|
25 |
|
26 var progressListener3 = { |
|
27 onLocationChange: function onLocationChange() { |
|
28 ok(calledListener2, "called progressListener2 before progressListener3"); |
|
29 gBrowser.removeProgressListener(this); |
|
30 gBrowser.addProgressListener(progressListener4); |
|
31 executeSoon(function () { |
|
32 expectListener4 = true; |
|
33 gBrowser.reload(); |
|
34 }); |
|
35 } |
|
36 }; |
|
37 |
|
38 var expectListener4 = false; |
|
39 var progressListener4 = { |
|
40 onLocationChange: function onLocationChange() { |
|
41 ok(expectListener4, "didn't call progressListener4 for the first location change"); |
|
42 gBrowser.removeProgressListener(this); |
|
43 executeSoon(finish); |
|
44 } |
|
45 }; |