mirror of
https://github.com/LadybirdBrowser/ladybird
synced 2026-05-11 17:37:33 +02:00
When a click handler calls history.replaceState and the link's cross-document activation behavior runs in the same task, the queued sync step runs apply-the-history-step on the navigable mid-navigation, transitioning its ongoing navigation through "traversal" and back to null. That aborts the link's navigate event and bails out its deferred work, leaving the link nav abandoned. Skip this transient when the navigable already has a fresh ongoing navigation. No major engine reproduces the race; long term, sync same-document nav should bypass the traversal queue entirely (matching Chromium). This solves the long-standing issue where clicking on a box of tea on https://twinings.co.uk/ would freeze the browser. :^)
94 KiB
94 KiB