browseUsingNotSystemDefaultBrowserPolicy — attempt to reuse smart url opener

This commit is contained in:
Vladimir Krivosheev
2017-05-16 14:17:32 +02:00
parent f1d4a03836
commit bd14e0a929
3 changed files with 12 additions and 8 deletions
@@ -1,5 +1,5 @@
/*
* Copyright 2000-2014 JetBrains s.r.o.
* Copyright 2000-2017 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -34,7 +34,9 @@ public abstract class BrowserLauncher {
public abstract void browse(@NotNull File file);
public abstract void browse(@NotNull String url, @Nullable WebBrowser browser);
public void browse(@NotNull String url, @Nullable WebBrowser browser) {
browse(url, browser, null);
}
public abstract void browse(@NotNull String url, @Nullable WebBrowser browser, @Nullable Project project);
@@ -169,11 +169,6 @@ public class BrowserLauncherAppless extends BrowserLauncher {
}
}
@Override
public void browse(@NotNull String url, @Nullable WebBrowser browser) {
browse(url, browser, null);
}
@Override
public void browse(@NotNull String url, @Nullable WebBrowser browser, @Nullable Project project) {
if (browser == null) {
@@ -67,7 +67,14 @@ public final class BrowserLauncherImpl extends BrowserLauncherAppless {
@Override
protected void browseUsingNotSystemDefaultBrowserPolicy(@NotNull URI uri, @NotNull GeneralSettings settings, @Nullable Project project) {
WebBrowserManager browserManager = WebBrowserManager.getInstance();
if (browserManager.getDefaultBrowserPolicy() == DefaultBrowserPolicy.FIRST || (SystemInfo.isMac && "open".equals(settings.getBrowserPath()))) {
if (browserManager.getDefaultBrowserPolicy() == DefaultBrowserPolicy.FIRST) {
WebBrowser browser = browserManager.getFirstActiveBrowser();
if (browser != null) {
browse(uri.toString(), browser, project);
return;
}
}
else if (SystemInfo.isMac && "open".equals(settings.getBrowserPath())) {
WebBrowser browser = browserManager.getFirstActiveBrowser();
if (browser != null) {
browseUsingPath(uri.toString(), null, browser, project, ArrayUtil.EMPTY_STRING_ARRAY);