Index: plugin.xml
===================================================================
--- plugin.xml	(revision 39972)
+++ plugin.xml	(working copy)
@@ -377,6 +377,21 @@
             </enablement>
     </actionProvider>
     <actionProvider
+	            class="org.jboss.ide.eclipse.as.ui.actions.OpenWithBrowser"
+	            id="org.jboss.ide.eclipse.as.ui.extensions.OpenWithBrowser"
+	            priority="higher">
+			<enablement>
+             <or>
+                <instanceof
+                      value="org.eclipse.wst.server.core.IServer">
+                </instanceof>
+                <instanceof
+                      value="org.eclipse.wst.server.ui.internal.view.servers.ModuleServer">
+                </instanceof>
+             </or>
+            </enablement>
+    </actionProvider>
+    <actionProvider
           class="org.jboss.ide.eclipse.as.ui.views.server.extensions.ShowInJMXConsoleActionProvider"
           id="org.jboss.ide.eclipse.as.ui.extensions.jmxConsole.showIn">
        <enablement>
@@ -436,6 +451,8 @@
           <actionExtension
                 pattern="org.jboss.tools.as.wst.server.ui.ServersView.ExploreActionProvider"/>
           <actionExtension
+                pattern="org.jboss.ide.eclipse.as.ui.extensions.OpenWithBrowser"/>
+          <actionExtension
                 pattern="org.jboss.ide.eclipse.as.ui.extensions.jmxConsole.showIn"/>
           <actionExtension
                 pattern="org.jboss.ide.eclipse.as.ui.extensions.managementConsole"/>
Index: jbossui/org/jboss/ide/eclipse/as/ui/actions/ServerActionMessages.java
===================================================================
--- jbossui/org/jboss/ide/eclipse/as/ui/actions/ServerActionMessages.java	(revision 39972)
+++ jbossui/org/jboss/ide/eclipse/as/ui/actions/ServerActionMessages.java	(working copy)
@@ -22,4 +22,6 @@
 	public static String ChangeTimeStampActionDelegate_could_not_register_project;
 	public static String DeployActionMessageBoxTitle;
 	public static String DeployActionMessageBoxMsg;
+	public static String OpenWithBrowser;
+	public static String OpenWithBrowserDescription;
 }
Index: jbossui/org/jboss/ide/eclipse/as/ui/actions/messages.properties
===================================================================
--- jbossui/org/jboss/ide/eclipse/as/ui/actions/messages.properties	(revision 39972)
+++ jbossui/org/jboss/ide/eclipse/as/ui/actions/messages.properties	(working copy)
@@ -10,4 +10,6 @@
 ChangeTimeStampActionDelegate_cannot_unregister=Cannot unregister project {0} from server {1}
 ChangeTimeStampActionDelegate_could_not_register_project=Could not register project {0}
 DeployActionMessageBoxTitle=Really mark these resources as deployable?
-DeployActionMessageBoxMsg=The selection's enclosing projects are already able to be deployed to servers. Marking the selected resources as deployable may be neither necessary nor desired.\n\nYou may prefer to use "Run As -> Run on server" instead.\n\nContinue marking these resources deployable?
\ No newline at end of file
+DeployActionMessageBoxMsg=The selection's enclosing projects are already able to be deployed to servers. Marking the selected resources as deployable may be neither necessary nor desired.\n\nYou may prefer to use "Run As -> Run on server" instead.\n\nContinue marking these resources deployable?
+OpenWithBrowser=Open With Browser
+OpenWithBrowserDescription=
\ No newline at end of file
Index: jbossui/org/jboss/ide/eclipse/as/ui/actions/OpenWithBrowser.java
===================================================================
--- jbossui/org/jboss/ide/eclipse/as/ui/actions/OpenWithBrowser.java	(revision 0)
+++ jbossui/org/jboss/ide/eclipse/as/ui/actions/OpenWithBrowser.java	(revision 0)
@@ -0,0 +1,134 @@
+/******************************************************************************* 
+ * Copyright (c) 2012 Red Hat, Inc. 
+ * Distributed under license by Red Hat, Inc. All rights reserved. 
+ * This program is made available under the terms of the 
+ * Eclipse Public License v1.0 which accompanies this distribution, 
+ * and is available at http://www.eclipse.org/legal/epl-v10.html 
+ * 
+ * Contributors: 
+ * Red Hat, Inc. - initial API and implementation 
+ ******************************************************************************/
+package org.jboss.ide.eclipse.as.ui.actions;
+
+import java.net.URL;
+
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.IMenuManager;
+import org.eclipse.jface.viewers.ISelectionProvider;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.StructuredViewer;
+import org.eclipse.ui.navigator.CommonActionProvider;
+import org.eclipse.ui.navigator.CommonViewer;
+import org.eclipse.ui.navigator.ICommonActionExtensionSite;
+import org.eclipse.ui.navigator.ICommonViewerSite;
+import org.eclipse.ui.navigator.ICommonViewerWorkbenchSite;
+import org.eclipse.wst.server.core.IModule;
+import org.eclipse.wst.server.core.IServer;
+import org.eclipse.wst.server.core.model.IURLProvider;
+import org.eclipse.wst.server.ui.internal.cnf.ServerActionProvider;
+import org.eclipse.wst.server.ui.internal.view.servers.ModuleServer;
+import org.jboss.ide.eclipse.as.ui.JBossServerUIPlugin;
+import org.jboss.ide.eclipse.as.ui.launch.JBTWebLaunchableClient;
+
+/**
+ * @author Alexey Kazakov
+ */
+public class OpenWithBrowser extends CommonActionProvider {
+
+	private Action action;
+	private ICommonActionExtensionSite actionSite;
+
+	/*
+	 * (non-Javadoc)
+	 * @see org.eclipse.ui.navigator.CommonActionProvider#init(org.eclipse.ui.navigator.ICommonActionExtensionSite)
+	 */
+	@Override
+	public void init(ICommonActionExtensionSite aSite) {
+		super.init(aSite);
+		actionSite = aSite;
+		ICommonViewerSite site = aSite.getViewSite();
+		if( site instanceof ICommonViewerWorkbenchSite ) {
+			StructuredViewer v = aSite.getStructuredViewer();
+			if( v instanceof CommonViewer ) {
+				ICommonViewerWorkbenchSite wsSite = (ICommonViewerWorkbenchSite)site;
+				createActions((CommonViewer)v, wsSite.getSelectionProvider());
+			}
+		}
+	}
+
+	public void createActions(CommonViewer tableViewer, ISelectionProvider provider) {
+		action = new Action() {
+			@Override
+			public void run() {
+				String url = getUrl();
+				if(url!=null) {
+					JBTWebLaunchableClient.checkedCreateInternalBrowser(url, getServer().getName(), JBossServerUIPlugin.PLUGIN_ID, JBossServerUIPlugin.getDefault().getLog());
+				}
+			}
+		};
+		action.setText(ServerActionMessages.OpenWithBrowser);
+		action.setDescription(ServerActionMessages.OpenWithBrowserDescription);
+	}
+
+	private String getUrl() {
+		ModuleServer ms = getModuleServer();
+		if(ms!=null && ms.getModule().length>0) {
+			IModule m = ms.getModule()[0];
+			IServer s = getServer();
+			Object o = s.loadAdapter(IURLProvider.class, null);
+			if(o instanceof IURLProvider) {
+				URL url = ((IURLProvider)o).getModuleRootURL(m);
+				if(url!=null) {
+					return url.toString();
+				}
+			}
+		}
+		return null;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * @see org.eclipse.ui.actions.ActionGroup#fillContextMenu(org.eclipse.jface.action.IMenuManager)
+	 */
+	@Override
+	public void fillContextMenu(IMenuManager menu) {
+		if( getModuleServer() != null ) {
+			menu.insertBefore(ServerActionProvider.CONTROL_MODULE_SECTION_END_SEPARATOR, action);
+			action.setEnabled(getUrl()!=null);
+//		} else if( getServer() != null ) {
+//			menu.insertBefore(ServerActionProvider.SERVER_ETC_SECTION_END_SEPARATOR, action);
+		}
+	}
+
+	public IServer getServer() {
+		Object o = getSelection();
+		if (o instanceof IServer) {
+			return ((IServer)o);
+		}
+		if( o instanceof ModuleServer) { 
+			return ((ModuleServer) o).server;
+		}
+		return null;
+	}
+
+	public ModuleServer getModuleServer() {
+		Object o = getSelection();
+		if(o instanceof ModuleServer) { 
+			return ((ModuleServer) o);
+		}
+		return null;
+	}
+
+	protected Object getSelection() {
+		ICommonViewerSite site = actionSite.getViewSite();
+		IStructuredSelection selection = null;
+		if (site instanceof ICommonViewerWorkbenchSite) {
+			ICommonViewerWorkbenchSite wsSite = (ICommonViewerWorkbenchSite)site;
+			selection = (IStructuredSelection) wsSite.getSelectionProvider().getSelection();
+			if( selection.size() == 1 ) {
+				return selection.getFirstElement();
+			}
+		}
+		return null;
+	}	
+}
\ No newline at end of file
