mirror of
https://github.com/servo/servo.git
synced 2025-07-23 15:23:42 +01:00
Various servodriver improvements (#34957)
* Make command line arguments match between servo and servodriver harnesses. Signed-off-by: Josh Matthews <josh@joshmatthews.net> * webdriver: Ensure stylo preferences are updated when modifying pref values. Signed-off-by: Josh Matthews <josh@joshmatthews.net> * Add a manual delay when launching servodriver to allow attaching a debugger. Signed-off-by: Josh Matthews <josh@joshmatthews.net> --------- Signed-off-by: Josh Matthews <josh@joshmatthews.net>
This commit is contained in:
parent
acb6515837
commit
90b41259d2
3 changed files with 21 additions and 3 deletions
|
@ -14,7 +14,7 @@ use std::collections::{BTreeMap, HashMap};
|
||||||
use std::io::Cursor;
|
use std::io::Cursor;
|
||||||
use std::net::{SocketAddr, SocketAddrV4};
|
use std::net::{SocketAddr, SocketAddrV4};
|
||||||
use std::time::Duration;
|
use std::time::Duration;
|
||||||
use std::{fmt, mem, thread};
|
use std::{env, fmt, mem, process, thread};
|
||||||
|
|
||||||
use base::id::{BrowsingContextId, TopLevelBrowsingContextId};
|
use base::id::{BrowsingContextId, TopLevelBrowsingContextId};
|
||||||
use base64::Engine;
|
use base64::Engine;
|
||||||
|
@ -473,6 +473,13 @@ impl Handler {
|
||||||
&mut self,
|
&mut self,
|
||||||
parameters: &NewSessionParameters,
|
parameters: &NewSessionParameters,
|
||||||
) -> WebDriverResult<WebDriverResponse> {
|
) -> WebDriverResult<WebDriverResponse> {
|
||||||
|
if let Ok(value) = env::var("DELAY_AFTER_ACCEPT") {
|
||||||
|
let seconds = value.parse::<u64>().unwrap_or_default();
|
||||||
|
println!("Waiting for {} seconds...", seconds);
|
||||||
|
println!("lldb -p {}", process::id());
|
||||||
|
thread::sleep(Duration::from_secs(seconds));
|
||||||
|
}
|
||||||
|
|
||||||
let mut servo_capabilities = ServoCapabilities::new();
|
let mut servo_capabilities = ServoCapabilities::new();
|
||||||
let processed_capabilities = parameters.match_browser(&mut servo_capabilities)?;
|
let processed_capabilities = parameters.match_browser(&mut servo_capabilities)?;
|
||||||
|
|
||||||
|
@ -1767,6 +1774,7 @@ impl Handler {
|
||||||
parameters: &SetPrefsParameters,
|
parameters: &SetPrefsParameters,
|
||||||
) -> WebDriverResult<WebDriverResponse> {
|
) -> WebDriverResult<WebDriverResponse> {
|
||||||
for (key, value) in parameters.prefs.iter() {
|
for (key, value) in parameters.prefs.iter() {
|
||||||
|
prefs::set_stylo_pref(key, value.0.clone());
|
||||||
prefs::pref_map()
|
prefs::pref_map()
|
||||||
.set(key, value.0.clone())
|
.set(key, value.0.clone())
|
||||||
.expect("Failed to set preference");
|
.expect("Failed to set preference");
|
||||||
|
@ -1779,6 +1787,7 @@ impl Handler {
|
||||||
parameters: &GetPrefsParameters,
|
parameters: &GetPrefsParameters,
|
||||||
) -> WebDriverResult<WebDriverResponse> {
|
) -> WebDriverResult<WebDriverResponse> {
|
||||||
let prefs = if parameters.prefs.is_empty() {
|
let prefs = if parameters.prefs.is_empty() {
|
||||||
|
//TODO: support resetting stylo preferences
|
||||||
prefs::pref_map().reset_all();
|
prefs::pref_map().reset_all();
|
||||||
BTreeMap::new()
|
BTreeMap::new()
|
||||||
} else {
|
} else {
|
||||||
|
|
2
tests/wpt/meta/MANIFEST.json
vendored
2
tests/wpt/meta/MANIFEST.json
vendored
|
@ -503811,7 +503811,7 @@
|
||||||
[]
|
[]
|
||||||
],
|
],
|
||||||
"servodriver.py": [
|
"servodriver.py": [
|
||||||
"f8f50537740eea0c169af68becd42c8bc22ae0f7",
|
"4d86b6c4fa6611a13912f5c7ff867fbd2f6d84f1",
|
||||||
[]
|
[]
|
||||||
],
|
],
|
||||||
"webkit.py": [
|
"webkit.py": [
|
||||||
|
|
|
@ -62,7 +62,7 @@ def env_extras(**kwargs):
|
||||||
|
|
||||||
def env_options():
|
def env_options():
|
||||||
return {"server_host": "127.0.0.1",
|
return {"server_host": "127.0.0.1",
|
||||||
"supports_debugger": False}
|
"supports_debugger": True}
|
||||||
|
|
||||||
|
|
||||||
def update_properties():
|
def update_properties():
|
||||||
|
@ -88,9 +88,18 @@ class ServoWebDriverBrowser(WebDriverBrowser):
|
||||||
env["HOST_FILE"] = hosts_path
|
env["HOST_FILE"] = hosts_path
|
||||||
env["RUST_BACKTRACE"] = "1"
|
env["RUST_BACKTRACE"] = "1"
|
||||||
|
|
||||||
|
if debug_info:
|
||||||
|
env["DELAY_AFTER_ACCEPT"] = env.get("DELAY_SECS", "15")
|
||||||
|
|
||||||
args = [
|
args = [
|
||||||
"--hard-fail",
|
"--hard-fail",
|
||||||
"--webdriver=%s" % port,
|
"--webdriver=%s" % port,
|
||||||
|
"-u", "Servo/wptrunner",
|
||||||
|
# See https://github.com/servo/servo/issues/30080.
|
||||||
|
# For some reason rustls does not like the certificate generated by the WPT tooling.
|
||||||
|
"--ignore-certificate-errors",
|
||||||
|
"--window-size", "800x600",
|
||||||
|
"-Z", "disable-text-aa,load-webfonts-synchronously,replace-surrogates",
|
||||||
"data:,",
|
"data:,",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue