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
|
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
// We will open a new tab if clicking on a cross domain link in pinned tab
// So, override the tests data in head.js, adding "cross: true".
_referrerTests = [
{
fromScheme: "http://",
toScheme: "http://",
cross: true,
result: "http://test1.example.com/", // origin
},
{
fromScheme: "https://",
toScheme: "http://",
cross: true,
result: "", // no referrer when downgrade
},
{
fromScheme: "https://",
toScheme: "http://",
policy: "origin",
cross: true,
result: "https://test1.example.com/", // origin, even on downgrade
},
{
fromScheme: "https://",
toScheme: "http://",
policy: "origin",
rel: "noreferrer",
cross: true,
result: "", // rel=noreferrer trumps meta-referrer
},
{
fromScheme: "https://",
toScheme: "https://",
policy: "no-referrer",
cross: true,
result: "", // same origin https://test1.example.com/browser
},
{
fromScheme: "http://",
toScheme: "https://",
policy: "no-referrer",
cross: true,
result: "", // cross origin http://test1.example.com
},
];
async function startClickPinnedTabTestCase(aTestNumber) {
info(
"browser_referrer_click_pinned_tab: " +
getReferrerTestDescription(aTestNumber)
);
let browser = gTestWindow.gBrowser;
browser.pinTab(browser.selectedTab);
someTabLoaded(gTestWindow).then(function(aNewTab) {
checkReferrerAndStartNextTest(
aTestNumber,
null,
aNewTab,
startClickPinnedTabTestCase
);
});
clickTheLink(gTestWindow, "testlink", {});
}
function test() {
requestLongerTimeout(10); // slowwww shutdown on e10s
startReferrerTest(startClickPinnedTabTestCase);
}
|