Converted --max-session-history opt into a pref, updated its uses to PREF api

updated test docs
This commit is contained in:
tyler 2017-01-14 03:00:10 -05:00
parent 4c401e47dc
commit 0fae39f468
4 changed files with 4 additions and 12 deletions

View file

@ -68,9 +68,6 @@ pub struct Opts {
pub output_file: Option<String>,
/// How much session history to keep in each tab.
pub max_session_history: usize,
/// Replace unpaires surrogates in DOM strings with U+FFFD.
/// See https://github.com/servo/servo/issues/6564
pub replace_surrogates: bool,
@ -521,7 +518,6 @@ pub fn default_opts() -> Opts {
userscripts: None,
user_stylesheets: Vec::new(),
output_file: None,
max_session_history: 20,
replace_surrogates: false,
gc_profile: false,
load_webfonts_synchronously: false,
@ -615,7 +611,6 @@ pub fn from_cmdline_args(args: &[String]) -> ArgumentParsingResult {
"Probability of randomly closing a pipeline (for testing constellation hardening).",
"0.0");
opts.optopt("", "random-pipeline-closure-seed", "A fixed seed for repeatbility of random pipeline closure.", "");
opts.optopt("", "max-session-history", "Maximum amount of session history to store in each tab.", "20");
opts.optmulti("Z", "debug",
"A comma-separated string of debug options. Pass help to show available options.", "");
opts.optflag("h", "help", "Print this message");
@ -784,10 +779,6 @@ pub fn from_cmdline_args(args: &[String]) -> ArgumentParsingResult {
}
};
let max_session_history = opt_match.opt_str("max-session-history").map(|max| {
max.parse().unwrap_or_else(|err| args_fail(&format!("Error parsing option: --max-session-history ({})", err)))
}).unwrap_or(20);
if opt_match.opt_present("M") {
MULTIPROCESS.store(true, Ordering::SeqCst)
}
@ -829,7 +820,6 @@ pub fn from_cmdline_args(args: &[String]) -> ArgumentParsingResult {
userscripts: opt_match.opt_default("userscripts", ""),
user_stylesheets: user_stylesheets,
output_file: opt_match.opt_str("o"),
max_session_history: max_session_history,
replace_surrogates: debug_options.replace_surrogates,
gc_profile: debug_options.gc_profile,
load_webfonts_synchronously: debug_options.load_webfonts_synchronously,

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)

View file

@ -56,6 +56,7 @@
"layout.viewport.enabled": false,
"layout.writing-mode.enabled": false,
"network.mime.sniff": false,
"session-history.max-length": 20,
"shell.builtin-key-shortcuts.enabled": true,
"shell.homepage": "https://servo.org",
"shell.native-titlebar.enabled": true

View file

@ -18,7 +18,7 @@
var go_forward_by = 24;
// The number of pages to go back by.
// This should be more than the default --max-session-history,
// 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);