Roll chromium to r493673 (#240)

Mouse events are no longer racy. Enabling touch no longer converts all mouse events into touches. Promises in destroyed execution contexts are rejected immediately.
This commit is contained in:
JoelEinbinder 2017-08-11 01:21:02 -07:00 committed by Andrey Lushnikov
parent b8dbd28b8c
commit 497baf0198
4 changed files with 8 additions and 15 deletions

View File

@ -454,6 +454,11 @@ class WaitTask {
if (!success && !error)
return;
// When the page is navigated, the promise is rejected.
// We will try again in the new execution context.
if (error && error.message.includes('Execution context was destroyed'))
return;
if (error)
this._reject(error);
else

View File

@ -120,7 +120,6 @@ class Mouse {
x, y,
modifiers: this._keyboard._modifiers
});
await this._doubleRaf();
}
/**
@ -136,15 +135,6 @@ class Mouse {
await this.up(options);
}
async _doubleRaf() {
// This is a hack for now, to make clicking less race-prone. See crbug.com/747647
await this._client.send('Runtime.evaluate', {
expression: 'new Promise(f => requestAnimationFrame(() => requestAnimationFrame(f)))',
awaitPromise: true,
returnByValue: true
});
}
/**
* @param {!Object=} options
*/
@ -160,7 +150,6 @@ class Mouse {
modifiers: this._keyboard._modifiers,
clickCount: (options.clickCount || 1)
});
await this._doubleRaf();
}
/**
@ -178,7 +167,6 @@ class Mouse {
modifiers: this._keyboard._modifiers,
clickCount: (options.clickCount || 1)
});
await this._doubleRaf();
}
}

View File

@ -29,7 +29,7 @@
"ws": "^3.0.0"
},
"puppeteer": {
"chromium_revision": "492629"
"chromium_revision": "493673"
},
"devDependencies": {
"commonmark": "^0.27.0",

View File

@ -961,7 +961,7 @@ describe('Page', function() {
}
}));
// @see https://github.com/GoogleChrome/puppeteer/issues/161
xit('should not hang with touch-enabled viewports', SX(async function() {
it('should not hang with touch-enabled viewports', SX(async function() {
await page.setViewport(iPhone.viewport);
await page.mouse.down();
await page.mouse.move(100, 10);
@ -1209,7 +1209,7 @@ describe('Page', function() {
expect(await page.evaluate(() => window.lastEvent.repeat)).toBe(true);
}));
// @see https://github.com/GoogleChrome/puppeteer/issues/206
xit('should click links which cause navigation', SX(async function() {
it('should click links which cause navigation', SX(async function() {
await page.setContent(`<a href="${EMPTY_PAGE}">empty.html</a>`);
// This await should not hang.
await page.click('a');