fix(engine): restore fast screenshot path for viewport captures (#1670)

This commit is contained in:
Miguel Ángel
2026-06-23 15:13:24 -04:00
committed by GitHub
parent bf4f34b359
commit f622e5a7ba
6 changed files with 44 additions and 7 deletions
@@ -41,11 +41,33 @@ describe("pageScreenshotCapture supersample plumbing", () => {
expect(send).toHaveBeenCalledWith(
"Page.captureScreenshot",
expect.objectContaining({
captureBeyondViewport: false,
clip: { x: 0, y: 0, width: 1920, height: 1080, scale: 1 },
}),
);
});
it("uses captureBeyondViewport only when callers opt in", async () => {
const send = vi.fn().mockResolvedValue({ data: ONE_PIXEL_PNG_B64 });
const page = makeFakePageWithCdp(send);
await pageScreenshotCapture(page, {
width: 1080,
height: 1920,
fps: { num: 30, den: 1 },
format: "jpeg",
captureBeyondViewport: true,
});
expect(send).toHaveBeenCalledWith(
"Page.captureScreenshot",
expect.objectContaining({
captureBeyondViewport: true,
clip: { x: 0, y: 0, width: 1080, height: 1920, scale: 1 },
}),
);
});
it("passes `clip` with scale 1 when deviceScaleFactor is exactly 1", async () => {
const send = vi.fn().mockResolvedValue({ data: ONE_PIXEL_PNG_B64 });
const page = makeFakePageWithCdp(send);