https://github.com/cbrewster/servonavigation
Servo's Navigation Design
https://github.com/cbrewster/servonavigation
proposal servo servo-navigation
Last synced: 6 months ago
JSON representation
Servo's Navigation Design
- Host: GitHub
- URL: https://github.com/cbrewster/servonavigation
- Owner: cbrewster
- License: other
- Created: 2016-06-10T04:01:32.000Z (about 10 years ago)
- Default Branch: master
- Last Pushed: 2016-12-25T01:40:48.000Z (over 9 years ago)
- Last Synced: 2025-06-10T12:15:42.014Z (about 1 year ago)
- Topics: proposal, servo, servo-navigation
- Language: TeX
- Homepage: https://arxiv.org/abs/1608.05444
- Size: 14.4 MB
- Stars: 4
- Watchers: 3
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: readme.md
- License: LICENSE
Awesome Lists containing this project
README
# Servo Navigation Proposal
This repo contains notes on the design of Servo's navigation model.
The full document is [notes.pdf](notes/notes.pdf), and includes:
- A navigation history model based on the WHATWG specification.
- A series of counter-examples showing unexpected behaviour of the WHATWG model.
- A series of patches for each of the counter-examples.
- A proof (mechanized in Agda) that the patched model satisfies the **fundamental property**: that traversing the session history by δ then by δ′ is the same as traversing by (δ + δ′).
- Experimental evidence that browser implementations are closer to the patched model than to the original.
The implementation in Servo is part of the [constellation](https://github.com/servo/servo/blob/master/components/constellation/constellation.rs).
[](http://creativecommons.org/licenses/by/4.0/)
This work is licensed under a [Creative Commons Attribution 4.0 International License](http://creativecommons.org/licenses/by/4.0/).