Skip to content

Commit 7464518

Browse files
committed
Refactor logic to init BrowserWatcher in Chromium-based browsers
1 parent 4b58be2 commit 7464518

File tree

1 file changed

+21
-19
lines changed

1 file changed

+21
-19
lines changed

src/main/java/io/github/bonigarcia/wdm/WebDriverManager.java

Lines changed: 21 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1716,25 +1716,7 @@ protected synchronized WebDriver instantiateDriver() {
17161716
case OPERA:
17171717
case CHROMIUM:
17181718
case EDGE:
1719-
isHeadless = ((ChromiumOptions<?>) caps).toString()
1720-
.contains("--headless");
1721-
if (isHeadless) {
1722-
LoggingPreferences logs = new LoggingPreferences();
1723-
logs.enable(LogType.BROWSER, Level.ALL);
1724-
String logCapName = managerType == EDGE
1725-
? EdgeOptions.LOGGING_PREFS
1726-
: ChromeOptions.LOGGING_PREFS;
1727-
((ChromiumOptions<?>) caps).setCapability(logCapName,
1728-
logs);
1729-
capabilities = caps;
1730-
1731-
} else {
1732-
((ChromiumOptions<?>) caps)
1733-
.addExtensions(extensionPath.toFile());
1734-
capabilities = ((ChromiumOptions<?>) caps)
1735-
.addArguments("--whitelisted-extension-id="
1736-
+ BROWSER_WATCHER_ID);
1737-
}
1719+
initBrowserWatcherForChromium(extensionPath, caps);
17381720
break;
17391721
case FIREFOX:
17401722
log.trace(
@@ -1772,6 +1754,26 @@ protected synchronized WebDriver instantiateDriver() {
17721754
return driver;
17731755
}
17741756

1757+
protected void initBrowserWatcherForChromium(Path extensionPath,
1758+
Capabilities caps) {
1759+
DriverManagerType managerType = getDriverManagerType();
1760+
isHeadless = ((ChromiumOptions<?>) caps).toString()
1761+
.contains("--headless");
1762+
if (isHeadless) {
1763+
LoggingPreferences logs = new LoggingPreferences();
1764+
logs.enable(LogType.BROWSER, Level.ALL);
1765+
String logCapName = managerType == EDGE ? EdgeOptions.LOGGING_PREFS
1766+
: ChromeOptions.LOGGING_PREFS;
1767+
((ChromiumOptions<?>) caps).setCapability(logCapName, logs);
1768+
capabilities = caps;
1769+
1770+
} else {
1771+
((ChromiumOptions<?>) caps).addExtensions(extensionPath.toFile());
1772+
capabilities = ((ChromiumOptions<?>) caps).addArguments(
1773+
"--whitelisted-extension-id=" + BROWSER_WATCHER_ID);
1774+
}
1775+
}
1776+
17751777
protected Path getBrowserWatcherAsPath() throws IOException {
17761778
Path extensionPath = null;
17771779
String extFilename = "/browserwatcher-%s%s.crx";

0 commit comments

Comments
 (0)