Wed, 31 Dec 2014 06:09:35 +0100
Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.
1 /* Any copyright is dedicated to the Public Domain.
2 * http://creativecommons.org/publicdomain/zero/1.0/ */
4 const URL = "about:robots";
6 function test() {
7 let win;
9 let listener = {
10 onLocationChange: (webProgress, request, uri, flags) => {
11 ok(webProgress.isTopLevel, "Received onLocationChange from top frame");
12 is(uri.spec, URL, "Received onLocationChange for correct URL");
13 finish();
14 }
15 };
17 waitForExplicitFinish();
19 // Remove the listener and window when we're done.
20 registerCleanupFunction(() => {
21 win.gBrowser.removeProgressListener(listener);
22 win.close();
23 });
25 // Wait for the newly opened window.
26 whenNewWindowOpened(w => win = w);
28 // Open a link in a new window.
29 openLinkIn(URL, "window", {});
31 // On the next tick, but before the window has finished loading, access the
32 // window's gBrowser property to force the tabbrowser constructor early.
33 (function tryAddProgressListener() {
34 executeSoon(() => {
35 try {
36 win.gBrowser.addProgressListener(listener);
37 } catch (e) {
38 // win.gBrowser wasn't ready, yet. Try again in a tick.
39 tryAddProgressListener();
40 }
41 });
42 })();
43 }
45 function whenNewWindowOpened(cb) {
46 Services.obs.addObserver(function obs(win) {
47 Services.obs.removeObserver(obs, "domwindowopened");
48 cb(win);
49 }, "domwindowopened", false);
50 }