MCPcopy Create free account
hub / github.com/SeleniumHQ/selenium / general_request_browser_version

Method general_request_browser_version

rust/src/lib.rs:1192–1239  ·  view source on GitHub ↗
(
        &mut self,
        browser_name: &str,
    )

Source from the content-addressed store, hash-verified

1190 }
1191
1192 fn general_request_browser_version(
1193 &mut self,
1194 browser_name: &str,
1195 ) -> Result<Option<String>, Error> {
1196 let browser_version;
1197 let original_browser_version = self.get_config().browser_version.clone();
1198 let major_browser_version = self.get_major_browser_version();
1199 let cache_path = self.get_cache_path()?;
1200 let mut metadata = get_metadata(self.get_logger(), &cache_path);
1201
1202 // Browser version is checked in the local metadata
1203 match get_browser_version_from_metadata(
1204 &metadata.browsers,
1205 browser_name,
1206 &major_browser_version,
1207 ) {
1208 Some(version) => {
1209 self.get_logger().trace(format!(
1210 "Browser with valid TTL. Getting {} version from metadata",
1211 browser_name
1212 ));
1213 browser_version = version;
1214 self.set_browser_version(browser_version.clone());
1215 }
1216 _ => {
1217 // If not in metadata, discover version using online endpoints
1218 browser_version =
1219 if major_browser_version.is_empty() || self.is_browser_version_stable() {
1220 self.request_latest_browser_version_from_online(&original_browser_version)?
1221 } else {
1222 self.request_fixed_browser_version_from_online(&original_browser_version)?
1223 };
1224
1225 let browser_ttl = self.get_ttl();
1226 if browser_ttl > 0 {
1227 metadata.browsers.push(create_browser_metadata(
1228 browser_name,
1229 &major_browser_version,
1230 &browser_version,
1231 browser_ttl,
1232 ));
1233 write_metadata(&metadata, self.get_logger(), cache_path);
1234 }
1235 }
1236 }
1237
1238 Ok(Some(browser_version))
1239 }
1240
1241 fn general_discover_browser_version(
1242 &mut self,

Callers 2

Implementers 8

edge.rsrust/src/edge.rs
iexplorer.rsrust/src/iexplorer.rs
safaritp.rsrust/src/safaritp.rs
electron.rsrust/src/electron.rs
chrome.rsrust/src/chrome.rs
firefox.rsrust/src/firefox.rs
grid.rsrust/src/grid.rs
safari.rsrust/src/safari.rs

Calls 15

get_metadataFunction · 0.85
create_browser_metadataFunction · 0.85
write_metadataFunction · 0.85
get_cache_pathMethod · 0.80
traceMethod · 0.80
set_browser_versionMethod · 0.80
is_emptyMethod · 0.80
get_ttlMethod · 0.80
get_configMethod · 0.45

Tested by

no test coverage detected