Implement diff-based session history

This new implementation of the session history keeps track of
a single tree of browsing contexts and pipelines which represents
the active entry of the session history and it keeps track of
diffs between adjacent entries. This allows use to traverse across
the joint session history by applying diffs to the active tree.
This commit is contained in:
Connor Brewster 2018-03-26 10:47:01 -05:00
parent 044f19d914
commit f3d068f583
9 changed files with 500 additions and 465 deletions

View file

@ -70701,7 +70701,7 @@
"support"
],
"mozilla/servo-max-session-history.html": [
"14e8b67eea2c1b6302cf5166218ed5b073624ee8",
"fc925a10010ee4ae6e318d571e03502e5e9cba83",
"testharness"
],
"mozilla/sigsegv.html": [

View file

@ -20,7 +20,7 @@
// The number of pages to go back by.
// This should be more than the default session-history.max-length pref,
// to ensure that going back reloads the page.
var go_back_by = Math.min(page_number, 20);
var go_back_by = Math.min(page_number, 21);
if (history.length < go_forward_by) {
// Keep loading new pages until we have loaded enough of them.