Skip to content

Commit

Permalink
Remove configurability for whether noreferrer implies noopener
Browse files Browse the repository at this point in the history
RELNOTES[INC]: Remove configurability for whether window.open with noreferrer implies noopener

PiperOrigin-RevId: 467259786
Change-Id: Ic07e344977d642a67283e6da7c0255fecbf0c86e
  • Loading branch information
Closure Team authored and Copybara-Service committed Aug 12, 2022
1 parent b811be0 commit 3e83d96
Show file tree
Hide file tree
Showing 2 changed files with 1 addition and 59 deletions.
24 changes: 1 addition & 23 deletions closure/goog/window/window.js
Original file line number Diff line number Diff line change
Expand Up @@ -54,27 +54,6 @@ goog.window.createFakeWindow_ = function() {
return /** @type {!Window} */ ({});
};

/**
* @define {boolean} Whether setting 'noreferrer' implies 'noopener'. Ultimately
* we aim to make this true by default.
*/
goog.window.NOREFERRER_IMPLIES_NOOPENER =
goog.define('goog.window.NOREFERRER_IMPLIES_NOOPENER', true);

/**
* @const forTesting contains a map used for overriding goog.defines for
* testing purposes.
*/
goog.window.forTesting = {};

/**
* @type {boolean} An overridable copy of
* goog.window.NOREFERRER_IMPLIES_NOOPENER.
*/
goog.window.forTesting.noreferrerImpliesNoopener =
goog.window.NOREFERRER_IMPLIES_NOOPENER;


/**
* Opens a new window.
*
Expand Down Expand Up @@ -315,8 +294,7 @@ goog.window.open = function(linkRef, opt_options, opt_parentWin) {
// we're already running on a modern enough browser that the referrer is
// hidden by default. But setting noreferrer implies noopener too, so we
// also have to clear the opener here.
if (goog.window.forTesting.noreferrerImpliesNoopener && newWin &&
opt_options['noreferrer']) {
if (newWin && opt_options['noreferrer']) {
newWin.opener = null;
}
}
Expand Down
36 changes: 0 additions & 36 deletions closure/goog/window/window_test.js
Original file line number Diff line number Diff line change
Expand Up @@ -144,7 +144,6 @@ testSuite({

setUp() {
newWin = null;
googWindow.forTesting.noreferrerImpliesNoopener = true;
},

tearDown() {
Expand Down Expand Up @@ -516,39 +515,4 @@ testSuite({
assertEquals('', openedUrl);
}
},


testOpenNewWindowNoreferrerImpliesNoopenerDisabled() {
googWindow.forTesting.noreferrerImpliesNoopener = false;

let documentWriteHtml;
let openedUrl;
const mockNewWin = {};
mockNewWin.document = {
write: function(html) {
documentWriteHtml = html;
},
close: function() {},
};
const /** ? */ mockWin = {
open: function(url) {
openedUrl = url;
return mockNewWin;
},
};
mockNewWin.opener = mockWin;
const options = {noreferrer: true};
const win = googWindow.open('https://example.com', options, mockWin);
if (self.crossOriginIsolated !== undefined) {
assertEquals(undefined, documentWriteHtml);
assertEquals('https://example.com', openedUrl);
assertNotNull(win.opener);
} else {
assertEquals(
'<meta name="referrer" content="no-referrer"><meta http-equiv="refresh" content="0; url=https://example.com">',
documentWriteHtml);
assertEquals('', openedUrl);
assertNull(win.opener);
}
},
});

0 comments on commit 3e83d96

Please sign in to comment.