Revert part of bug 460548, increasing the leak to 75000 again.
[wine-gecko.git] / extensions / cookie / test / file_testloadflags.js
blob316fb6fef16b2d49bbab309913335e85250a23bc
1 SimpleTest.waitForExplicitFinish();
3 var gPopup = null;
5 var gExpectedCookies = 0;
6 var gExpectedLoads = 0;
7 var gExpectedHeaders = 0;
8 var gLoads = 0;
9 var gHeaders = 0;
11 var o = null;
13 function setupTest(uri, domain, cookies, loads, headers) {
14 netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
16 var prefs = Components.classes["@mozilla.org/preferences-service;1"]
17 .getService(Components.interfaces.nsIPrefBranch);
18 prefs.setIntPref("network.cookie.cookieBehavior", 1);
20 var cs = Components.classes["@mozilla.org/cookiemanager;1"]
21 .getService(Components.interfaces.nsICookieManager2);
22 cs.removeAll();
23 cs.add(domain, "", "oh", "hai", false, false, true, Math.pow(2, 62));
24 is(cs.countCookiesFromHost(domain), 1, "cookie wasn't inited");
26 o = new obs();
28 gExpectedCookies = cookies;
29 gExpectedLoads = loads;
30 gExpectedHeaders = headers;
32 // load a window which contains an iframe; each will attempt to set
33 // cookies from their respective domains.
34 gPopup = window.open(uri, 'hai', 'width=100,height=100');
37 function obs () {
38 netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
39 this.os = Components.classes["@mozilla.org/observer-service;1"]
40 .getService(Components.interfaces.nsIObserverService);
41 this.os.addObserver(this, "http-on-modify-request", false);
42 this.window = window;
45 obs.prototype = {
46 observe: function obs_observe (theSubject, theTopic, theData)
48 this.window.netscape.security
49 .PrivilegeManager.enablePrivilege("UniversalXPConnect");
50 var httpchannel = theSubject.QueryInterface(this.window.Components.interfaces
51 .nsIHttpChannel);
53 var cookie = httpchannel.getRequestHeader("Cookie");
55 var got = cookie.indexOf("oh=hai");
56 this.window.isnot(got, -1, "cookie wasn't sent");
57 gHeaders++;
60 remove: function obs_remove()
62 netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
63 this.os.removeObserver(this, "http-on-modify-request");
64 this.os = null;
65 this.window = null;
69 /** Receives MessageEvents to this window. */
70 function messageReceiver(evt)
72 ok(evt instanceof MessageEvent, "wrong event type");
74 if (evt.data == "message")
75 gLoads++;
76 else {
77 ok(false, "wrong message");
78 o.remove();
79 gPopup.close();
80 SimpleTest.finish();
83 // only run the test when all our children are done loading & setting cookies
84 if (gLoads == gExpectedLoads)
85 runTest();
88 function runTest() {
89 // set a cookie from a domain of "localhost"
90 document.cookie = "o=noes";
92 netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
93 var cs = Components.classes["@mozilla.org/cookiemanager;1"]
94 .getService(Components.interfaces.nsICookieManager);
95 var list = cs.enumerator;
96 var count = 0;
97 while (list.hasMoreElements()) {
98 count++;
99 list.getNext();
101 is(count, gExpectedCookies, "incorrect number of cookies");
102 is(gHeaders, gExpectedHeaders, "incorrect number of request headers");
104 o.remove();
105 gPopup.close();
106 cs.removeAll();
107 SimpleTest.finish();
110 window.addEventListener("message", messageReceiver, false);