diff --git a/src/chromium/crPage.ts b/src/chromium/crPage.ts index 88f9d3693c687..9f21463e6c694 100644 --- a/src/chromium/crPage.ts +++ b/src/chromium/crPage.ts @@ -216,7 +216,6 @@ export class CRPage implements PageDelegate { }) }; } - await this._mainFrameSession._client.send('Page.bringToFront', {}); // When taking screenshots with documentRect (based on the page content, not viewport), // ignore current page scale. const clip = { ...documentRect, scale: viewportRect ? visualViewport.scale : 1 }; diff --git a/src/screenshotter.ts b/src/screenshotter.ts index b83bfcb6428a2..1578a9738bff1 100644 --- a/src/screenshotter.ts +++ b/src/screenshotter.ts @@ -30,13 +30,7 @@ export class Screenshotter { constructor(page: Page) { this._page = page; - - const browserContext = page.context(); - this._queue = (browserContext as any)[taskQueueSymbol]; - if (!this._queue) { - this._queue = new TaskQueue(); - (browserContext as any)[taskQueueSymbol] = this._queue; - } + this._queue = new TaskQueue(); } private async _originalViewportSize(): Promise<{ viewportSize: types.Size, originalViewportSize: types.Size | null }> { @@ -152,8 +146,6 @@ export class Screenshotter { } } -const taskQueueSymbol = Symbol('TaskQueue'); - class TaskQueue { private _chain: Promise; diff --git a/test/screenshot.spec.js b/test/screenshot.spec.js index 77b64aa4543dd..10d3d7e6c67e3 100644 --- a/test/screenshot.spec.js +++ b/test/screenshot.spec.js @@ -116,7 +116,7 @@ describe.skip(ffheadful)('Page.screenshot', function() { expect(page.viewportSize().height).toBe(500); }); it('should run in parallel in multiple pages', async({page, server, context, golden}) => { - const N = 2; + const N = 5; const pages = await Promise.all(Array(N).fill(0).map(async() => { const page = await context.newPage(); await page.goto(server.PREFIX + '/grid.html'); @@ -124,10 +124,10 @@ describe.skip(ffheadful)('Page.screenshot', function() { })); const promises = []; for (let i = 0; i < N; ++i) - promises.push(pages[i].screenshot({ clip: { x: 50 * i, y: 0, width: 50, height: 50 } })); + promises.push(pages[i].screenshot({ clip: { x: 50 * (i % 2), y: 0, width: 50, height: 50 } })); const screenshots = await Promise.all(promises); for (let i = 0; i < N; ++i) - expect(screenshots[i]).toBeGolden(golden(`grid-cell-${i}.png`)); + expect(screenshots[i]).toBeGolden(golden(`grid-cell-${i % 2}.png`)); await Promise.all(pages.map(page => page.close())); }); it.fail(FFOX)('should allow transparency', async({page, golden}) => {