diff options
author | Paul Rouget <me@paulrouget.com> | 2020-07-17 08:31:26 +0200 |
---|---|---|
committer | Paul Rouget <me@paulrouget.com> | 2020-07-17 08:31:26 +0200 |
commit | 2c36754bf748647442c4f44068c267c2192b5d69 (patch) | |
tree | 41ccce5155e7b2fda3ecd5186291faa27c9d874f /components/config | |
parent | b8d6b1d52da3f97cac9b71ad66c828d2e064d0e7 (diff) | |
download | servo-2c36754bf748647442c4f44068c267c2192b5d69.tar.gz servo-2c36754bf748647442c4f44068c267c2192b5d69.zip |
Configure devtools server via preferences
Diffstat (limited to 'components/config')
-rw-r--r-- | components/config/opts.rs | 34 | ||||
-rw-r--r-- | components/config/prefs.rs | 6 |
2 files changed, 31 insertions, 9 deletions
diff --git a/components/config/opts.rs b/components/config/opts.rs index 47d92f986d5..c5ca6907bee 100644 --- a/components/config/opts.rs +++ b/components/config/opts.rs @@ -112,9 +112,12 @@ pub struct Opts { /// remote Firefox debugger connections. pub debugger_port: Option<u16>, - /// `None` to disable devtools or `Some` with a port number to start a server to listen to - /// remote Firefox devtools connections. - pub devtools_port: Option<u16>, + /// Port number to start a server to listen to remote Firefox devtools connections. + /// 0 for random port. + pub devtools_port: u16, + + /// Start the devtools server at startup + pub devtools_server_enabled: bool, /// `None` to disable WebDriver or `Some` with a port number to start a server to listen to /// remote WebDriver commands. @@ -482,7 +485,8 @@ pub fn default_opts() -> Opts { enable_canvas_antialiasing: true, trace_layout: false, debugger_port: None, - devtools_port: None, + devtools_port: 0, + devtools_server_enabled: false, webdriver_port: None, initial_window_size: Size2D::new(1024, 740), multiprocess: false, @@ -802,11 +806,22 @@ pub fn from_cmdline_args(mut opts: Options, args: &[String]) -> ArgumentParsingR }) }); - // Set default port 0 for a random port to be selected. - let devtools_port = opt_match.opt_default("devtools", "0").map(|port| { - port.parse() - .unwrap_or_else(|err| args_fail(&format!("Error parsing option: --devtools ({})", err))) - }); + let (devtools_enabled, devtools_port) = if opt_match.opt_present("devtools") { + let port = opt_match + .opt_str("devtools") + .map(|port| { + port.parse().unwrap_or_else(|err| { + args_fail(&format!("Error parsing option: --devtools ({})", err)) + }) + }) + .unwrap_or(pref!(devtools.server.port)); + (true, port as u16) + } else { + ( + pref!(devtools.server.enabled), + pref!(devtools.server.port) as u16, + ) + }; let webdriver_port = opt_match.opt_default("webdriver", "7000").map(|port| { port.parse().unwrap_or_else(|err| { @@ -874,6 +889,7 @@ pub fn from_cmdline_args(mut opts: Options, args: &[String]) -> ArgumentParsingR trace_layout: debug_options.trace_layout, debugger_port: debugger_port, devtools_port: devtools_port, + devtools_server_enabled: devtools_enabled, webdriver_port: webdriver_port, initial_window_size: initial_window_size, multiprocess: opt_match.opt_present("M"), diff --git a/components/config/prefs.rs b/components/config/prefs.rs index 5ac6b19d940..1ecc245ff9f 100644 --- a/components/config/prefs.rs +++ b/components/config/prefs.rs @@ -123,6 +123,12 @@ mod gen { }, }, }, + devtools: { + server: { + enabled: bool, + port: i64, + }, + }, dom: { webgpu: { enabled: bool, |