mirror of
https://github.com/servo/servo.git
synced 2025-08-04 13:10:20 +01:00
Configure devtools server via preferences
This commit is contained in:
parent
b8d6b1d52d
commit
2c36754bf7
5 changed files with 42 additions and 12 deletions
1
Cargo.lock
generated
1
Cargo.lock
generated
|
@ -1242,6 +1242,7 @@ dependencies = [
|
||||||
"msg",
|
"msg",
|
||||||
"serde",
|
"serde",
|
||||||
"serde_json",
|
"serde_json",
|
||||||
|
"servo_config",
|
||||||
"servo_rand",
|
"servo_rand",
|
||||||
"servo_url",
|
"servo_url",
|
||||||
"time",
|
"time",
|
||||||
|
|
|
@ -112,9 +112,12 @@ pub struct Opts {
|
||||||
/// remote Firefox debugger connections.
|
/// remote Firefox debugger connections.
|
||||||
pub debugger_port: Option<u16>,
|
pub debugger_port: Option<u16>,
|
||||||
|
|
||||||
/// `None` to disable devtools or `Some` with a port number to start a server to listen to
|
/// Port number to start a server to listen to remote Firefox devtools connections.
|
||||||
/// remote Firefox devtools connections.
|
/// 0 for random port.
|
||||||
pub devtools_port: Option<u16>,
|
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
|
/// `None` to disable WebDriver or `Some` with a port number to start a server to listen to
|
||||||
/// remote WebDriver commands.
|
/// remote WebDriver commands.
|
||||||
|
@ -482,7 +485,8 @@ pub fn default_opts() -> Opts {
|
||||||
enable_canvas_antialiasing: true,
|
enable_canvas_antialiasing: true,
|
||||||
trace_layout: false,
|
trace_layout: false,
|
||||||
debugger_port: None,
|
debugger_port: None,
|
||||||
devtools_port: None,
|
devtools_port: 0,
|
||||||
|
devtools_server_enabled: false,
|
||||||
webdriver_port: None,
|
webdriver_port: None,
|
||||||
initial_window_size: Size2D::new(1024, 740),
|
initial_window_size: Size2D::new(1024, 740),
|
||||||
multiprocess: false,
|
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_enabled, devtools_port) = if opt_match.opt_present("devtools") {
|
||||||
let devtools_port = opt_match.opt_default("devtools", "0").map(|port| {
|
let port = opt_match
|
||||||
port.parse()
|
.opt_str("devtools")
|
||||||
.unwrap_or_else(|err| args_fail(&format!("Error parsing option: --devtools ({})", err)))
|
.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| {
|
let webdriver_port = opt_match.opt_default("webdriver", "7000").map(|port| {
|
||||||
port.parse().unwrap_or_else(|err| {
|
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,
|
trace_layout: debug_options.trace_layout,
|
||||||
debugger_port: debugger_port,
|
debugger_port: debugger_port,
|
||||||
devtools_port: devtools_port,
|
devtools_port: devtools_port,
|
||||||
|
devtools_server_enabled: devtools_enabled,
|
||||||
webdriver_port: webdriver_port,
|
webdriver_port: webdriver_port,
|
||||||
initial_window_size: initial_window_size,
|
initial_window_size: initial_window_size,
|
||||||
multiprocess: opt_match.opt_present("M"),
|
multiprocess: opt_match.opt_present("M"),
|
||||||
|
|
|
@ -123,6 +123,12 @@ mod gen {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
devtools: {
|
||||||
|
server: {
|
||||||
|
enabled: bool,
|
||||||
|
port: i64,
|
||||||
|
},
|
||||||
|
},
|
||||||
dom: {
|
dom: {
|
||||||
webgpu: {
|
webgpu: {
|
||||||
enabled: bool,
|
enabled: bool,
|
||||||
|
|
|
@ -22,6 +22,7 @@ log = "0.4"
|
||||||
msg = { path = "../msg" }
|
msg = { path = "../msg" }
|
||||||
serde = "1.0"
|
serde = "1.0"
|
||||||
serde_json = "1.0"
|
serde_json = "1.0"
|
||||||
|
servo_config = { path = "../config" }
|
||||||
servo_rand = { path = "../rand" }
|
servo_rand = { path = "../rand" }
|
||||||
servo_url = { path = "../url" }
|
servo_url = { path = "../url" }
|
||||||
time = "0.1"
|
time = "0.1"
|
||||||
|
|
|
@ -393,9 +393,15 @@ where
|
||||||
let mem_profiler_chan = profile_mem::Profiler::create(opts.mem_profiler_period);
|
let mem_profiler_chan = profile_mem::Profiler::create(opts.mem_profiler_period);
|
||||||
|
|
||||||
let debugger_chan = opts.debugger_port.map(|port| debugger::start_server(port));
|
let debugger_chan = opts.debugger_port.map(|port| debugger::start_server(port));
|
||||||
let devtools_chan = opts
|
|
||||||
.devtools_port
|
let devtools_chan = if opts.devtools_server_enabled {
|
||||||
.map(|port| devtools::start_server(port, embedder_proxy.clone()));
|
Some(devtools::start_server(
|
||||||
|
opts.devtools_port,
|
||||||
|
embedder_proxy.clone(),
|
||||||
|
))
|
||||||
|
} else {
|
||||||
|
None
|
||||||
|
};
|
||||||
|
|
||||||
let coordinates = window.get_coordinates();
|
let coordinates = window.get_coordinates();
|
||||||
let device_pixel_ratio = coordinates.hidpi_factor.get();
|
let device_pixel_ratio = coordinates.hidpi_factor.get();
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue