blob: 8f7103d4464c511796ce79118c1c65820b914df4 [file] [log] [blame]
(async function(testRunner) {
var {page, session, dp} = await testRunner.startBlank('Tests that page.setWebLifecycleState method invokes the state transition callbacks.');
await dp.Runtime.enable();
await session.evaluate(() => {
window.document.addEventListener('freeze', function (event) {
console.log('FROZEN');
}, false);
window.document.addEventListener('resume', function (event) {
console.log('RESUMED');
}, false);
});
dp.Page.setWebLifecycleState({state: 'frozen'});
// Console message should be emitted from-inside the onfreeze handler.
await dp.Runtime.onceConsoleAPICalled(messageObject => messageObject.params.args[0].value === 'FROZEN');
dp.Page.setWebLifecycleState({state: 'active'});
// Console message should be emitted from-inside the onresume handler.
await dp.Runtime.onceConsoleAPICalled(messageObject => messageObject.params.args[0].value === 'RESUMED');
var message = await dp.Page.setWebLifecycleState({state: 'abc'});
if (!message.error) {
testRunner.log('Failed to err on an invalid state');
testRunner.completeTest();
return;
}
testRunner.log('SUCCESS!');
testRunner.completeTest();
})