Fixes issue 3210 by ensuring super.onBrowserEvent is called where appropriate in all of our core widgets.
Review by jlabanca

git-svn-id: https://google-web-toolkit.googlecode.com/svn/releases/1.6@4381 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/user/src/com/google/gwt/user/client/ui/Composite.java b/user/src/com/google/gwt/user/client/ui/Composite.java
index 1bb5a3e..c7ed3bd 100644
--- a/user/src/com/google/gwt/user/client/ui/Composite.java
+++ b/user/src/com/google/gwt/user/client/ui/Composite.java
@@ -47,6 +47,9 @@
 
   @Override
   public void onBrowserEvent(Event event) {
+    // Fire any handler added to the composite itself.
+    super.onBrowserEvent(event);
+    
     // Delegate events to the widget.
     widget.onBrowserEvent(event);
   }
diff --git a/user/src/com/google/gwt/user/client/ui/Hyperlink.java b/user/src/com/google/gwt/user/client/ui/Hyperlink.java
index c4ceead..7bb6109 100644
--- a/user/src/com/google/gwt/user/client/ui/Hyperlink.java
+++ b/user/src/com/google/gwt/user/client/ui/Hyperlink.java
@@ -138,13 +138,10 @@
 
   @Override
   public void onBrowserEvent(Event event) {
-    if (DOM.eventGetType(event) == Event.ONCLICK) {
-      super.onBrowserEvent(event);
-      
-      if (impl.handleAsClick(event)) {
-        History.newItem(getTargetHistoryToken());
-        DOM.eventPreventDefault(event);
-      }
+    super.onBrowserEvent(event);
+    if (DOM.eventGetType(event) == Event.ONCLICK && impl.handleAsClick(event)) {
+      History.newItem(getTargetHistoryToken());
+      DOM.eventPreventDefault(event);
     }
   }
 
diff --git a/user/src/com/google/gwt/user/client/ui/MenuBar.java b/user/src/com/google/gwt/user/client/ui/MenuBar.java
index 04dc6b3..2cc23cf 100644
--- a/user/src/com/google/gwt/user/client/ui/MenuBar.java
+++ b/user/src/com/google/gwt/user/client/ui/MenuBar.java
@@ -395,8 +395,6 @@
 
   @Override
   public void onBrowserEvent(Event event) {
-    super.onBrowserEvent(event);
-
     MenuItem item = findItem(DOM.eventGetTarget(event));
     switch (DOM.eventGetType(event)) {
       case Event.ONCLICK: {
@@ -469,6 +467,7 @@
         break;
       } // end case Event.ONKEYDOWN
     } // end switch (DOM.eventGetType(event))
+    super.onBrowserEvent(event);
   }
 
   /**
diff --git a/user/src/com/google/gwt/user/client/ui/SplitPanel.java b/user/src/com/google/gwt/user/client/ui/SplitPanel.java
index ff58976..aaf5692 100644
--- a/user/src/com/google/gwt/user/client/ui/SplitPanel.java
+++ b/user/src/com/google/gwt/user/client/ui/SplitPanel.java
@@ -316,6 +316,7 @@
         break;
       }
     }
+    super.onBrowserEvent(event);
   }
 
   @Override
diff --git a/user/src/com/google/gwt/user/client/ui/StackPanel.java b/user/src/com/google/gwt/user/client/ui/StackPanel.java
index ae17c23..8432a01 100644
--- a/user/src/com/google/gwt/user/client/ui/StackPanel.java
+++ b/user/src/com/google/gwt/user/client/ui/StackPanel.java
@@ -171,6 +171,7 @@
         showStack(index);
       }
     }
+    super.onBrowserEvent(event);
   }
 
   @Override