Propagate referrer to new windows (#12397)

* Propagate referrer to new windows

Fixes #9205

* Rearrange -new-window event arguments for backwards-compatibility

* Plumb referrer policy through guest-window-manager

* Document the Referrer structure and its uses

* Add tests for referrer in new windows

* Docs nits
This commit is contained in:
Jeremy Apthorp 2018-04-05 16:13:24 -07:00 committed by Charles Kerr
parent 4316949a1d
commit f0d08f4da1
14 changed files with 186 additions and 22 deletions

View file

@ -19,16 +19,16 @@ BrowserWindow.prototype._init = function () {
}
// Make new windows requested by links behave like "window.open"
this.webContents.on('-new-window', (event, url, frameName,
disposition, additionalFeatures,
postData) => {
this.webContents.on('-new-window', (event, url, frameName, disposition,
additionalFeatures, postData,
referrer) => {
const options = {
show: true,
width: 800,
height: 600
}
ipcMain.emit('ELECTRON_GUEST_WINDOW_MANAGER_INTERNAL_WINDOW_OPEN',
event, url, frameName, disposition,
event, url, referrer, frameName, disposition,
options, additionalFeatures, postData)
})
@ -59,8 +59,9 @@ BrowserWindow.prototype._init = function () {
height: height || 600,
webContents: webContents
}
const referrer = { url: '', policy: 'default' }
ipcMain.emit('ELECTRON_GUEST_WINDOW_MANAGER_INTERNAL_WINDOW_OPEN',
event, url, frameName, disposition, options)
event, url, referrer, frameName, disposition, options)
})
// window.resizeTo(...)