Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion src/chromium/crPage.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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 };
Expand Down
10 changes: 1 addition & 9 deletions src/screenshotter.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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 }> {
Expand Down Expand Up @@ -152,8 +146,6 @@ export class Screenshotter {
}
}

const taskQueueSymbol = Symbol('TaskQueue');

class TaskQueue {
private _chain: Promise<any>;

Expand Down
6 changes: 3 additions & 3 deletions test/screenshot.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -116,18 +116,18 @@ 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');
return page;
}));
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}) => {
Expand Down