summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorShawn O. Pearce <sop@google.com>2009-12-31 06:28:41 -0800
committerShawn O. Pearce <sop@google.com>2010-01-04 06:24:34 -0800
commitfa38146c07341701a12dee13e074291e0f0824ed (patch)
tree7997dbfe401534194636abff96193dd658e12def
parenteb4af5a8f335bd74456d8469542ce0be436b034b (diff)
Configure the gwtorm KeyUtil.Encoder during module loadv2.1.1
gwtorm 1.1.3 no longer actually knows anything about GWT, so it can't reuse the GWT native JavaScript encoding routines on its own. Therefore we have to install the KeyEncoder before using anything that might ask for it. Change-Id: I708daaed0ce8b1f57a4636a0fea217a738f679cf Signed-off-by: Shawn O. Pearce <sop@google.com>
-rw-r--r--gerrit-gwtui/src/main/java/com/google/gerrit/client/Gerrit.java17
1 files changed, 17 insertions, 0 deletions
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/Gerrit.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/Gerrit.java
index 959eb79dfe..811a7e8884 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/Gerrit.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/Gerrit.java
@@ -33,6 +33,7 @@ import com.google.gwt.core.client.GWT;
import com.google.gwt.core.client.JavaScriptObject;
import com.google.gwt.event.logical.shared.ValueChangeEvent;
import com.google.gwt.event.logical.shared.ValueChangeHandler;
+import com.google.gwt.http.client.URL;
import com.google.gwt.user.client.Command;
import com.google.gwt.user.client.Cookies;
import com.google.gwt.user.client.History;
@@ -54,6 +55,7 @@ import com.google.gwtexpui.user.client.ViewSite;
import com.google.gwtjsonrpc.client.JsonDefTarget;
import com.google.gwtjsonrpc.client.JsonUtil;
import com.google.gwtjsonrpc.client.XsrfManager;
+import com.google.gwtorm.client.KeyUtil;
import java.util.ArrayList;
@@ -194,6 +196,21 @@ public class Gerrit implements EntryPoint {
public void onModuleLoad() {
UserAgent.assertNotInIFrame();
+ KeyUtil.setEncoderImpl(new KeyUtil.Encoder() {
+ @Override
+ public String encode(final String e) {
+ return fixPathImpl(URL.encodeComponent(e));
+ }
+
+ @Override
+ public String decode(final String e) {
+ return URL.decodeComponent(e);
+ }
+
+ private native String fixPathImpl(String path)
+ /*-{ return path.replace(/%2F/g, "/"); }-*/;
+ });
+
RESOURCES.gwt_override().ensureInjected();
RESOURCES.css().ensureInjected();