From b61a57951bb48e2e74f109e4dc5c88b6ed8282fc Mon Sep 17 00:00:00 2001 From: Yury Semikhatsky Date: Fri, 22 Nov 2019 11:54:14 -0800 Subject: [PATCH] feat(page): support Page.evaluateOnNewDocument for WebKit --- src/webkit/Page.ts | 5 +++++ test/evaluation.spec.js | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) 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;