diff --git a/src/webkit/Page.ts b/src/webkit/Page.ts index 73187f09cf..3e38be9426 100644 --- a/src/webkit/Page.ts +++ b/src/webkit/Page.ts @@ -344,6 +344,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..aa10248abd 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() { + describe('Page.evaluateOnNewDocument', function() { it('should evaluate before anything else on the page', async({page, server}) => { await page.evaluateOnNewDocument(function(){ window.injected = 123;