Blur menu item hyperlinks on activation

This way the enter key is generally available for use as a navigation
key, rather than triggering the last menu item you activated.

Signed-off-by: Shawn O. Pearce <sop@google.com>
diff --git a/src/main/java/com/google/gerrit/client/ui/CommandMenuItem.java b/src/main/java/com/google/gerrit/client/ui/CommandMenuItem.java
index e2dc555..a12625f 100644
--- a/src/main/java/com/google/gerrit/client/ui/CommandMenuItem.java
+++ b/src/main/java/com/google/gerrit/client/ui/CommandMenuItem.java
@@ -33,6 +33,7 @@
 
   @Override
   public void onClick(final ClickEvent event) {
+    setFocus(false);
     command.execute();
   }
 }
diff --git a/src/main/java/com/google/gerrit/client/ui/LinkMenuItem.java b/src/main/java/com/google/gerrit/client/ui/LinkMenuItem.java
index ab4da2a..cb4ccb0 100644
--- a/src/main/java/com/google/gerrit/client/ui/LinkMenuItem.java
+++ b/src/main/java/com/google/gerrit/client/ui/LinkMenuItem.java
@@ -14,13 +14,32 @@
 
 package com.google.gerrit.client.ui;
 
+import com.google.gwt.core.client.GWT;
+import com.google.gwt.user.client.DOM;
+import com.google.gwt.user.client.Element;
+import com.google.gwt.user.client.Event;
 import com.google.gwt.user.client.ui.Accessibility;
 import com.google.gwt.user.client.ui.Hyperlink;
+import com.google.gwt.user.client.ui.impl.FocusImpl;
+import com.google.gwt.user.client.ui.impl.HyperlinkImpl;
 
 public class LinkMenuItem extends Hyperlink {
+  private static HyperlinkImpl impl = GWT.create(HyperlinkImpl.class);
+  private static FocusImpl implPanel = GWT.create(FocusImpl.class);
+
   public LinkMenuItem(final String text, final String targetHistoryToken) {
-    super(text, targetHistoryToken);
+    super((Element) null);
+    setText(text);
+    setTargetHistoryToken(targetHistoryToken);
     setStyleName("gerrit-MenuItem");
     Accessibility.setRole(getElement(), Accessibility.ROLE_MENUITEM);
   }
+
+  @Override
+  public void onBrowserEvent(Event event) {
+    super.onBrowserEvent(event);
+    if (DOM.eventGetType(event) == Event.ONCLICK && impl.handleAsClick(event)) {
+      implPanel.blur(getElement());
+    }
+  }
 }