Skip to content

Commit 3966bc8

Browse files
committed
[rust] Include registry query command (for Windows) to discover Firefox version
1 parent 1a486c4 commit 3966bc8

File tree

2 files changed

+15
-3
lines changed

2 files changed

+15
-3
lines changed

rust/src/firefox.rs

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,9 @@ use crate::metadata::{
2929
create_driver_metadata, get_driver_version_from_metadata, get_metadata, write_metadata,
3030
};
3131
use crate::{
32-
create_http_client, format_one_arg, format_three_args, Logger, SeleniumManager, BETA,
33-
DASH_VERSION, DEV, ENV_PROGRAM_FILES, ENV_PROGRAM_FILES_X86, NIGHTLY, REMOVE_X86, STABLE,
34-
WMIC_COMMAND, WMIC_COMMAND_ENV,
32+
create_http_client, format_one_arg, format_three_args, format_two_args, Logger,
33+
SeleniumManager, BETA, DASH_VERSION, DEV, ENV_PROGRAM_FILES, ENV_PROGRAM_FILES_X86, NIGHTLY,
34+
REG_QUERY_FIND, REMOVE_X86, STABLE, WMIC_COMMAND, WMIC_COMMAND_ENV,
3535
};
3636

3737
pub const FIREFOX_NAME: &str = "firefox";
@@ -139,6 +139,13 @@ impl SeleniumManager for FirefoxManager {
139139
browser_path,
140140
),
141141
];
142+
if !self.is_browser_version_unstable() {
143+
commands.push(format_two_args(
144+
REG_QUERY_FIND,
145+
r#"HKCU\Software\Mozilla"#,
146+
self.browser_name,
147+
));
148+
}
142149
}
143150
_ => return None,
144151
}

rust/src/lib.rs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@ pub const WMIC_COMMAND_ENV: &str =
6565
r#"set PFILES=%{}{}%&& wmic datafile where name='!PFILES:\=\\!{}' get Version /value"#;
6666
pub const WMIC_COMMAND_OS: &str = r#"wmic os get osarchitecture"#;
6767
pub const REG_QUERY: &str = r#"REG QUERY {} /v version"#;
68+
pub const REG_QUERY_FIND: &str = r#"REG QUERY {} /f {}"#;
6869
pub const PLIST_COMMAND: &str =
6970
r#"/usr/libexec/PlistBuddy -c "print :CFBundleShortVersionString" {}/Contents/Info.plist"#;
7071
pub const DASH_VERSION: &str = "{} -v";
@@ -542,6 +543,10 @@ pub fn format_one_arg(string: &str, arg1: &str) -> String {
542543
string.replacen("{}", arg1, 1)
543544
}
544545

546+
pub fn format_two_args(string: &str, arg1: &str, arg2: &str) -> String {
547+
string.replacen("{}", arg1, 1).replacen("{}", arg2, 1)
548+
}
549+
545550
pub fn format_three_args(string: &str, arg1: &str, arg2: &str, arg3: &str) -> String {
546551
string
547552
.replacen("{}", arg1, 1)

0 commit comments

Comments
 (0)