diff options
author | Shawn O. Pearce <sop@google.com> | 2009-12-31 06:28:41 -0800 |
---|---|---|
committer | Shawn O. Pearce <sop@google.com> | 2010-01-04 06:24:34 -0800 |
commit | fa38146c07341701a12dee13e074291e0f0824ed (patch) | |
tree | 7997dbfe401534194636abff96193dd658e12def | |
parent | eb4af5a8f335bd74456d8469542ce0be436b034b (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.java | 17 |
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(); |