diff --git a/xml/impl/src/com/intellij/ide/browsers/BrowsersConfiguration.java b/xml/impl/src/com/intellij/ide/browsers/BrowsersConfiguration.java index 04794c6c8bdc..fa17cf55268f 100644 --- a/xml/impl/src/com/intellij/ide/browsers/BrowsersConfiguration.java +++ b/xml/impl/src/com/intellij/ide/browsers/BrowsersConfiguration.java @@ -152,9 +152,7 @@ public class BrowsersConfiguration implements PersistentStateComponent } myBrowserToSettingsMap.put(browserFamily, new WebBrowserSettings(path, Boolean.parseBoolean(active), specificSettings)); } - catch (IllegalArgumentException e) { - // skip - } + catch (IllegalArgumentException ignored) { } } } @@ -194,6 +192,8 @@ public class BrowsersConfiguration implements PersistentStateComponent return ServiceManager.getService(BrowsersConfiguration.class); } + /** @deprecated use {@link DefaultUrlOpener} (to remove in IDEA 13) */ + @SuppressWarnings("unused") public static void launchBrowser(final @Nullable BrowserFamily family, @NotNull final String url) { if (family == null) { BrowserUtil.launchBrowser(url); diff --git a/xml/impl/src/com/intellij/ide/browsers/OpenUrlHyperlinkInfo.java b/xml/impl/src/com/intellij/ide/browsers/OpenUrlHyperlinkInfo.java index 880afc2a27ac..fe8fe0632216 100644 --- a/xml/impl/src/com/intellij/ide/browsers/OpenUrlHyperlinkInfo.java +++ b/xml/impl/src/com/intellij/ide/browsers/OpenUrlHyperlinkInfo.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2011 JetBrains s.r.o. + * Copyright 2000-2013 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. @@ -85,7 +85,7 @@ public class OpenUrlHyperlinkInfo implements HyperlinkWithPopupMenuInfo { @Override public void actionPerformed(AnActionEvent e) { - BrowsersConfiguration.launchBrowser(myFamily, myUrl); + UrlOpener.launchBrowser(myFamily, myUrl); } } } diff --git a/xml/impl/src/com/intellij/ide/browsers/UrlOpener.java b/xml/impl/src/com/intellij/ide/browsers/UrlOpener.java index 5f9c49d5a3c7..62d59d4c9522 100644 --- a/xml/impl/src/com/intellij/ide/browsers/UrlOpener.java +++ b/xml/impl/src/com/intellij/ide/browsers/UrlOpener.java @@ -15,11 +15,26 @@ */ package com.intellij.ide.browsers; +import com.intellij.ide.BrowserUtil; import com.intellij.openapi.extensions.ExtensionPointName; import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; public abstract class UrlOpener { public static final ExtensionPointName EP_NAME = ExtensionPointName.create("org.jetbrains.urlOpener"); + public static void launchBrowser(@Nullable BrowsersConfiguration.BrowserFamily family, @NotNull String url) { + if (family == null) { + BrowserUtil.launchBrowser(url); + } + else { + for (UrlOpener urlOpener : EP_NAME.getExtensions()) { + if (urlOpener.openUrl(family, url)) { + return; + } + } + } + } + public abstract boolean openUrl(@NotNull BrowsersConfiguration.BrowserFamily family, String url); }