Skip to content

[Bug]: locator.click() hangs in stability check after MPA @view-transition { navigation: auto } on Chromium 149 #41562

Description

@alexaka1

Version

1.61.1

Steps to reproduce

https://github.com/alexaka1/repro-playwright--1.60-view-transition

git clone https://github.com/alexaka1/repro-playwright--1.60-view-transition
cd repro-playwright--1.60-view-transition
npm install && npx playwright install chromium
npx playwright test   # fails on 1.61

Two static HTML pages. Only CSS:

@media (prefers-reduced-motion: no-preference) {
  @view-transition { navigation: auto; }
}

Flow: login.html -> home.html (MPA link navigation), then click a button on the destination page.

Expected behavior

locator.click() succeeds once the element is visible (as on 1.60).

Actual behavior

locator.click() times out on:

waiting for element to be visible, enabled and stable

No sub-checks (element is visible, element is not stable, retrying click action) for the full timeout.

Trace often includes:

pageError: AbortError: Transition was skipped

document.activeViewTransition is truthy after navigation on both 1.60 and 1.61.

Additional context

Critical: app/DOM is NOT broken

On the same page state after navigation, native DOM click works:

await page.evaluate(() => document.getElementById('action').click());

This succeeds in ~50 ms on 1.61 and the button handler runs.

So this is not a user-facing Chrome bug -- it is Playwright's _checkElementIsStable rAF loop failing to complete when a cross-document view transition is active on Chromium 149.

Environment

OS: Linux 6.12.58+ x86_64 GNU/Linux
Node: v22.14.0
@playwright/test: 1.61.1

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions