Auto merge of #15026 - tydus101:max-session-fix, r=jdm

Max session fix

<!-- Please describe your changes on the following line: -->
Converted document discarding from an opt into a pref. Updated testing docs and changed all uses to pref api.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #14960 (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because current test suite is sufficient

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/15026)
<!-- Reviewable:end -->
This commit is contained in:
bors-servo 2017-01-14 15:08:56 -08:00 committed by GitHub
commit d09bf70d22
4 changed files with 4 additions and 12 deletions

View file

@ -2136,7 +2136,8 @@ impl<Message, LTF, STF> Constellation<Message, LTF, STF>
} else if let Some(frame) = self.frames.get_mut(&frame_change.frame_id) {
debug!("Adding pipeline to existing frame.");
frame.load(frame_change.new_pipeline_id, frame_change.url.clone());
let evicted_id = frame.prev.len().checked_sub(opts::get().max_session_history)
let evicted_id = frame.prev.len()
.checked_sub(PREFS.get("session-history.max-length").as_u64().unwrap_or(20) as usize)
.and_then(|index| frame.prev.get_mut(index))
.and_then(|entry| entry.pipeline_id.take());
(evicted_id, false, true, true)