feat(webkit): use new bypass csp method (#207)

This commit is contained in:
Pavel Feldman 2019-12-10 19:26:13 -08:00 committed by GitHub
parent 0353dbb3be
commit e42e361d20
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 7 additions and 4 deletions

View File

@ -10,7 +10,7 @@
"playwright": { "playwright": {
"chromium_revision": "719491", "chromium_revision": "719491",
"firefox_revision": "1004", "firefox_revision": "1004",
"webkit_revision": "1025" "webkit_revision": "1027"
}, },
"scripts": { "scripts": {
"unit": "node test/test.js", "unit": "node test/test.js",

View File

@ -355,6 +355,7 @@ export class Page<Browser> extends EventEmitter {
async setBypassCSP(enabled: boolean) { async setBypassCSP(enabled: boolean) {
if (this._state.bypassCSP === enabled) if (this._state.bypassCSP === enabled)
return; return;
this._state.bypassCSP = enabled;
await this._delegate.setBypassCSP(enabled); await this._delegate.setBypassCSP(enabled);
} }

View File

@ -120,6 +120,8 @@ export class FrameManager extends EventEmitter implements frames.FrameDelegate,
promises.push(session.send('Page.setEmulatedMedia', { media: this._page._state.mediaType || '' })); promises.push(session.send('Page.setEmulatedMedia', { media: this._page._state.mediaType || '' }));
if (this._page._state.javascriptEnabled !== null) if (this._page._state.javascriptEnabled !== null)
promises.push(session.send('Emulation.setJavaScriptEnabled', { enabled: this._page._state.javascriptEnabled })); promises.push(session.send('Emulation.setJavaScriptEnabled', { enabled: this._page._state.javascriptEnabled }));
if (this._page._state.bypassCSP !== null)
promises.push(session.send('Page.setBypassCSP', { enabled: this._page._state.bypassCSP }));
await Promise.all(promises); await Promise.all(promises);
} }
@ -456,8 +458,8 @@ export class FrameManager extends EventEmitter implements frames.FrameDelegate,
await this._session.send('Emulation.setJavaScriptEnabled', { enabled }); await this._session.send('Emulation.setJavaScriptEnabled', { enabled });
} }
setBypassCSP(enabled: boolean): Promise<void> { async setBypassCSP(enabled: boolean): Promise<void> {
throw new Error('Not implemented'); await this._session.send('Page.setBypassCSP', { enabled });
} }
async setViewport(viewport: types.Viewport): Promise<void> { async setViewport(viewport: types.Viewport): Promise<void> {

View File

@ -604,7 +604,7 @@ module.exports.addTests = function({testRunner, expect, headless, playwright, FF
}); });
}); });
describe.skip(WEBKIT)('Page.setBypassCSP', function() { describe('Page.setBypassCSP', function() {
it('should bypass CSP meta tag', async({page, server}) => { it('should bypass CSP meta tag', async({page, server}) => {
// Make sure CSP prohibits addScriptTag. // Make sure CSP prohibits addScriptTag.
await page.goto(server.PREFIX + '/csp.html'); await page.goto(server.PREFIX + '/csp.html');