b4b6868232
Page.navigate omits loaderId for same-document navigations (#fragment, History API), and Chrome emits no new load/DOMContentLoaded lifecycle events for them — the navigation is already committed when Page.navigate returns. The stale-event timestamp guard would otherwise reject all buffered events and burn the full readiness timeout. Short-circuit when loaderId is absent, and simplify the stale-event guard (the no-navigation-id case can no longer reach it). Regression test drains the previous load's trailing networkIdle first so a stale event can't accidentally satisfy the wait.