diff --git a/bundles/org.eclipse.rap.clientscripting.demo/ClientScripting Demo.launch b/bundles/org.eclipse.rap.clientscripting.demo/ClientScripting Demo.launch
index 1f347f0..439435b 100644
--- a/bundles/org.eclipse.rap.clientscripting.demo/ClientScripting Demo.launch
+++ b/bundles/org.eclipse.rap.clientscripting.demo/ClientScripting Demo.launch
@@ -18,7 +18,7 @@
 <stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Declipse.ignoreApp=true -Dosgi.noShutdown=true&#13;&#10;-Dorg.eclipse.equinox.http.jetty.log.stderr.threshold=info"/>
 <stringAttribute key="org.eclipse.rap.launch.browserMode" value="INTERNAL"/>
 <stringAttribute key="org.eclipse.rap.launch.contextpath" value=""/>
-<stringAttribute key="org.eclipse.rap.launch.dataLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.rap.ui.launch/ClientScriptingDemo"/>
+<stringAttribute key="org.eclipse.rap.launch.dataLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.rap.tools.launch/ClientScriptingDemo"/>
 <booleanAttribute key="org.eclipse.rap.launch.developmentMode" value="true"/>
 <stringAttribute key="org.eclipse.rap.launch.entryPoint" value=""/>
 <stringAttribute key="org.eclipse.rap.launch.libraryVariant" value="DEBUG"/>
@@ -35,7 +35,7 @@
 <booleanAttribute key="org.eclipse.rap.launch.useSessionTimeout" value="false"/>
 <stringAttribute key="pde.version" value="3.3"/>
 <booleanAttribute key="show_selected_only" value="false"/>
-<stringAttribute key="target_bundles" value="com.ibm.icu.base@default:default,javax.servlet*2.5.0.v200910301333@default:default,javax.servlet*3.0.0.v201103241727@default:default,javax.servlet*3.0.0.v201112011016@default:default,org.apache.felix.gogo.command@default:default,org.apache.felix.gogo.runtime@default:default,org.apache.felix.gogo.shell@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding.beans@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.core.databinding@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.runtime@default:true,org.eclipse.equinox.app@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.console@default:default,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.http.jetty@default:default,org.eclipse.equinox.http.registry@default:default,org.eclipse.equinox.http.servlet@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.util@default:default,org.eclipse.help@default:default,org.eclipse.jetty.continuation@default:default,org.eclipse.jetty.http@default:default,org.eclipse.jetty.io@default:default,org.eclipse.jetty.security@default:default,org.eclipse.jetty.server@default:default,org.eclipse.jetty.servlet@default:default,org.eclipse.jetty.util@default:default,org.eclipse.osgi.services@default:default,org.eclipse.osgi@-1:true"/>
+<stringAttribute key="target_bundles" value="com.ibm.icu.base@default:default,javax.servlet@default:default,javax.xml@default:default,org.apache.felix.gogo.command@default:default,org.apache.felix.gogo.runtime@default:default,org.apache.felix.gogo.shell@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding.beans@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.core.databinding@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.runtime@default:true,org.eclipse.equinox.app@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.console@default:default,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.http.jetty@default:default,org.eclipse.equinox.http.registry@default:default,org.eclipse.equinox.http.servlet@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.util@default:default,org.eclipse.help@default:default,org.eclipse.jetty.continuation@default:default,org.eclipse.jetty.http@default:default,org.eclipse.jetty.io@default:default,org.eclipse.jetty.security@default:default,org.eclipse.jetty.server@default:default,org.eclipse.jetty.servlet@default:default,org.eclipse.jetty.util@default:default,org.eclipse.osgi.services@default:default,org.eclipse.osgi@-1:true"/>
 <booleanAttribute key="tracing" value="false"/>
 <booleanAttribute key="useCustomFeatures" value="false"/>
 <booleanAttribute key="useDefaultConfigArea" value="true"/>
diff --git a/bundles/org.eclipse.rap.clientscripting.demo/src/org/eclipse/rap/clientscripting/demo/CustomBehaviors.java b/bundles/org.eclipse.rap.clientscripting.demo/src/org/eclipse/rap/clientscripting/demo/CustomBehaviors.java
index 8a64440..3f81c9c 100644
--- a/bundles/org.eclipse.rap.clientscripting.demo/src/org/eclipse/rap/clientscripting/demo/CustomBehaviors.java
+++ b/bundles/org.eclipse.rap.clientscripting.demo/src/org/eclipse/rap/clientscripting/demo/CustomBehaviors.java
@@ -72,6 +72,8 @@
     listener.addTo( widget, ClientListener.MouseDoubleClick );
     listener.addTo( widget, ClientListener.Selection );
     listener.addTo( widget, ClientListener.DefaultSelection );
+    listener.addTo( widget, ClientListener.Show );
+    listener.addTo( widget, ClientListener.Hide );
   }
 
   public static void addPaintingBehavior( final Canvas canvas ) {
diff --git a/bundles/org.eclipse.rap.clientscripting.demo/src/org/eclipse/rap/clientscripting/demo/Demo.java b/bundles/org.eclipse.rap.clientscripting.demo/src/org/eclipse/rap/clientscripting/demo/Demo.java
index 03e3636..47201ce 100644
--- a/bundles/org.eclipse.rap.clientscripting.demo/src/org/eclipse/rap/clientscripting/demo/Demo.java
+++ b/bundles/org.eclipse.rap.clientscripting.demo/src/org/eclipse/rap/clientscripting/demo/Demo.java
@@ -23,6 +23,8 @@
 import org.eclipse.swt.widgets.Display;
 import org.eclipse.swt.widgets.Label;
 import org.eclipse.swt.widgets.List;
+import org.eclipse.swt.widgets.Menu;
+import org.eclipse.swt.widgets.MenuItem;
 import org.eclipse.swt.widgets.Shell;
 import org.eclipse.swt.widgets.Text;
 
@@ -99,6 +101,11 @@
     list.setLayoutData( new GridData( SWT.FILL, SWT.TOP, false, false) );
     list.setItems( new String[]{ "Look", "in", "your", "javascript", "console" } );
     CustomBehaviors.addLoggerBehavior( list );
+    Menu popup = new Menu( list );
+    new MenuItem( popup, SWT.PUSH ).setText( "Item 1" );
+    new MenuItem( popup, SWT.PUSH ).setText( "Item 2" );
+    list.setMenu( popup );
+    CustomBehaviors.addLoggerBehavior( popup );
   }
 
   private static void addHeaderLabel( Composite parent, String text ) {
diff --git a/bundles/org.eclipse.rap.clientscripting.demo/src/org/eclipse/rap/clientscripting/demo/Logger.js b/bundles/org.eclipse.rap.clientscripting.demo/src/org/eclipse/rap/clientscripting/demo/Logger.js
index 5763833..95c1bbd 100644
--- a/bundles/org.eclipse.rap.clientscripting.demo/src/org/eclipse/rap/clientscripting/demo/Logger.js
+++ b/bundles/org.eclipse.rap.clientscripting.demo/src/org/eclipse/rap/clientscripting/demo/Logger.js
@@ -1,8 +1,19 @@
 var handleEvent = function( event ) {
   if( window.console && console.log ) {
-    console.log( event );
+    var info = [ getTypeString( event ) ];
     if( event.widget.getSelection && event.type == SWT.Selection ) {
-      console.log( event.widget.getSelection() );
+      info.push( '"' + event.widget.getSelection() + '"' );
+    }
+    console.log( info.join( " " ) );
+  }
+};
+
+var getTypeString = function( event ) {
+  var result;
+  for( var type in SWT ) {
+    if( type.charCodeAt( 1 ) >= 97 && SWT[ type ] === event.type ) {
+      result = type;
     }
   }
+  return result;
 };
diff --git a/bundles/org.eclipse.rap.clientscripting/js/org/eclipse/rap/clientscripting/ClientScriptingUtil.js b/bundles/org.eclipse.rap.clientscripting/js/org/eclipse/rap/clientscripting/ClientScriptingUtil.js
index e08aed0..5b562f9 100644
--- a/bundles/org.eclipse.rap.clientscripting/js/org/eclipse/rap/clientscripting/ClientScriptingUtil.js
+++ b/bundles/org.eclipse.rap.clientscripting/js/org/eclipse/rap/clientscripting/ClientScriptingUtil.js
@@ -51,7 +51,9 @@
       "MouseDoubleClick" : "dblclick",
       "Paint" : "paint",
       "FocusIn" : "focus",
-      "FocusOut" : "blur"
+      "FocusOut" : "blur",
+      "Show" : "appear",
+      "Hide" : "disappear"
     },
     "rwt.widgets.List" : {
       "Selection" : "changeSelection",
diff --git a/bundles/org.eclipse.rap.clientscripting/js/org/eclipse/rap/clientscripting/SWT.js b/bundles/org.eclipse.rap.clientscripting/js/org/eclipse/rap/clientscripting/SWT.js
index 8c70ec7..b0ba007 100644
--- a/bundles/org.eclipse.rap.clientscripting/js/org/eclipse/rap/clientscripting/SWT.js
+++ b/bundles/org.eclipse.rap.clientscripting/js/org/eclipse/rap/clientscripting/SWT.js
@@ -82,6 +82,15 @@
    */
   FocusOut : 16,
 
+  /**
+   * The show event type
+   */
+  Show : 22,
+
+  /**
+   * The hide event type
+   */
+  Hide : 23,
 
   /**
    * The modify event type
diff --git a/bundles/org.eclipse.rap.clientscripting/src/org/eclipse/rap/clientscripting/ClientListener.java b/bundles/org.eclipse.rap.clientscripting/src/org/eclipse/rap/clientscripting/ClientListener.java
index 9175d75..8aa98b6 100644
--- a/bundles/org.eclipse.rap.clientscripting/src/org/eclipse/rap/clientscripting/ClientListener.java
+++ b/bundles/org.eclipse.rap.clientscripting/src/org/eclipse/rap/clientscripting/ClientListener.java
@@ -50,6 +50,8 @@
   public static final int DefaultSelection = SWT.DefaultSelection;
   public static final int FocusIn = SWT.FocusIn;
   public static final int FocusOut = SWT.FocusOut;
+  public static final int Show = SWT.Show;
+  public static final int Hide = SWT.Hide;
   public static final int Modify = SWT.Modify;
   public static final int Verify = SWT.Verify;
 
diff --git a/bundles/org.eclipse.rap.clientscripting/src/org/eclipse/rap/clientscripting/internal/ClientListenerUtil.java b/bundles/org.eclipse.rap.clientscripting/src/org/eclipse/rap/clientscripting/internal/ClientListenerUtil.java
index f0ab028..7780008 100644
--- a/bundles/org.eclipse.rap.clientscripting/src/org/eclipse/rap/clientscripting/internal/ClientListenerUtil.java
+++ b/bundles/org.eclipse.rap.clientscripting/src/org/eclipse/rap/clientscripting/internal/ClientListenerUtil.java
@@ -51,6 +51,12 @@
       case ClientListener.Modify:
         result = "Modify";
       break;
+      case ClientListener.Show:
+        result = "Show";
+      break;
+      case ClientListener.Hide:
+        result = "Hide";
+      break;
       case ClientListener.Verify:
         result = "Verify";
       break;
diff --git a/tests/org.eclipse.rap.clientscripting.jstest/js/org/eclipse/rap/clientscripting/EventBinding_Test.js b/tests/org.eclipse.rap.clientscripting.jstest/js/org/eclipse/rap/clientscripting/EventBinding_Test.js
index d2ec84d..01bd90a 100644
--- a/tests/org.eclipse.rap.clientscripting.jstest/js/org/eclipse/rap/clientscripting/EventBinding_Test.js
+++ b/tests/org.eclipse.rap.clientscripting.jstest/js/org/eclipse/rap/clientscripting/EventBinding_Test.js
@@ -207,6 +207,26 @@
       assertEquals( 1, logger.log.length );
     },
 
+    testBindShow : function() {
+      var logger = this._createLogger();
+      text.setVisibility( false );
+
+      new EventBinding( text, "Show", logger );
+      text.setVisibility( true );
+
+      assertEquals( 1, logger.log.length );
+    },
+
+    testBindHide : function() {
+      var logger = this._createLogger();
+      text.setVisibility( true );
+
+      new EventBinding( text, "Hide", logger );
+      text.setVisibility( false );
+
+      assertEquals( 1, logger.log.length );
+    },
+
     testBindVerifyEvent : function() {
       TestUtil.flush();
       var logger = this._createLogger();
