diff options
Diffstat (limited to 'xml/impl/src/com/intellij/ide/browsers/JavaScriptDebuggerStarter.java')
-rw-r--r-- | xml/impl/src/com/intellij/ide/browsers/JavaScriptDebuggerStarter.java | 15 |
1 files changed, 11 insertions, 4 deletions
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<RC extends RunConfiguration, U> { 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<JavaScriptDebuggerStarter> EP_NAME = ExtensionPointName.create("org.jetbrains.javaScriptDebuggerStarter"); @@ -31,11 +30,15 @@ public interface JavaScriptDebuggerStarter<RC extends RunConfiguration, U> { } public static <RC extends RunConfiguration> boolean start(@NotNull RC runConfiguration, @NotNull String url) { + return start(runConfiguration, url, null); + } + + public static <RC extends RunConfiguration> boolean start(@NotNull RC runConfiguration, @NotNull String url, @Nullable WebBrowser browser) { JavaScriptDebuggerStarter<RC, Object> 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<RC extends RunConfiguration, U> { @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; + } } } |