(&mut self, browser_version: &str)
| 479 | } |
| 480 | |
| 481 | fn get_browser_binary_path(&mut self, browser_version: &str) -> Result<PathBuf, Error> { |
| 482 | let browser_in_cache = self.get_browser_path_in_cache()?; |
| 483 | if MACOS.is(self.get_os()) { |
| 484 | let macos_app_name = if self.is_beta(browser_version) { |
| 485 | EDGE_BETA_MACOS_APP_NAME |
| 486 | } else if self.is_dev(browser_version) { |
| 487 | EDGE_DEV_MACOS_APP_NAME |
| 488 | } else if self.is_nightly(browser_version) { |
| 489 | EDGE_CANARY_MACOS_APP_NAME |
| 490 | } else { |
| 491 | EDGE_MACOS_APP_NAME |
| 492 | }; |
| 493 | Ok(browser_in_cache.join(macos_app_name)) |
| 494 | } else if WINDOWS.is(self.get_os()) { |
| 495 | // Stable Edge MSI installs to Program Files (x86) for compatibility |
| 496 | // Beta/Dev/Canary MSIs install to Program Files |
| 497 | let (browser_path, program_files_env) = if self.is_unstable(browser_version) { |
| 498 | ( |
| 499 | self.get_browser_path_from_version(browser_version) |
| 500 | .to_string(), |
| 501 | ENV_PROGRAM_FILES, |
| 502 | ) |
| 503 | } else { |
| 504 | ( |
| 505 | format!( |
| 506 | r"Microsoft\Edge\Application\{}\msedge.exe", |
| 507 | self.get_browser_version() |
| 508 | ), |
| 509 | ENV_PROGRAM_FILES_X86, |
| 510 | ) |
| 511 | }; |
| 512 | let env_value = env::var(program_files_env).unwrap_or_default(); |
| 513 | let full_browser_path = Path::new(&env_value).join(&browser_path); |
| 514 | Ok((&path_to_string(&full_browser_path)).into()) |
| 515 | } else { |
| 516 | Ok(browser_in_cache.join(format!( |
| 517 | "{}{}", |
| 518 | EDGE_WINDOWS_AND_LINUX_APP_NAME, |
| 519 | get_binary_extension(self.get_os()) |
| 520 | ))) |
| 521 | } |
| 522 | } |
| 523 | |
| 524 | fn get_browser_url_for_download(&mut self, browser_version: &str) -> Result<String, Error> { |
| 525 | if self.browser_url.is_none() { |
no test coverage detected