Always use NpTextBox or NpTextArea to prevent GlobalKey events

Otherwise keystrokes like '/' or '?' in a text area register as
actions in the global key event system, rather than as just input
into the currently focused text box.

Signed-off-by: Shawn O. Pearce <sop@google.com>
diff --git a/src/main/java/com/google/gerrit/client/SearchPanel.java b/src/main/java/com/google/gerrit/client/SearchPanel.java
index a71532b..7e34523 100644
--- a/src/main/java/com/google/gerrit/client/SearchPanel.java
+++ b/src/main/java/com/google/gerrit/client/SearchPanel.java
@@ -29,12 +29,12 @@
 import com.google.gwt.user.client.ui.Button;
 import com.google.gwt.user.client.ui.Composite;
 import com.google.gwt.user.client.ui.FlowPanel;
-import com.google.gwt.user.client.ui.TextBox;
 import com.google.gwtexpui.globalkey.client.GlobalKey;
 import com.google.gwtexpui.globalkey.client.KeyCommand;
+import com.google.gwtexpui.globalkey.client.NpTextBox;
 
 class SearchPanel extends Composite {
-  private final TextBox searchBox;
+  private final NpTextBox searchBox;
   private HandlerRegistration focusKey;
 
   SearchPanel() {
@@ -42,7 +42,7 @@
     initWidget(body);
     setStyleName("gerrit-SearchPanel");
 
-    searchBox = new TextBox();
+    searchBox = new NpTextBox();
     searchBox.setVisibleLength(42);
     searchBox.setText(Gerrit.C.searchHint());
     searchBox.addStyleName("gerrit-InputFieldTypeHint");
@@ -67,7 +67,6 @@
     searchBox.addKeyPressHandler(new KeyPressHandler() {
       @Override
       public void onKeyPress(final KeyPressEvent event) {
-        event.stopPropagation();
         if (event.getCharCode() == KeyCodes.KEY_ENTER) {
           doSearch();
         }
diff --git a/src/main/java/com/google/gerrit/client/account/ContactPanel.java b/src/main/java/com/google/gerrit/client/account/ContactPanel.java
index 86bd271..56fc923 100644
--- a/src/main/java/com/google/gerrit/client/account/ContactPanel.java
+++ b/src/main/java/com/google/gerrit/client/account/ContactPanel.java
@@ -34,11 +34,11 @@
 import com.google.gwt.user.client.ui.HTML;
 import com.google.gwt.user.client.ui.Label;
 import com.google.gwt.user.client.ui.ListBox;
-import com.google.gwt.user.client.ui.TextArea;
-import com.google.gwt.user.client.ui.TextBox;
 import com.google.gwt.user.client.ui.VerticalPanel;
 import com.google.gwt.user.client.ui.Widget;
 import com.google.gwt.user.client.ui.FormPanel.SubmitEvent;
+import com.google.gwtexpui.globalkey.client.NpTextArea;
+import com.google.gwtexpui.globalkey.client.NpTextBox;
 import com.google.gwtexpui.user.client.AutoCenterDialogBox;
 import com.google.gwtjsonrpc.client.VoidResult;
 
@@ -58,14 +58,14 @@
   private boolean haveAccount;
   private boolean haveEmails;
 
-  private TextBox nameTxt;
+  private NpTextBox nameTxt;
   private ListBox emailPick;
   private Button registerNewEmail;
   private Label hasContact;
-  private TextArea addressTxt;
-  private TextBox countryTxt;
-  private TextBox phoneTxt;
-  private TextBox faxTxt;
+  private NpTextArea addressTxt;
+  private NpTextBox countryTxt;
+  private NpTextBox phoneTxt;
+  private NpTextBox faxTxt;
   private Button save;
 
   ContactPanel() {
@@ -83,24 +83,24 @@
       fieldIdx = 1;
     }
 
-    nameTxt = new TextBox();
+    nameTxt = new NpTextBox();
     nameTxt.setVisibleLength(60);
 
     emailPick = new ListBox();
 
-    addressTxt = new TextArea();
+    addressTxt = new NpTextArea();
     addressTxt.setVisibleLines(4);
     addressTxt.setCharacterWidth(60);
 
-    countryTxt = new TextBox();
+    countryTxt = new NpTextBox();
     countryTxt.setVisibleLength(40);
     countryTxt.setMaxLength(40);
 
-    phoneTxt = new TextBox();
+    phoneTxt = new NpTextBox();
     phoneTxt.setVisibleLength(30);
     phoneTxt.setMaxLength(30);
 
-    faxTxt = new TextBox();
+    faxTxt = new NpTextBox();
     faxTxt.setVisibleLength(30);
     faxTxt.setMaxLength(30);
 
@@ -302,7 +302,7 @@
     final AutoCenterDialogBox box = new AutoCenterDialogBox(true, true);
     final VerticalPanel body = new VerticalPanel();
 
-    final TextBox inEmail = new TextBox();
+    final NpTextBox inEmail = new NpTextBox();
     inEmail.setVisibleLength(60);
 
     final Button register = new Button(Util.C.buttonSendRegisterNewEmail());
diff --git a/src/main/java/com/google/gerrit/client/account/NewAgreementScreen.java b/src/main/java/com/google/gerrit/client/account/NewAgreementScreen.java
index a42093c..2232f42 100644
--- a/src/main/java/com/google/gerrit/client/account/NewAgreementScreen.java
+++ b/src/main/java/com/google/gerrit/client/account/NewAgreementScreen.java
@@ -40,8 +40,8 @@
 import com.google.gwt.user.client.ui.Label;
 import com.google.gwt.user.client.ui.Panel;
 import com.google.gwt.user.client.ui.RadioButton;
-import com.google.gwt.user.client.ui.TextBox;
 import com.google.gwt.user.client.ui.VerticalPanel;
+import com.google.gwtexpui.globalkey.client.NpTextBox;
 import com.google.gwtjsonrpc.client.VoidResult;
 
 import java.util.HashSet;
@@ -62,7 +62,7 @@
   private ContactPanel contactPanel;
 
   private Panel finalGroup;
-  private TextBox yesIAgreeBox;
+  private NpTextBox yesIAgreeBox;
   private Button submit;
 
   @Override
@@ -116,7 +116,7 @@
     finalGroup = new VerticalPanel();
     finalGroup.add(new SmallHeading(Util.C.newAgreementCompleteHeading()));
     final FlowPanel fp = new FlowPanel();
-    yesIAgreeBox = new TextBox();
+    yesIAgreeBox = new NpTextBox();
     yesIAgreeBox.setVisibleLength(Util.C.newAgreementIAGREE().length() + 8);
     yesIAgreeBox.setMaxLength(Util.C.newAgreementIAGREE().length());
     fp.add(yesIAgreeBox);
diff --git a/src/main/java/com/google/gerrit/client/account/ProjectWatchPanel.java b/src/main/java/com/google/gerrit/client/account/ProjectWatchPanel.java
index b043457..3c3cd53 100644
--- a/src/main/java/com/google/gerrit/client/account/ProjectWatchPanel.java
+++ b/src/main/java/com/google/gerrit/client/account/ProjectWatchPanel.java
@@ -31,8 +31,8 @@
 import com.google.gwt.user.client.ui.Composite;
 import com.google.gwt.user.client.ui.FlowPanel;
 import com.google.gwt.user.client.ui.SuggestBox;
-import com.google.gwt.user.client.ui.TextBox;
 import com.google.gwt.user.client.ui.FlexTable.FlexCellFormatter;
+import com.google.gwtexpui.globalkey.client.NpTextBox;
 import com.google.gwtjsonrpc.client.VoidResult;
 
 import java.util.HashSet;
@@ -52,7 +52,7 @@
       final FlowPanel fp = new FlowPanel();
       fp.setStyleName("gerrit-ProjectWatchPanel-AddPanel");
 
-      final TextBox box = new TextBox();
+      final NpTextBox box = new NpTextBox();
       nameTxt = new SuggestBox(new ProjectNameSuggestOracle(), box);
       box.setVisibleLength(50);
       box.setText(Util.C.defaultProjectName());
diff --git a/src/main/java/com/google/gerrit/client/account/SshKeyPanel.java b/src/main/java/com/google/gerrit/client/account/SshKeyPanel.java
index b5f68ac..d6ffa05 100644
--- a/src/main/java/com/google/gerrit/client/account/SshKeyPanel.java
+++ b/src/main/java/com/google/gerrit/client/account/SshKeyPanel.java
@@ -39,9 +39,9 @@
 import com.google.gwt.user.client.ui.HorizontalPanel;
 import com.google.gwt.user.client.ui.Panel;
 import com.google.gwt.user.client.ui.RootPanel;
-import com.google.gwt.user.client.ui.TextArea;
 import com.google.gwt.user.client.ui.VerticalPanel;
 import com.google.gwt.user.client.ui.FlexTable.FlexCellFormatter;
+import com.google.gwtexpui.globalkey.client.NpTextArea;
 import com.google.gwtjsonrpc.client.RemoteJsonException;
 import com.google.gwtjsonrpc.client.VoidResult;
 
@@ -62,7 +62,7 @@
   private Button clearNew;
   private Button addNew;
   private Button browse;
-  private TextArea addTxt;
+  private NpTextArea addTxt;
   private Button delSel;
 
   private Panel serverKeys;
@@ -100,7 +100,7 @@
     addKeyBlock.add(new SmallHeading(Util.C.addSshKeyPanelHeader()));
     addKeyBlock.add(new HTML(Util.C.addSshKeyHelp()));
 
-    addTxt = new TextArea();
+    addTxt = new NpTextArea();
     addTxt.setVisibleLines(12);
     addTxt.setCharacterWidth(80);
     DOM.setElementPropertyBoolean(addTxt.getElement(), "spellcheck", false);
diff --git a/src/main/java/com/google/gerrit/client/admin/AccountGroupScreen.java b/src/main/java/com/google/gerrit/client/admin/AccountGroupScreen.java
index ea9d1d4..67ede8d 100644
--- a/src/main/java/com/google/gerrit/client/admin/AccountGroupScreen.java
+++ b/src/main/java/com/google/gerrit/client/admin/AccountGroupScreen.java
@@ -35,10 +35,10 @@
 import com.google.gwt.user.client.ui.Label;
 import com.google.gwt.user.client.ui.Panel;
 import com.google.gwt.user.client.ui.SuggestBox;
-import com.google.gwt.user.client.ui.TextArea;
-import com.google.gwt.user.client.ui.TextBox;
 import com.google.gwt.user.client.ui.VerticalPanel;
 import com.google.gwt.user.client.ui.FlexTable.FlexCellFormatter;
+import com.google.gwtexpui.globalkey.client.NpTextArea;
+import com.google.gwtexpui.globalkey.client.NpTextBox;
 import com.google.gwtjsonrpc.client.VoidResult;
 
 import java.util.HashSet;
@@ -49,14 +49,14 @@
   private AccountInfoCache accounts = AccountInfoCache.empty();
   private MemberTable members;
 
-  private TextBox groupNameTxt;
+  private NpTextBox groupNameTxt;
   private Button saveName;
 
-  private TextBox ownerTxtBox;
+  private NpTextBox ownerTxtBox;
   private SuggestBox ownerTxt;
   private Button saveOwner;
 
-  private TextArea descTxt;
+  private NpTextArea descTxt;
   private Button saveDesc;
 
   private Panel memberPanel;
@@ -90,7 +90,7 @@
 
   private void initName() {
     final VerticalPanel groupNamePanel = new VerticalPanel();
-    groupNameTxt = new TextBox();
+    groupNameTxt = new NpTextBox();
     groupNameTxt.setVisibleLength(60);
     groupNamePanel.add(groupNameTxt);
 
@@ -119,7 +119,7 @@
     final VerticalPanel ownerPanel = new VerticalPanel();
     ownerPanel.add(new SmallHeading(Util.C.headingOwner()));
 
-    ownerTxtBox = new TextBox();
+    ownerTxtBox = new NpTextBox();
     ownerTxtBox.setVisibleLength(60);
     ownerTxt = new SuggestBox(new AccountGroupSuggestOracle(), ownerTxtBox);
     ownerPanel.add(ownerTxt);
@@ -151,7 +151,7 @@
     final Label descHdr = new Label();
     vp.add(new SmallHeading(Util.C.headingDescription()));
 
-    descTxt = new TextArea();
+    descTxt = new NpTextArea();
     descTxt.setVisibleLines(6);
     descTxt.setCharacterWidth(60);
     vp.add(descTxt);
diff --git a/src/main/java/com/google/gerrit/client/admin/GroupListScreen.java b/src/main/java/com/google/gerrit/client/admin/GroupListScreen.java
index 990f945..a418e5e 100644
--- a/src/main/java/com/google/gerrit/client/admin/GroupListScreen.java
+++ b/src/main/java/com/google/gerrit/client/admin/GroupListScreen.java
@@ -27,17 +27,17 @@
 import com.google.gwt.user.client.History;
 import com.google.gwt.user.client.ui.Button;
 import com.google.gwt.user.client.ui.Hyperlink;
-import com.google.gwt.user.client.ui.TextBox;
 import com.google.gwt.user.client.ui.VerticalPanel;
 import com.google.gwt.user.client.ui.FlexTable.FlexCellFormatter;
 import com.google.gwt.user.client.ui.HTMLTable.Cell;
+import com.google.gwtexpui.globalkey.client.NpTextBox;
 
 import java.util.List;
 
 public class GroupListScreen extends AccountScreen {
   private GroupTable groups;
 
-  private TextBox addTxt;
+  private NpTextBox addTxt;
   private Button addNew;
 
   @Override
@@ -65,7 +65,7 @@
     fp.setStyleName("gerrit-AddSshKeyPanel");
     fp.add(new SmallHeading(Util.C.headingCreateGroup()));
 
-    addTxt = new TextBox();
+    addTxt = new NpTextBox();
     addTxt.setVisibleLength(60);
     fp.add(addTxt);
 
diff --git a/src/main/java/com/google/gerrit/client/admin/ProjectBranchesPanel.java b/src/main/java/com/google/gerrit/client/admin/ProjectBranchesPanel.java
index 8966102..6e6fa9d 100644
--- a/src/main/java/com/google/gerrit/client/admin/ProjectBranchesPanel.java
+++ b/src/main/java/com/google/gerrit/client/admin/ProjectBranchesPanel.java
@@ -35,8 +35,8 @@
 import com.google.gwt.user.client.ui.FlowPanel;
 import com.google.gwt.user.client.ui.Grid;
 import com.google.gwt.user.client.ui.Panel;
-import com.google.gwt.user.client.ui.TextBox;
 import com.google.gwt.user.client.ui.FlexTable.FlexCellFormatter;
+import com.google.gwtexpui.globalkey.client.NpTextBox;
 import com.google.gwtjsonrpc.client.RemoteJsonException;
 
 import java.util.HashSet;
@@ -49,8 +49,8 @@
   private BranchesTable branches;
   private Button delBranch;
   private Button addBranch;
-  private TextBox nameTxtBox;
-  private TextBox irevTxtBox;
+  private NpTextBox nameTxtBox;
+  private NpTextBox irevTxtBox;
 
   public ProjectBranchesPanel(final Project.Id toShow) {
     final FlowPanel body = new FlowPanel();
@@ -87,7 +87,7 @@
 
     final Grid addGrid = new Grid(2, 2);
 
-    nameTxtBox = new TextBox();
+    nameTxtBox = new NpTextBox();
     nameTxtBox.setVisibleLength(50);
     nameTxtBox.setText(Util.C.defaultBranchName());
     nameTxtBox.addStyleName("gerrit-InputFieldTypeHint");
@@ -112,7 +112,7 @@
     addGrid.setText(0, 0, Util.C.columnBranchName() + ":");
     addGrid.setWidget(0, 1, nameTxtBox);
 
-    irevTxtBox = new TextBox();
+    irevTxtBox = new NpTextBox();
     irevTxtBox.setVisibleLength(50);
     irevTxtBox.setText(Util.C.defaultRevisionSpec());
     irevTxtBox.addStyleName("gerrit-InputFieldTypeHint");
diff --git a/src/main/java/com/google/gerrit/client/admin/ProjectInfoPanel.java b/src/main/java/com/google/gerrit/client/admin/ProjectInfoPanel.java
index c49dd95..67adb6b 100644
--- a/src/main/java/com/google/gerrit/client/admin/ProjectInfoPanel.java
+++ b/src/main/java/com/google/gerrit/client/admin/ProjectInfoPanel.java
@@ -31,16 +31,16 @@
 import com.google.gwt.user.client.ui.ListBox;
 import com.google.gwt.user.client.ui.Panel;
 import com.google.gwt.user.client.ui.SuggestBox;
-import com.google.gwt.user.client.ui.TextArea;
-import com.google.gwt.user.client.ui.TextBox;
 import com.google.gwt.user.client.ui.VerticalPanel;
+import com.google.gwtexpui.globalkey.client.NpTextArea;
+import com.google.gwtexpui.globalkey.client.NpTextBox;
 import com.google.gwtjsonrpc.client.VoidResult;
 
 public class ProjectInfoPanel extends Composite {
   private Project.Id projectId;
 
   private Panel ownerPanel;
-  private TextBox ownerTxtBox;
+  private NpTextBox ownerTxtBox;
   private SuggestBox ownerTxt;
   private Button saveOwner;
 
@@ -48,7 +48,7 @@
   private ListBox submitType;
   private Project.SubmitType currentSubmitType;
 
-  private TextArea descTxt;
+  private NpTextArea descTxt;
   private Button saveDesc;
 
   public ProjectInfoPanel(final Project.Id toShow) {
@@ -89,7 +89,7 @@
     ownerPanel = new VerticalPanel();
     ownerPanel.add(new SmallHeading(Util.C.headingOwner()));
 
-    ownerTxtBox = new TextBox();
+    ownerTxtBox = new NpTextBox();
     ownerTxtBox.setVisibleLength(60);
     ownerTxt = new SuggestBox(new AccountGroupSuggestOracle(), ownerTxtBox);
     ownerPanel.add(ownerTxt);
@@ -119,7 +119,7 @@
     final VerticalPanel vp = new VerticalPanel();
     vp.add(new SmallHeading(Util.C.headingDescription()));
 
-    descTxt = new TextArea();
+    descTxt = new NpTextArea();
     descTxt.setVisibleLines(6);
     descTxt.setCharacterWidth(60);
     vp.add(descTxt);
diff --git a/src/main/java/com/google/gerrit/client/admin/ProjectRightsPanel.java b/src/main/java/com/google/gerrit/client/admin/ProjectRightsPanel.java
index 813a1f1..951af32 100644
--- a/src/main/java/com/google/gerrit/client/admin/ProjectRightsPanel.java
+++ b/src/main/java/com/google/gerrit/client/admin/ProjectRightsPanel.java
@@ -42,8 +42,8 @@
 import com.google.gwt.user.client.ui.ListBox;
 import com.google.gwt.user.client.ui.Panel;
 import com.google.gwt.user.client.ui.SuggestBox;
-import com.google.gwt.user.client.ui.TextBox;
 import com.google.gwt.user.client.ui.FlexTable.FlexCellFormatter;
+import com.google.gwtexpui.globalkey.client.NpTextBox;
 import com.google.gwtexpui.safehtml.client.SafeHtml;
 import com.google.gwtexpui.safehtml.client.SafeHtmlBuilder;
 import com.google.gwtjsonrpc.client.VoidResult;
@@ -61,7 +61,7 @@
   private ListBox catBox;
   private ListBox rangeMinBox;
   private ListBox rangeMaxBox;
-  private TextBox nameTxtBox;
+  private NpTextBox nameTxtBox;
   private SuggestBox nameTxt;
 
   public ProjectRightsPanel(final Project.Id toShow) {
@@ -129,7 +129,7 @@
     addGrid.setText(0, 0, Util.C.columnApprovalCategory() + ":");
     addGrid.setWidget(0, 1, catBox);
 
-    nameTxtBox = new TextBox();
+    nameTxtBox = new NpTextBox();
     nameTxt = new SuggestBox(new AccountGroupSuggestOracle(), nameTxtBox);
     nameTxtBox.setVisibleLength(50);
     nameTxtBox.setText(Util.C.defaultAccountGroupName());
diff --git a/src/main/java/com/google/gerrit/client/changes/AbandonChangeDialog.java b/src/main/java/com/google/gerrit/client/changes/AbandonChangeDialog.java
index 480d062..83780a7 100644
--- a/src/main/java/com/google/gerrit/client/changes/AbandonChangeDialog.java
+++ b/src/main/java/com/google/gerrit/client/changes/AbandonChangeDialog.java
@@ -24,14 +24,14 @@
 import com.google.gwt.user.client.rpc.AsyncCallback;
 import com.google.gwt.user.client.ui.Button;
 import com.google.gwt.user.client.ui.FlowPanel;
-import com.google.gwt.user.client.ui.TextArea;
+import com.google.gwtexpui.globalkey.client.NpTextArea;
 import com.google.gwtexpui.user.client.AutoCenterDialogBox;
 import com.google.gwtjsonrpc.client.VoidResult;
 
 public class AbandonChangeDialog extends AutoCenterDialogBox {
 
   private final FlowPanel panel;
-  private final TextArea message;
+  private final NpTextArea message;
   private final Button sendButton;
   private final Button cancelButton;
   private final PatchSet.Id psid;
@@ -55,7 +55,7 @@
     mwrap.setStyleName("gerrit-AbandonMessage");
     panel.add(mwrap);
 
-    message = new TextArea();
+    message = new NpTextArea();
     message.setCharacterWidth(60);
     message.setVisibleLines(10);
     DOM.setElementPropertyBoolean(message.getElement(), "spellcheck", true);
diff --git a/src/main/java/com/google/gerrit/client/changes/PublishCommentScreen.java b/src/main/java/com/google/gerrit/client/changes/PublishCommentScreen.java
index 24f3a2f..fd7a5cc 100644
--- a/src/main/java/com/google/gerrit/client/changes/PublishCommentScreen.java
+++ b/src/main/java/com/google/gerrit/client/changes/PublishCommentScreen.java
@@ -43,10 +43,10 @@
 import com.google.gwt.user.client.ui.Label;
 import com.google.gwt.user.client.ui.Panel;
 import com.google.gwt.user.client.ui.RadioButton;
-import com.google.gwt.user.client.ui.TextArea;
 import com.google.gwt.user.client.ui.VerticalPanel;
 import com.google.gwt.user.client.ui.Widget;
 import com.google.gwt.user.client.ui.FormPanel.SubmitEvent;
+import com.google.gwtexpui.globalkey.client.NpTextArea;
 import com.google.gwtexpui.safehtml.client.SafeHtml;
 import com.google.gwtjsonrpc.client.VoidResult;
 
@@ -66,7 +66,7 @@
   private Collection<ValueRadioButton> approvalButtons;
   private ChangeDescriptionBlock descBlock;
   private Panel approvalPanel;
-  private TextArea message;
+  private NpTextArea message;
   private Panel draftsPanel;
   private Button send;
   private Button cancel;
@@ -164,7 +164,7 @@
     mwrap.setStyleName("gerrit-CoverMessage");
     body.add(mwrap);
 
-    message = new TextArea();
+    message = new NpTextArea();
     message.setCharacterWidth(60);
     message.setVisibleLines(10);
     DOM.setElementPropertyBoolean(message.getElement(), "spellcheck", true);
diff --git a/src/main/java/com/google/gerrit/client/openid/OpenIdLoginPanel.java b/src/main/java/com/google/gerrit/client/openid/OpenIdLoginPanel.java
index 243c3a2..bce6940 100644
--- a/src/main/java/com/google/gerrit/client/openid/OpenIdLoginPanel.java
+++ b/src/main/java/com/google/gerrit/client/openid/OpenIdLoginPanel.java
@@ -38,8 +38,8 @@
 import com.google.gwt.user.client.ui.Hidden;
 import com.google.gwt.user.client.ui.Image;
 import com.google.gwt.user.client.ui.InlineLabel;
-import com.google.gwt.user.client.ui.TextBox;
 import com.google.gwt.user.client.ui.FormPanel.SubmitEvent;
+import com.google.gwtexpui.globalkey.client.NpTextBox;
 
 import java.util.Map;
 
@@ -57,7 +57,7 @@
   private InlineLabel errorMsg;
 
   private Button login;
-  private TextBox providerId;
+  private NpTextBox providerId;
   private CheckBox rememberId;
   private boolean discovering;
 
@@ -151,7 +151,7 @@
     final FlowPanel line1 = new FlowPanel();
     group.add(line1);
 
-    providerId = new TextBox();
+    providerId = new NpTextBox();
     providerId.setVisibleLength(60);
     providerId.setStyleName("gerrit-OpenID-openid_identifier");
     providerId.setTabIndex(0);
@@ -159,7 +159,6 @@
       @Override
       public void onKeyPress(final KeyPressEvent event) {
         if (event.getCharCode() == KeyCodes.KEY_ENTER) {
-          event.stopPropagation();
           event.preventDefault();
           form.submit();
         }
@@ -245,8 +244,6 @@
     discovering = false;
 
     if (result.validProvider) {
-      final String url = providerId.getText();
-
       redirectForm.setMethod(FormPanel.METHOD_POST);
       redirectForm.setAction(result.providerUrl);
       redirectBody.clear();
diff --git a/src/main/java/com/google/gerrit/client/patches/CommentEditorPanel.java b/src/main/java/com/google/gerrit/client/patches/CommentEditorPanel.java
index c0497c3..b55d5f0 100644
--- a/src/main/java/com/google/gerrit/client/patches/CommentEditorPanel.java
+++ b/src/main/java/com/google/gerrit/client/patches/CommentEditorPanel.java
@@ -33,8 +33,8 @@
 import com.google.gwt.user.client.ui.Focusable;
 import com.google.gwt.user.client.ui.InlineLabel;
 import com.google.gwt.user.client.ui.Label;
-import com.google.gwt.user.client.ui.TextArea;
 import com.google.gwt.user.client.ui.Widget;
+import com.google.gwtexpui.globalkey.client.NpTextArea;
 import com.google.gwtjsonrpc.client.VoidResult;
 
 import java.sql.Timestamp;
@@ -45,7 +45,7 @@
   private static final int MAX_LINES = 30;
   private PatchLineComment comment;
   private final LineCommentPanel renderedPanel;
-  private final TextArea text;
+  private final NpTextArea text;
   private final Button edit;
   private final Button save;
   private final Button cancel;
@@ -83,7 +83,7 @@
         expandText();
       }
     };
-    text = new TextArea();
+    text = new NpTextArea();
     text.setText(comment.getMessage());
     text.setCharacterWidth(INITIAL_COLS);
     text.setVisibleLines(INITIAL_LINES);
@@ -91,8 +91,6 @@
     text.addKeyPressHandler(new KeyPressHandler() {
       @Override
       public void onKeyPress(final KeyPressEvent event) {
-        event.stopPropagation();
-
         if (event.getCharCode() == KeyCodes.KEY_ESCAPE
             && !event.isAnyModifierKeyDown()) {
           event.preventDefault();
diff --git a/src/main/java/com/google/gerrit/client/ui/AddMemberBox.java b/src/main/java/com/google/gerrit/client/ui/AddMemberBox.java
index 71f9dd6..858ae36 100644
--- a/src/main/java/com/google/gerrit/client/ui/AddMemberBox.java
+++ b/src/main/java/com/google/gerrit/client/ui/AddMemberBox.java
@@ -24,18 +24,18 @@
 import com.google.gwt.user.client.ui.Composite;
 import com.google.gwt.user.client.ui.FlowPanel;
 import com.google.gwt.user.client.ui.SuggestBox;
-import com.google.gwt.user.client.ui.TextBox;
+import com.google.gwtexpui.globalkey.client.NpTextBox;
 
 public class AddMemberBox extends Composite {
   private final FlowPanel addPanel;
   private final Button addMember;
-  private final TextBox nameTxtBox;
+  private final NpTextBox nameTxtBox;
   private final SuggestBox nameTxt;
 
   public AddMemberBox() {
     addPanel = new FlowPanel();
     addMember = new Button(Util.C.buttonAddGroupMember());
-    nameTxtBox = new TextBox();
+    nameTxtBox = new NpTextBox();
     nameTxt = new SuggestBox(new AccountSuggestOracle(), nameTxtBox);
 
     nameTxtBox.setVisibleLength(50);