Implement window.history History API (Phase 17)
Add pushState, replaceState, back, forward, go methods and popstate
event support. History commands are queued in a thread-local queue
(like navigation commands) and drained by the browser main loop.
- Add push_state/replace_state to NavigationHistory (browser crate)
- Create history.rs module in JS crate with full History API
- Wire history object into window initialization
- Add dynamic property resolution for history.length/state
- Process history command queue after page loads and navigation
- Create PopStateEvent with state property for traversal events
- Cross-origin URL validation for pushState/replaceState
- 23 new tests covering all History API functionality
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>