mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-25 19:25:43 +00:00
Bug 587523: update test_referrer.js to include pbmode tests r=valentin
MozReview-Commit-ID: FXUMi9Q3S3P --HG-- extra : rebase_source : 5fabbd2ed3aa04eb68d4e1e43ef0b710125ffee5
This commit is contained in:
parent
111ae8a75d
commit
a102c64ea0
@ -1567,6 +1567,9 @@ HttpBaseChannel::GetReferrer(nsIURI **referrer)
|
||||
NS_IMETHODIMP
|
||||
HttpBaseChannel::SetReferrer(nsIURI *referrer)
|
||||
{
|
||||
if (mLoadInfo->GetOriginAttributes().mPrivateBrowsingId > 0) {
|
||||
return SetReferrerWithPolicy(referrer, NS_GetDefaultReferrerPolicy(true));
|
||||
}
|
||||
return SetReferrerWithPolicy(referrer, NS_GetDefaultReferrerPolicy());
|
||||
}
|
||||
|
||||
|
@ -1,14 +1,13 @@
|
||||
Cu.import("resource://gre/modules/NetUtil.jsm");
|
||||
Cu.import("resource://gre/modules/Services.jsm");
|
||||
|
||||
function getTestReferrer(server_uri, referer_uri) {
|
||||
function getTestReferrer(server_uri, referer_uri, isPrivate=false) {
|
||||
var uri = NetUtil.newURI(server_uri)
|
||||
let referrer = NetUtil.newURI(referer_uri);
|
||||
let triggeringPrincipal = Services.scriptSecurityManager.createCodebasePrincipal(referrer, {});
|
||||
let principal = Services.scriptSecurityManager.createCodebasePrincipal(referrer, {privateBrowsingId: isPrivate ? 1 : 0});
|
||||
var chan = NetUtil.newChannel({
|
||||
uri: uri,
|
||||
loadingPrincipal: Services.scriptSecurityManager.getSystemPrincipal(),
|
||||
triggeringPrincipal: triggeringPrincipal,
|
||||
loadingPrincipal: principal,
|
||||
contentPolicyType: Ci.nsIContentPolicy.TYPE_OTHER
|
||||
});
|
||||
|
||||
@ -63,6 +62,22 @@ function run_test() {
|
||||
Assert.equal(getTestReferrer(server_uri, referer_uri), referer_uri);
|
||||
Assert.equal(null, getTestReferrer(server_uri_2, referer_uri_https));
|
||||
|
||||
// tests for referer.defaultPolicy
|
||||
prefs.setIntPref("network.http.referer.defaultPolicy.pbmode", 0);
|
||||
Assert.equal(null, getTestReferrer(server_uri, referer_uri, true));
|
||||
prefs.setIntPref("network.http.referer.defaultPolicy.pbmode", 1);
|
||||
Assert.equal(null, getTestReferrer(server_uri, referer_uri, true));
|
||||
Assert.equal(getTestReferrer(server_uri, referer_uri_2, true), referer_uri_2);
|
||||
prefs.setIntPref("network.http.referer.defaultPolicy.pbmode", 2);
|
||||
Assert.equal(null, getTestReferrer(server_uri, referer_uri_https, true));
|
||||
Assert.equal(getTestReferrer(server_uri_https, referer_uri_https, true), referer_uri_https);
|
||||
Assert.equal(getTestReferrer(server_uri_https, referer_uri_2_https, true), "https://bar.examplesite.com/");
|
||||
Assert.equal(getTestReferrer(server_uri, referer_uri_2, true), referer_uri_2);
|
||||
Assert.equal(getTestReferrer(server_uri, referer_uri, true), "http://foo.example.com/");
|
||||
prefs.setIntPref("network.http.referer.defaultPolicy.pbmode", 3);
|
||||
Assert.equal(getTestReferrer(server_uri, referer_uri, true), referer_uri);
|
||||
Assert.equal(null, getTestReferrer(server_uri_2, referer_uri_https, true));
|
||||
|
||||
// tests for referer.spoofSource
|
||||
prefs.setBoolPref("network.http.referer.spoofSource", true);
|
||||
Assert.equal(getTestReferrer(server_uri, referer_uri), server_uri);
|
||||
|
Loading…
Reference in New Issue
Block a user