/* * Copyright 2010-2012 Amazon Technologies, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at: * * http://aws.amazon.com/apache2.0 * * This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES * OR CONDITIONS OF ANY KIND, either express or implied. See the * License for the specific language governing permissions and * limitations under the License. */ package com.amazonaws.eclipse.core; import java.net.URL; import org.eclipse.core.runtime.Status; import org.eclipse.ui.PartInitException; import org.eclipse.ui.PlatformUI; import org.eclipse.ui.browser.IWorkbenchBrowserSupport; import org.eclipse.ui.statushandlers.StatusManager; public class BrowserUtils { private static final int BROWSER_STYLE = IWorkbenchBrowserSupport.LOCATION_BAR | IWorkbenchBrowserSupport.AS_EXTERNAL | IWorkbenchBrowserSupport.STATUS | IWorkbenchBrowserSupport.NAVIGATION_BAR; /** * Opens the specified URL in an external browser window. * @param url The URL to open. * @throws PartInitException */ public static void openExternalBrowser(URL url) throws PartInitException { IWorkbenchBrowserSupport browserSupport = PlatformUI.getWorkbench().getBrowserSupport(); browserSupport.createBrowser(BROWSER_STYLE, null, null, null) .openURL(url); } public static void openExternalBrowser(String url) { try { openExternalBrowser(new URL(url)); } catch (Exception e) { Status status = new Status(Status.ERROR, AwsToolkitCore.PLUGIN_ID, "Unable to open external web browser to '" + url + "': " + e.getMessage(), e); StatusManager.getManager().handle(status, StatusManager.SHOW); } } }