Set shadow from combo list on dropdown popup
diff --git a/bundles/org.eclipse.rap.addons.dropdown/js/rwt/dropdown/DropDown.js b/bundles/org.eclipse.rap.addons.dropdown/js/rwt/dropdown/DropDown.js
index b6ab0a7..625b122 100644
--- a/bundles/org.eclipse.rap.addons.dropdown/js/rwt/dropdown/DropDown.js
+++ b/bundles/org.eclipse.rap.addons.dropdown/js/rwt/dropdown/DropDown.js
@@ -13,11 +13,16 @@
 
   var POPUP_BORDER = new rwt.html.Border( 1, "solid", "#000000" );
   var FRAMEWIDTH = 2;
-  var PADDING = ( function() {
+  var getPadding = function() {
     var manager = rwt.theme.AppearanceManager.getInstance();
     var stylemap = manager.styleFrom( "list-item", {} );
     return stylemap.padding || [ 5, 5, 5, 5 ];
-  }() );
+  };
+  var getShadow = function() {
+    var manager = rwt.theme.AppearanceManager.getInstance();
+    var stylemap = manager.styleFrom( "combo-list", {} );
+    return stylemap.shadow || null;
+  };
 
 
   // Values identical to SWT
@@ -293,7 +298,8 @@
     var yOffset = this._.parent.getHeight();
     var font = this._.viewer.getFont();
     // NOTE: Guessing the lineheight to be 1.3
-    var itemHeight = Math.floor( font.getSize() * 1.3 ) + PADDING[ 0 ] + PADDING[ 2 ];
+    var padding = getPadding();
+    var itemHeight = Math.floor( font.getSize() * 1.3 ) + padding[ 0 ] + padding[ 2 ];
     var visibleItems = Math.min( this._.visibleItemCount, this.getItemCount() );
     var viewerWidth = this._.parent.getWidth() - FRAMEWIDTH;
     var viewerHeight = visibleItems * itemHeight;
@@ -308,8 +314,8 @@
       viewerWidth, // width
       0, // imageLeft
       0, // imageWidth
-      PADDING[ 3 ], // textLeft
-      viewerWidth - PADDING[ 1 ] - PADDING[ 3 ], // textWidth
+      padding[ 3 ], // textLeft
+      viewerWidth - padding[ 1 ] - padding[ 3 ], // textWidth
       0, // checkLeft
       0 // checkWith
     );
@@ -458,6 +464,7 @@
     result.setBorder( POPUP_BORDER );
     result.setBackgroundColor( "#ffffff" );
     result.setVisibility( false );
+    result.setShadow( getShadow() );
     result.setRestrictToPageOnOpen( false );
     result.setAutoHide( false );
     return result;
diff --git a/tests/org.eclipse.rap.addons.dropdown.test/js/rwt/dropdown/DropDown_Test.js b/tests/org.eclipse.rap.addons.dropdown.test/js/rwt/dropdown/DropDown_Test.js
index 15dafcc..714016e 100644
--- a/tests/org.eclipse.rap.addons.dropdown.test/js/rwt/dropdown/DropDown_Test.js
+++ b/tests/org.eclipse.rap.addons.dropdown.test/js/rwt/dropdown/DropDown_Test.js
@@ -15,6 +15,8 @@
 var TestUtil = org.eclipse.rwt.test.fixture.TestUtil;
 var DropDown = rwt.dropdown.DropDown;
 
+var ITEM_HEIGHT = 25; // Depends on padding which is currently taken from list theming
+
 var shell;
 var widget;
 var dropdown;
@@ -330,7 +332,7 @@
       dropdown.setVisibleItemCount( 7 );
       showDropDown();
 
-      assertEquals( 7 * 23, popup.getInnerHeight() );
+      assertEquals( 7 * ITEM_HEIGHT, popup.getInnerHeight() );
     },
 
     testShow_PopUpInnerHeightUnderVisibleItemCount : function() {
@@ -339,7 +341,7 @@
       dropdown.setVisibleItemCount( 7 );
       showDropDown();
 
-      assertEquals( 2 * 23, popup.getInnerHeight() );
+      assertEquals( 2 * ITEM_HEIGHT, popup.getInnerHeight() );
     },
 
     testSetVisibleItemCount_UpdatesScrollbar : function() {
@@ -358,8 +360,8 @@
       dropdown.setVisibleItemCount( 2 );
       TestUtil.flush();
 
-      assertEquals( 2 * 23, popup.getInnerHeight() );
-      assertEquals( 2 * 23, viewer.getHeight() );
+      assertEquals( 2 * ITEM_HEIGHT, popup.getInnerHeight() );
+      assertEquals( 2 * ITEM_HEIGHT, viewer.getHeight() );
     },
 
     testSetItems_UpdatesScrollbar : function() {
@@ -378,8 +380,8 @@
       dropdown.setItems( [ "a", "b" ] );
       TestUtil.flush();
 
-      assertEquals( 2 * 23, popup.getInnerHeight() );
-      assertEquals( 2 * 23, viewer.getHeight() );
+      assertEquals( 2 * ITEM_HEIGHT, popup.getInnerHeight() );
+      assertEquals( 2 * ITEM_HEIGHT, viewer.getHeight() );
     },
 
     testShow_LayoutsViewer : function() {
@@ -403,7 +405,7 @@
       widget.setFont( font );
       showDropDown();
 
-      assertEquals( 5 + 5 + 13, viewer._itemHeight );
+      assertEquals( 6 + 6 + 13, viewer._itemHeight );
     },
 
     testShow_SetsItemHeightFor12pxFont : function() {
@@ -411,7 +413,7 @@
       widget.setFont( font );
       showDropDown();
 
-      assertEquals( 5 + 5 + 15, viewer._itemHeight );
+      assertEquals( 6 + 6 + 15, viewer._itemHeight );
     },
 
     testSetItems_SetsItemsOnViewer : function() {