diff --git a/xml/impl/src/com/intellij/ide/browsers/JavaScriptDebuggerStarter.java b/xml/impl/src/com/intellij/ide/browsers/JavaScriptDebuggerStarter.java index cbc8cb111557..71dbb0c0dd71 100644 --- a/xml/impl/src/com/intellij/ide/browsers/JavaScriptDebuggerStarter.java +++ b/xml/impl/src/com/intellij/ide/browsers/JavaScriptDebuggerStarter.java @@ -12,8 +12,7 @@ import org.jetbrains.annotations.Nullable; public interface JavaScriptDebuggerStarter { boolean isApplicable(@NotNull RunConfiguration runConfiguration); - // todo we must pass browser family, otherwise result could be unexpected (by default Chrome will be used, but user can prefer Firefox) - void start(@NotNull String url, @NotNull RC runConfiguration, @NotNull U userData); + void start(@NotNull String url, @NotNull RC runConfiguration, @NotNull U userData, @Nullable WebBrowser browser); final class Util { static final ExtensionPointName EP_NAME = ExtensionPointName.create("org.jetbrains.javaScriptDebuggerStarter"); @@ -31,11 +30,15 @@ public interface JavaScriptDebuggerStarter { } public static boolean start(@NotNull RC runConfiguration, @NotNull String url) { + return start(runConfiguration, url, null); + } + + public static boolean start(@NotNull RC runConfiguration, @NotNull String url, @Nullable WebBrowser browser) { JavaScriptDebuggerStarter starter = get(runConfiguration); if (starter == null) { return false; } - starter.start(url, runConfiguration, NULL_OBJECT); + starter.start(url, runConfiguration, NULL_OBJECT, browser); return true; } @@ -49,9 +52,13 @@ public interface JavaScriptDebuggerStarter { @NotNull String url, @Nullable WebBrowser browser, boolean startDebugger) { - if (!startDebugger || !start(runConfiguration, url)) { + if (!startDebugger || !start(runConfiguration, url, browser)) { BrowserLauncher.getInstance().browse(url, browser, runConfiguration.getProject()); } } + + public static boolean hasStarters() { + return EP_NAME.getExtensions().length > 0; + } } } diff --git a/xml/impl/src/com/intellij/ide/browsers/StartBrowserPanel.java b/xml/impl/src/com/intellij/ide/browsers/StartBrowserPanel.java index 603746bb3c60..a0faad5a0eb5 100644 --- a/xml/impl/src/com/intellij/ide/browsers/StartBrowserPanel.java +++ b/xml/impl/src/com/intellij/ide/browsers/StartBrowserPanel.java @@ -59,7 +59,7 @@ public class StartBrowserPanel { private JPanel myRoot; public StartBrowserPanel() { - myStartJavaScriptDebuggerCheckBox.setVisible(JavaScriptDebuggerStarter.Util.EP_NAME.getExtensions().length > 0); + myStartJavaScriptDebuggerCheckBox.setVisible(JavaScriptDebuggerStarter.Util.hasStarters()); myRoot.addAncestorListener(new AncestorListenerAdapter() { @Override public void ancestorAdded(AncestorEvent event) {