Fix navigation to about:blank

This patch fixes navigation to about:blank url.
This commit is contained in:
Andrey Lushnikov 2017-07-28 16:44:51 -07:00
parent 26d97bbe3e
commit bd767002bb
3 changed files with 10 additions and 1 deletions

View File

@ -461,6 +461,9 @@ The `page.navigate` will throw an error if:
- there's an SSL error (e.g. in case of self-signed certificates).
- target URL is invalid.
- the `timeout` is exceeded during navigation.
- the main resource failed to load.
> **NOTE** `page.navigate` either throw or return a main resource response. The only exception is navigation to `about:blank`, which would succeed and return `null`.
#### page.pdf(options)
- `options` <[Object]> Options object which might have the following properties:

View File

@ -242,7 +242,7 @@ class Page extends EventEmitter {
/**
* @param {string} html
* @param {!Object=} options
* @return {!Promise<!Response>}
* @return {!Promise<?Response>}
*/
async navigate(url, options) {
const watcher = new NavigatorWatcher(this._client, options);
@ -260,6 +260,8 @@ class Page extends EventEmitter {
}
await result;
helper.removeEventListeners([listener]);
if (url === 'about:blank')
return null;
let response = responses.get(this.mainFrame().url());
if (!response)
throw new Error('Failed to navigate: ' + url);

View File

@ -443,6 +443,10 @@ describe('Puppeteer', function() {
});
describe('Page.navigate', function() {
it('should navigate to about:blank', SX(async function() {
let response = await page.navigate('about:blank');
expect(response).toBe(null);
}));
it('should fail when navigating to bad url', SX(async function() {
let error = null;
try {