browser_referrer_click_pinned_tab.js (2348B)
1 /* This Source Code Form is subject to the terms of the Mozilla Public 2 * License, v. 2.0. If a copy of the MPL was not distributed with this 3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 4 5 // We will open a new tab if clicking on a cross domain link in pinned tab 6 // So, override the tests data in head.js, adding "cross: true". 7 8 _referrerTests = [ 9 { 10 // eslint-disable-next-line @microsoft/sdl/no-insecure-url 11 fromScheme: "http://", 12 // eslint-disable-next-line @microsoft/sdl/no-insecure-url 13 toScheme: "http://", 14 cross: true, 15 // eslint-disable-next-line @microsoft/sdl/no-insecure-url 16 result: "http://test1.example.com/", // origin 17 }, 18 { 19 fromScheme: "https://", 20 // eslint-disable-next-line @microsoft/sdl/no-insecure-url 21 toScheme: "http://", 22 cross: true, 23 result: "", // no referrer when downgrade 24 }, 25 { 26 fromScheme: "https://", 27 // eslint-disable-next-line @microsoft/sdl/no-insecure-url 28 toScheme: "http://", 29 policy: "origin", 30 cross: true, 31 result: "https://test1.example.com/", // origin, even on downgrade 32 }, 33 { 34 fromScheme: "https://", 35 // eslint-disable-next-line @microsoft/sdl/no-insecure-url 36 toScheme: "http://", 37 policy: "origin", 38 rel: "noreferrer", 39 cross: true, 40 result: "", // rel=noreferrer trumps meta-referrer 41 }, 42 { 43 fromScheme: "https://", 44 toScheme: "https://", 45 policy: "no-referrer", 46 cross: true, 47 result: "", // same origin https://test1.example.com/browser 48 }, 49 { 50 // eslint-disable-next-line @microsoft/sdl/no-insecure-url 51 fromScheme: "http://", 52 toScheme: "https://", 53 policy: "no-referrer", 54 cross: true, 55 result: "", // cross origin http://test1.example.com 56 }, 57 ]; 58 59 async function startClickPinnedTabTestCase(aTestNumber) { 60 info( 61 "browser_referrer_click_pinned_tab: " + 62 getReferrerTestDescription(aTestNumber) 63 ); 64 let browser = gTestWindow.gBrowser; 65 66 browser.pinTab(browser.selectedTab); 67 someTabLoaded(gTestWindow).then(function (aNewTab) { 68 checkReferrerAndStartNextTest( 69 aTestNumber, 70 null, 71 aNewTab, 72 startClickPinnedTabTestCase 73 ); 74 }); 75 76 clickTheLink(gTestWindow, "testlink", {}); 77 } 78 79 function test() { 80 requestLongerTimeout(10); // slowwww shutdown on e10s 81 startReferrerTest(startClickPinnedTabTestCase); 82 }