diff --git a/packages/trace-viewer/src/sw/snapshotRenderer.ts b/packages/trace-viewer/src/sw/snapshotRenderer.ts index 6fa91d472b..438683ed84 100644 --- a/packages/trace-viewer/src/sw/snapshotRenderer.ts +++ b/packages/trace-viewer/src/sw/snapshotRenderer.ts @@ -439,7 +439,7 @@ function snapshotScript(...targetIds: (string | undefined)[]) { } - if (isTopFrame) { + if (!isTopFrame) { for (const canvas of canvasElements) { const context = canvas.getContext('2d')!; drawCheckerboard(context, canvas); diff --git a/tests/library/trace-viewer.spec.ts b/tests/library/trace-viewer.spec.ts index 88fe277829..3af4feaeb5 100644 --- a/tests/library/trace-viewer.spec.ts +++ b/tests/library/trace-viewer.spec.ts @@ -1461,7 +1461,7 @@ test('canvas clipping in iframe', async ({ runAndTrace, page, server }) => { await rafraf(page, 5); }); - const snapshot = await traceViewer.snapshotFrame('page.waitForTimeout'); + const snapshot = await traceViewer.snapshotFrame('page.evaluate'); const canvas = snapshot.locator('iframe').contentFrame().locator('canvas'); await expect(canvas).toHaveAttribute('title', `Playwright displays canvas contents on a best-effort basis. It doesn't support canvas elements inside an iframe yet. If this impacts your workflow, please open an issue so we can prioritize.`); });