mirror of
https://github.com/puppeteer/puppeteer
synced 2024-06-14 14:02:48 +00:00
fix: allow user gesture restricted code to be run in page.evaluate (#2503)
Fixes #2502
This commit is contained in:
committed by
Andrey Lushnikov
parent
1db4986d12
commit
1d225cfa17
@@ -196,6 +196,18 @@ module.exports.addTests = function({testRunner, expect, puppeteer, DeviceDescrip
|
||||
const isFive = await page.evaluate(e => Object.is(e, 5), aHandle);
|
||||
expect(isFive).toBeTruthy();
|
||||
});
|
||||
it('should simulate a user gesture', async({page, server}) => {
|
||||
await page.evaluate(playAudio);
|
||||
// also test evaluating strings
|
||||
await page.evaluate(`(${playAudio})()`);
|
||||
|
||||
function playAudio() {
|
||||
const audio = document.createElement('audio');
|
||||
audio.src = 'data:audio/wav;base64,UklGRiQAAABXQVZFZm10IBAAAAABAAEARKwAAIhYAQACABAAZGF0YQAAAAA=';
|
||||
// This returns a promise which throws if it was not triggered by a user gesture.
|
||||
return audio.play();
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
describe('Page.setOfflineMode', function() {
|
||||
|
||||
Reference in New Issue
Block a user