fix: default prop of location should be empty str
This commit is contained in:
parent
fc4e10b6c0
commit
ca7dec2082
4 changed files with 8 additions and 7 deletions
|
@ -70,7 +70,8 @@ function LocationProxy (ipcRenderer, guestId) {
|
||||||
return {
|
return {
|
||||||
get: function () {
|
get: function () {
|
||||||
const guestURL = getGuestURL()
|
const guestURL = getGuestURL()
|
||||||
return guestURL ? guestURL[property] : ''
|
const value = guestURL ? guestURL[property] : ''
|
||||||
|
return value === undefined ? '' : value
|
||||||
},
|
},
|
||||||
set: function (newVal) {
|
set: function (newVal) {
|
||||||
const guestURL = getGuestURL()
|
const guestURL = getGuestURL()
|
||||||
|
|
|
@ -3480,7 +3480,7 @@ describe('BrowserWindow module', () => {
|
||||||
iw.loadURL('about:blank')
|
iw.loadURL('about:blank')
|
||||||
iw.webContents.executeJavaScript(`
|
iw.webContents.executeJavaScript(`
|
||||||
const opened = window.open()
|
const opened = window.open()
|
||||||
openedLocation = opened.location
|
openedLocation = opened.location.href
|
||||||
opened.close()
|
opened.close()
|
||||||
window.postMessage({openedLocation}, '*')
|
window.postMessage({openedLocation}, '*')
|
||||||
`)
|
`)
|
||||||
|
|
|
@ -545,14 +545,14 @@ describe('chromium feature', () => {
|
||||||
webContents.once('did-finish-load', () => {
|
webContents.once('did-finish-load', () => {
|
||||||
const { location } = b
|
const { location } = b
|
||||||
b.close()
|
b.close()
|
||||||
assert.strictEqual(location, 'about:blank')
|
assert.strictEqual(location.href, 'about:blank')
|
||||||
|
|
||||||
let c = null
|
let c = null
|
||||||
app.once('browser-window-created', (event, { webContents }) => {
|
app.once('browser-window-created', (event, { webContents }) => {
|
||||||
webContents.once('did-finish-load', () => {
|
webContents.once('did-finish-load', () => {
|
||||||
const { location } = c
|
const { location } = c
|
||||||
c.close()
|
c.close()
|
||||||
assert.strictEqual(location, 'about:blank')
|
assert.strictEqual(location.href, 'about:blank')
|
||||||
done()
|
done()
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
@ -645,7 +645,7 @@ describe('chromium feature', () => {
|
||||||
|
|
||||||
it('does nothing when origin of current window does not match opener', (done) => {
|
it('does nothing when origin of current window does not match opener', (done) => {
|
||||||
listener = (event) => {
|
listener = (event) => {
|
||||||
assert.strictEqual(event.data, null)
|
assert.strictEqual(event.data, '')
|
||||||
done()
|
done()
|
||||||
}
|
}
|
||||||
window.addEventListener('message', listener)
|
window.addEventListener('message', listener)
|
||||||
|
@ -694,7 +694,7 @@ describe('chromium feature', () => {
|
||||||
it('does nothing when origin of webview src URL does not match opener', (done) => {
|
it('does nothing when origin of webview src URL does not match opener', (done) => {
|
||||||
webview = new WebView()
|
webview = new WebView()
|
||||||
webview.addEventListener('console-message', (e) => {
|
webview.addEventListener('console-message', (e) => {
|
||||||
assert.strictEqual(e.message, 'null')
|
assert.strictEqual(e.message, '')
|
||||||
done()
|
done()
|
||||||
})
|
})
|
||||||
webview.setAttribute('allowpopups', 'on')
|
webview.setAttribute('allowpopups', 'on')
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
<html>
|
<html>
|
||||||
<body>
|
<body>
|
||||||
<script type="text/javascript" charset="utf-8">
|
<script type="text/javascript" charset="utf-8">
|
||||||
window.opener.postMessage(window.opener.location, '*')
|
window.opener.postMessage(window.opener.location.href, '*')
|
||||||
</script>
|
</script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
Loading…
Reference in a new issue