Closed Bug 666584 Opened 9 years ago Closed 8 months ago

SessionStore should send incremental changes instead of complete history


(Firefox for Android Graveyard :: General, defect)

Not set


(Not tracked)



(Reporter: mfinkle, Unassigned)


(Keywords: perf)


(1 file)

Currently, the complete session history is sent in the Content:SessionHistory message each time a page is loaded. This can grow quite large since we allow for 50 entries in session history. We could only send incremental changes:
* If we move back or forward (history.index < history.count) we should only need to update the index.
* If we add a new entry, but have not hit the max entry limit (history.index > oldIndex && history.index < history.count), then we only need to send the new entry, not all the previous entries.

Using these tricks we could save some overhead. We could also look into lowering the session max entry limit from 50 to 10 (?).
Keywords: perf
OS: Linux → All
Hardware: x86 → All
OS: All → Linux
Hardware: All → x86
OS: Linux → All
Hardware: x86 → All
Attached patch WIP 1Splinter Review
Using a Session History Listener to try to send only required changes over IPC

* Send just one entry as needed
* Send "index" changes (back/forward) without any other data
* Keep a complete history array in the parent process

* Remove entries from the beginning of the "complete history array" as we go beyond the desired buffer size.

Current patch only sends at most 1 entry over IPC. Back/Forward operations are even smaller.
Assignee: nobody → mark.finkle
Assignee: mark.finkle → nobody
Closing all opened bug in a graveyard component
Closed: 8 months ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.