fix: handle asynchronous URL loading in bw proxy (#23947)

This commit is contained in:
Shelley Vohr
2020-06-03 15:54:43 -07:00
committed by GitHub
parent 0afec38c81
commit c412f7ddf1
3 changed files with 10 additions and 6 deletions

View File

@@ -882,10 +882,10 @@ Returns `String` - The URL of the current web page.
```javascript
const { BrowserWindow } = require('electron')
let win = new BrowserWindow({ width: 800, height: 600 })
win.loadURL('http://github.com')
let currentURL = win.webContents.getURL()
console.log(currentURL)
win.loadURL('http://github.com').then(() => {
const currentURL = win.webContents.getURL()
console.log(currentURL)
})
```
#### `contents.getTitle()`

View File

@@ -126,7 +126,11 @@ class LocationProxy {
}
private getGuestURL (): URL | null {
const urlString = this._invokeWebContentsMethodSync('getURL') as string;
const maybeURL = this._invokeWebContentsMethodSync('getURL') as string;
// When there's no previous frame the url will be blank, so accountfor that here
// to prevent url parsing errors on an empty string.
const urlString = maybeURL !== '' ? maybeURL : 'about:blank';
try {
return new URL(urlString);
} catch (e) {

View File

@@ -3994,7 +3994,7 @@ describe('BrowserWindow module', () => {
window.postMessage({openedLocation}, '*')
`)
const [, data] = await p
expect(data.pageContext.openedLocation).to.equal('')
expect(data.pageContext.openedLocation).to.equal('about:blank')
})
})