diff --git a/src/webkit/Page.ts b/src/webkit/Page.ts index d0b1ed3a9a..ce876d138c 100644 --- a/src/webkit/Page.ts +++ b/src/webkit/Page.ts @@ -347,6 +347,11 @@ export class Page extends EventEmitter { return this._frameManager.mainFrame().evaluate(pageFunction, ...args); } + async evaluateOnNewDocument(pageFunction: Function | string, ...args: Array) { + const source = helper.evaluationString(pageFunction, ...args); + await this._session.send('Page.setBootstrapScript', { source }); + } + async setCacheEnabled(enabled: boolean = true) { await this._frameManager.networkManager().setCacheEnabled(enabled); } diff --git a/test/evaluation.spec.js b/test/evaluation.spec.js index e7e2e38eec..6f2e089c32 100644 --- a/test/evaluation.spec.js +++ b/test/evaluation.spec.js @@ -256,7 +256,7 @@ module.exports.addTests = function({testRunner, expect, FFOX, CHROME, WEBKIT}) { }); }); - describe.skip(WEBKIT)('Page.evaluateOnNewDocument', function() { + fdescribe('Page.evaluateOnNewDocument', function() { it('should evaluate before anything else on the page', async({page, server}) => { await page.evaluateOnNewDocument(function(){ window.injected = 123;