From 2c0ef615f50d0f16f6cd7120b1754234012de78a Mon Sep 17 00:00:00 2001 From: Vladimir Krivosheev Date: Mon, 13 Jan 2014 17:39:15 +0100 Subject: [PATCH] tolerant findBrowser --- .../src/com/intellij/ide/browsers/BrowserSelector.java | 2 +- xml/impl/src/com/intellij/ide/browsers/UrlOpener.java | 2 +- .../src/com/intellij/ide/browsers/WebBrowserManager.java | 9 ++++++++- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/xml/impl/src/com/intellij/ide/browsers/BrowserSelector.java b/xml/impl/src/com/intellij/ide/browsers/BrowserSelector.java index 4abbaae4baa8..5a144fbd4f32 100644 --- a/xml/impl/src/com/intellij/ide/browsers/BrowserSelector.java +++ b/xml/impl/src/com/intellij/ide/browsers/BrowserSelector.java @@ -110,7 +110,7 @@ public class BrowserSelector { * @deprecated to remove in IDEA 14 */ public void setSelectedBrowser(@SuppressWarnings("deprecation") @Nullable BrowsersConfiguration.BrowserFamily selectedItem) { - setSelected(selectedItem == null ? null : WebBrowserManager.getInstance().getBrowser(selectedItem)); + setSelected(selectedItem == null ? null : WebBrowserManager.getInstance().findBrowser(selectedItem)); } public void setSelected(@Nullable WebBrowser selectedItem) { diff --git a/xml/impl/src/com/intellij/ide/browsers/UrlOpener.java b/xml/impl/src/com/intellij/ide/browsers/UrlOpener.java index 773d775930f3..19226d817fff 100644 --- a/xml/impl/src/com/intellij/ide/browsers/UrlOpener.java +++ b/xml/impl/src/com/intellij/ide/browsers/UrlOpener.java @@ -24,7 +24,7 @@ public abstract class UrlOpener { public static final ExtensionPointName EP_NAME = ExtensionPointName.create("org.jetbrains.urlOpener"); public static void launchBrowser(final @Nullable BrowsersConfiguration.BrowserFamily family, final @NotNull String url) { - launchBrowser(url, family == null ? null : WebBrowserManager.getInstance().getBrowser(family)); + launchBrowser(url, family == null ? null : WebBrowserManager.getInstance().findBrowser(family)); } // different params order in order not to break compilation for launchBrowser(null, url) diff --git a/xml/impl/src/com/intellij/ide/browsers/WebBrowserManager.java b/xml/impl/src/com/intellij/ide/browsers/WebBrowserManager.java index 45990acaf5db..8d9d4e269a17 100644 --- a/xml/impl/src/com/intellij/ide/browsers/WebBrowserManager.java +++ b/xml/impl/src/com/intellij/ide/browsers/WebBrowserManager.java @@ -253,13 +253,20 @@ public class WebBrowserManager implements PersistentStateComponent, Mod @NotNull public WebBrowser getBrowser(@NotNull BrowserFamily family) { + WebBrowser browser = findBrowser(family); + LOG.assertTrue(browser != null, "Must be at least one browser per family"); + return browser; + } + + @Nullable + public WebBrowser findBrowser(@NotNull BrowserFamily family) { for (ConfigurableWebBrowser browser : browsers) { if (family.equals(browser.getFamily())) { return browser; } } - throw new IllegalStateException("Must be at least one browser per family"); + return null; } public boolean isActive(@NotNull WebBrowser browser) {