Don't let an exception escape if we can't decode cookies.  Future work to
support non-encoding of cookies is  captured in issue 3566.

Issue: 1633
Patch by: jat
Review by: jgw (desk)


git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@5254 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/user/src/com/google/gwt/user/client/Cookies.java b/user/src/com/google/gwt/user/client/Cookies.java
index 81ab03e..1ab8492 100644
--- a/user/src/com/google/gwt/user/client/Cookies.java
+++ b/user/src/com/google/gwt/user/client/Cookies.java
@@ -120,8 +120,16 @@
           name = crumbs[i].substring(0, eqIdx);
           value = crumbs[i].substring(eqIdx + 1);
         }
-        name = decodeURIComponent(name);
-        value = decodeURIComponent(value);
+        try {
+          name = decodeURIComponent(name);
+        } catch (e) {
+          // ignore error, keep undecoded name
+        }
+        try {
+          value = decodeURIComponent(value);
+        } catch (e) {
+          // ignore error, keep undecoded value
+        }
         m.@java.util.Map::put(Ljava/lang/Object;Ljava/lang/Object;)(name,value);
       }
     }