Revision: 6935
Author: [email protected]
Date: Mon Nov 16 15:54:41 2009
Log: Fix JSONObject handling on Chrome in DevMode.

Patch by: jat
Review by: jlabanca (desk)

http://code.google.com/p/google-web-toolkit/source/detail?r=6935

Modified:
  /trunk/user/src/com/google/gwt/json/client/JSONObject.java

=======================================
--- /trunk/user/src/com/google/gwt/json/client/JSONObject.java  Thu Feb 19  
22:19:58 2009
+++ /trunk/user/src/com/google/gwt/json/client/JSONObject.java  Mon Nov 16  
15:54:41 2009
@@ -195,7 +195,9 @@
    private native void addAllKeys(Collection<String> s) /*-{
      var jsObject = [email protected]::jsObject;
      for (var key in jsObject) {
-      [email protected]::add(Ljava/lang/Object;)(key);
+      if (jsObject.hasOwnProperty(key)) {
+        [email protected]::add(Ljava/lang/Object;)(key);
+      }
      }
    }-*/;

@@ -213,7 +215,9 @@
      var jsObject = [email protected]::jsObject;
      var i = 0;
      for (var key in jsObject) {
-      result[i++] = key;
+      if (jsObject.hasOwnProperty(key)) {
+        result[i++] = key;
+      }
      }
      return result;
    }-*/;
@@ -222,13 +226,19 @@
      var jsObject = [email protected]::jsObject;
      var size = 0;
      for (var key in jsObject) {
-      ++size;
+      if (jsObject.hasOwnProperty(key)) {
+        ++size;
+      }
      }
      return size;
    }-*/;

    private native JSONValue get0(String key) /*-{
-    var v = [email protected]::jsObject[key];
+    var jsObject = [email protected]::jsObject;
+    var v;
+    if (jsObject.hasOwnProperty(key)) {
+      v = jsObject[key];
+    }
      var func = @com.google.gwt.json.client.JSONParser::typeMap[typeof v];
      return func ? func(v) :  
@com.google.gwt.json.client.JSONParser::throwUnknownTypeException(Ljava/lang/String;)(typeof
  
v);
    }-*/;

-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Reply via email to