1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
|
"use strict";
function createURI(s) {
return Services.io.newURI(s);
}
function run_test() {
// Set up a profile.
do_get_profile();
var secMan = Services.scriptSecurityManager;
const kURI1 = "http://example.com";
var app = secMan.createContentPrincipal(createURI(kURI1), {});
var appbrowser = secMan.createContentPrincipal(createURI(kURI1), {
inIsolatedMozBrowser: true,
});
var am = Cc["@mozilla.org/network/http-auth-manager;1"].getService(
Ci.nsIHttpAuthManager
);
am.setAuthIdentity(
"http",
"a.example.com",
-1,
"basic",
"realm",
"",
"example.com",
"user",
"pass",
false,
app
);
am.setAuthIdentity(
"http",
"a.example.com",
-1,
"basic",
"realm",
"",
"example.com",
"user3",
"pass3",
false,
appbrowser
);
Services.clearData.deleteDataFromOriginAttributesPattern({
inIsolatedMozBrowser: true,
});
var domain = { value: "" },
user = { value: "" },
pass = { value: "" };
try {
am.getAuthIdentity(
"http",
"a.example.com",
-1,
"basic",
"realm",
"",
domain,
user,
pass,
false,
appbrowser
);
Assert.equal(false, true); // no identity should be present
} catch (x) {
Assert.equal(domain.value, "");
Assert.equal(user.value, "");
Assert.equal(pass.value, "");
}
am.getAuthIdentity(
"http",
"a.example.com",
-1,
"basic",
"realm",
"",
domain,
user,
pass,
false,
app
);
Assert.equal(domain.value, "example.com");
Assert.equal(user.value, "user");
Assert.equal(pass.value, "pass");
}
|