<?xml version="1.0" encoding="UTF-8"?>
<plugin>

   <!-- Chrome / Chromium Command -->
   <extension
         point="org.eclipse.ui.commands">
      <category
            name="Chrome / Chromium"
            id="org.eclipse.wst.jsdt.chromium.debug.js.category">
      </category>
      <command
            categoryId="org.eclipse.wst.jsdt.chromium.debug.js.category"
            id="org.eclipse.wst.jsdt.chromium.debug.js.command"
            name="Chrome / Chromium Debugger">
      </command>
  </extension>
  
  <!-- Chrome / Chromium Handler -->
  <extension
         point="org.eclipse.ui.handlers">
      	 <handler
            class="org.eclipse.wst.jsdt.chromium.debug.js.handlers.ChromiumHandler"
            commandId="org.eclipse.wst.jsdt.chromium.debug.js.command">
	        <activeWhen>
            <with variable="selection">
              <and>
                 <count
                       value="1">
                 </count>
                 <iterate
                       ifEmpty="false"
                       operator="or">
                    <instanceof
                          value="org.eclipse.wst.server.ui.IServerModule">
                    </instanceof>
                 </iterate>
                 <test
                       forcePluginActivation="true"
                       property="org.eclipse.wst.jsdt.chromium.debug.js.serverStarted">
                 </test>
              </and>
           </with>
          </activeWhen>
      	 </handler>
  </extension>
  
   <!-- Server State Tester -->
   <extension
         point="org.eclipse.core.expressions.propertyTesters">
      <propertyTester
            class="org.eclipse.wst.jsdt.chromium.debug.js.testers.ServerStateTester"
            id="org.eclipse.wst.jsdt.chromium.debug.js.serverStateTester"
            namespace="org.eclipse.wst.jsdt.chromium.debug.js"
            properties="serverStarted"
            type="org.eclipse.jface.viewers.ITreeSelection">
      </propertyTester> 
   </extension>
   
   <!-- Chrome / Chromium menu contribution for IServerModule -->
   <extension point="org.eclipse.ui.menus">
    	<menuContribution 
      		locationURI="popup:org.eclipse.ui.popup.any?after=additions">
	              <command
	                   commandId="org.eclipse.wst.jsdt.chromium.debug.js.command"
	                   icon="icons/chromium_16.png"
	                   label="Chrome / Chromium Debugger"
	                   style="push">
	              </command>
	              <visibleWhen>
	                      <with variable="selection">
	                        <iterate
	                              ifEmpty="false"
	                              operator="or">
	                            <adapt
	                                  type="org.eclipse.wst.server.ui.IServerModule">
	                            </adapt>
	                        </iterate>
	                      </with>
	              </visibleWhen>
      	</menuContribution>
    </extension>
    
   <extension
       point="org.eclipse.debug.core.launchConfigurationTypes">
    <launchConfigurationType
          id="org.eclipse.wst.jsdt.js.chromium.ChromiumLaunchConfigurationType"
          delegate="org.eclipse.wst.jsdt.chromium.debug.js.launch.ChromiumLaunchConfigurationDelegate"
          modes="debug"
          name="Chrome / Chromium Debugger"
          sourceLocatorId="org.eclipse.wst.jsdt.chromium.debug.core.ChromiumSourceDirector"
          sourcePathComputerId="org.eclipse.wst.jsdt.chromium.debug.core.ChromiumSourceComputer"
          public="false">
    </launchConfigurationType>
  </extension>
  
  <extension
         point="org.eclipse.debug.ui.launchShortcuts">
      <shortcut
            class="org.eclipse.wst.jsdt.chromium.debug.js.launch.shortcuts.ChromiumShortcut"
            id="org.eclipse.wst.jsdt.chromium.debug.js"
            label="Chrome / Chromium Debugger"
            icon="icons/chromium_16.png"
            modes="debug">
        <contextualLaunch>
            <enablement>
                <with variable="selection">
                    <count value="1"/>
                    <iterate>
                        <adapt type="org.eclipse.core.resources.IResource">
                        <and>
                             <test property="org.eclipse.core.resources.name" value="*.html"/>
                        </and>
                        </adapt> 
                    </iterate>
                </with>
            </enablement>
         </contextualLaunch>
      </shortcut>
   </extension>
   
  <!-- Chrome / Chromium Runtime -->
  <extension
        point="org.eclipse.wst.jsdt.core.JSRuntimeType">
     <runtimeType
           id="org.eclipse.wst.jsdt.chromium.debug.js.runtimeType"
           class="org.eclipse.wst.jsdt.chromium.debug.js.runtime.ChromiumRuntimeType">
     </runtimeType>
  </extension>
  <extension
        point="org.eclipse.wst.jsdt.core.JSRuntimeInstallProvider">
     <runtimeProvider
           class="org.eclipse.wst.jsdt.chromium.debug.js.runtime.ChromiumRuntimeProvider"
           runtimeTypeId="org.eclipse.wst.jsdt.chromium.debug.js.runtimeType">
     </runtimeProvider>
  </extension>
  
</plugin>
