From 9346d9cc8d686d6bb7c96c427d4d7a0b1ac28142 Mon Sep 17 00:00:00 2001 From: Taym Haddadi Date: Tue, 10 Sep 2024 18:06:56 +0200 Subject: [PATCH] Align Servo version between user agent string and servoshell about dialog (#33398) * Align Servo version between Agen and About screen for consistency Signed-off-by: Taym * Improve passing servo_version to desktop_ua_string Signed-off-by: Taym --------- Signed-off-by: Taym --- components/servo/lib.rs | 48 +++++++++++++++++++++++++---------------- 1 file changed, 30 insertions(+), 18 deletions(-) diff --git a/components/servo/lib.rs b/components/servo/lib.rs index 10b701eae93..0b9829b8710 100644 --- a/components/servo/lib.rs +++ b/components/servo/lib.rs @@ -1293,39 +1293,51 @@ enum UserAgent { iOS, } -fn default_user_agent_string_for(agent: UserAgent) -> &'static str { +fn get_servo_version() -> &'static str { + env!("CARGO_PKG_VERSION") +} + +fn default_user_agent_string_for(agent: UserAgent) -> String { + let servo_version = get_servo_version(); + #[cfg(all(target_os = "linux", target_arch = "x86_64", not(target_env = "ohos")))] - const DESKTOP_UA_STRING: &str = - "Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Servo/1.0 Firefox/111.0"; + let desktop_ua_string = + format!("Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Servo/{servo_version} Firefox/111.0"); #[cfg(all( target_os = "linux", not(target_arch = "x86_64"), not(target_env = "ohos") ))] - const DESKTOP_UA_STRING: &str = - "Mozilla/5.0 (X11; Linux i686; rv:109.0) Servo/1.0 Firefox/111.0"; + let desktop_ua_string = + format!("Mozilla/5.0 (X11; Linux i686; rv:109.0) Servo/{servo_version} Firefox/111.0"); #[cfg(all(target_os = "windows", target_arch = "x86_64"))] - const DESKTOP_UA_STRING: &str = - "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Servo/1.0 Firefox/111.0"; + let desktop_ua_string = format!( + "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Servo/{servo_version} Firefox/111.0" + ); #[cfg(all(target_os = "windows", not(target_arch = "x86_64")))] - const DESKTOP_UA_STRING: &str = - "Mozilla/5.0 (Windows NT 10.0; rv:109.0) Servo/1.0 Firefox/111.0"; + let desktop_ua_string = + format!("Mozilla/5.0 (Windows NT 10.0; rv:109.0) Servo/{servo_version} Firefox/111.0"); #[cfg(target_os = "macos")] - const DESKTOP_UA_STRING: &str = - "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:109.0) Servo/1.0 Firefox/111.0"; + let desktop_ua_string = format!( + "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:109.0) Servo/{servo_version} Firefox/111.0" + ); #[cfg(any(target_os = "android", target_env = "ohos"))] - const DESKTOP_UA_STRING: &str = ""; + let desktop_ua_string = "".to_string(); match agent { - UserAgent::Desktop => DESKTOP_UA_STRING, - UserAgent::Android => "Mozilla/5.0 (Android; Mobile; rv:109.0) Servo/1.0 Firefox/111.0", - UserAgent::OpenHarmony => "Mozilla/5.0 (OpenHarmony; Mobile; rv:109.0) Servo/1.0 Firefox/111.0", - UserAgent::iOS => { - "Mozilla/5.0 (iPhone; CPU iPhone OS 16_4 like Mac OS X; rv:109.0) Servo/1.0 Firefox/111.0" - }, + UserAgent::Desktop => desktop_ua_string, + UserAgent::Android => format!( + "Mozilla/5.0 (Android; Mobile; rv:109.0) Servo/{servo_version} Firefox/111.0" + ), + UserAgent::OpenHarmony => format!( + "Mozilla/5.0 (OpenHarmony; Mobile; rv:109.0) Servo/{servo_version} Firefox/111.0" + ), + UserAgent::iOS => format!( + "Mozilla/5.0 (iPhone; CPU iPhone OS 16_4 like Mac OS X; rv:109.0) Servo/{servo_version} Firefox/111.0" + ), } }