Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / Source / platform / JSONValues.h
index 8d609c6..67864a5 100644 (file)
@@ -39,7 +39,7 @@
 #include "wtf/text/StringHash.h"
 #include "wtf/text/WTFString.h"
 
-namespace WebCore {
+namespace blink {
 
 class JSONArray;
 class JSONObject;
@@ -83,12 +83,18 @@ public:
     virtual PassRefPtr<JSONArray> asArray();
 
     String toJSONString() const;
+    String toPrettyJSONString() const;
     virtual void writeJSON(StringBuilder* output) const;
+    virtual void prettyWriteJSON(StringBuilder* output) const;
 
 protected:
     explicit JSONValue(Type type) : m_type(type) { }
+    virtual void prettyWriteJSONInternal(StringBuilder* output, int depth) const;
 
 private:
+    friend class JSONObjectBase;
+    friend class JSONArrayBase;
+
     Type m_type;
 };
 
@@ -110,14 +116,14 @@ public:
         return adoptRef(new JSONBasicValue(value));
     }
 
-    virtual bool asBoolean(bool* output) const OVERRIDE;
-    virtual bool asNumber(double* output) const OVERRIDE;
-    virtual bool asNumber(long* output) const OVERRIDE;
-    virtual bool asNumber(int* output) const OVERRIDE;
-    virtual bool asNumber(unsigned long* output) const OVERRIDE;
-    virtual bool asNumber(unsigned* output) const OVERRIDE;
+    virtual bool asBoolean(bool* output) const override;
+    virtual bool asNumber(double* output) const override;
+    virtual bool asNumber(long* output) const override;
+    virtual bool asNumber(int* output) const override;
+    virtual bool asNumber(unsigned long* output) const override;
+    virtual bool asNumber(unsigned* output) const override;
 
-    virtual void writeJSON(StringBuilder* output) const OVERRIDE;
+    virtual void writeJSON(StringBuilder* output) const override;
 
 private:
     explicit JSONBasicValue(bool value) : JSONValue(TypeBoolean), m_boolValue(value) { }
@@ -142,9 +148,9 @@ public:
         return adoptRef(new JSONString(value));
     }
 
-    virtual bool asString(String* output) const OVERRIDE;
+    virtual bool asString(String* output) const override;
 
-    virtual void writeJSON(StringBuilder* output) const OVERRIDE;
+    virtual void writeJSON(StringBuilder* output) const override;
 
 private:
     explicit JSONString(const String& value) : JSONValue(TypeString), m_stringValue(value) { }
@@ -161,13 +167,15 @@ public:
     typedef Dictionary::iterator iterator;
     typedef Dictionary::const_iterator const_iterator;
 
-    virtual PassRefPtr<JSONObject> asObject() OVERRIDE;
+    virtual PassRefPtr<JSONObject> asObject() override;
     JSONObject* openAccessors();
 
+    virtual void writeJSON(StringBuilder* output) const override;
+
 protected:
     virtual ~JSONObjectBase();
 
-    virtual bool asObject(RefPtr<JSONObject>* output) OVERRIDE;
+    virtual bool asObject(RefPtr<JSONObject>* output) override;
 
     void setBoolean(const String& name, bool);
     void setNumber(const String& name, double);
@@ -193,7 +201,7 @@ protected:
 
     void remove(const String& name);
 
-    virtual void writeJSON(StringBuilder* output) const OVERRIDE;
+    virtual void prettyWriteJSONInternal(StringBuilder* output, int depth) const override;
 
     iterator begin() { return m_data.begin(); }
     iterator end() { return m_data.end(); }
@@ -248,14 +256,16 @@ public:
     typedef Vector<RefPtr<JSONValue> >::iterator iterator;
     typedef Vector<RefPtr<JSONValue> >::const_iterator const_iterator;
 
-    virtual PassRefPtr<JSONArray> asArray() OVERRIDE;
+    virtual PassRefPtr<JSONArray> asArray() override;
 
     unsigned length() const { return m_data.size(); }
 
+    virtual void writeJSON(StringBuilder* output) const override;
+
 protected:
     virtual ~JSONArrayBase();
 
-    virtual bool asArray(RefPtr<JSONArray>* output) OVERRIDE;
+    virtual bool asArray(RefPtr<JSONArray>* output) override;
 
     void pushBoolean(bool);
     void pushInt(int);
@@ -267,7 +277,7 @@ protected:
 
     PassRefPtr<JSONValue> get(size_t index);
 
-    virtual void writeJSON(StringBuilder* output) const OVERRIDE;
+    virtual void prettyWriteJSONInternal(StringBuilder* output, int depth) const override;
 
     iterator begin() { return m_data.begin(); }
     iterator end() { return m_data.end(); }
@@ -304,91 +314,6 @@ public:
     using JSONArrayBase::end;
 };
 
-
-inline JSONObjectBase::iterator JSONObjectBase::find(const String& name)
-{
-    return m_data.find(name);
-}
-
-inline JSONObjectBase::const_iterator JSONObjectBase::find(const String& name) const
-{
-    return m_data.find(name);
-}
-
-inline void JSONObjectBase::setBoolean(const String& name, bool value)
-{
-    setValue(name, JSONBasicValue::create(value));
-}
-
-inline void JSONObjectBase::setNumber(const String& name, double value)
-{
-    setValue(name, JSONBasicValue::create(value));
-}
-
-inline void JSONObjectBase::setString(const String& name, const String& value)
-{
-    setValue(name, JSONString::create(value));
-}
-
-inline void JSONObjectBase::setValue(const String& name, PassRefPtr<JSONValue> value)
-{
-    ASSERT(value);
-    if (m_data.set(name, value).isNewEntry)
-        m_order.append(name);
-}
-
-inline void JSONObjectBase::setObject(const String& name, PassRefPtr<JSONObject> value)
-{
-    ASSERT(value);
-    if (m_data.set(name, value).isNewEntry)
-        m_order.append(name);
-}
-
-inline void JSONObjectBase::setArray(const String& name, PassRefPtr<JSONArray> value)
-{
-    ASSERT(value);
-    if (m_data.set(name, value).isNewEntry)
-        m_order.append(name);
-}
-
-inline void JSONArrayBase::pushBoolean(bool value)
-{
-    m_data.append(JSONBasicValue::create(value));
-}
-
-inline void JSONArrayBase::pushInt(int value)
-{
-    m_data.append(JSONBasicValue::create(value));
-}
-
-inline void JSONArrayBase::pushNumber(double value)
-{
-    m_data.append(JSONBasicValue::create(value));
-}
-
-inline void JSONArrayBase::pushString(const String& value)
-{
-    m_data.append(JSONString::create(value));
-}
-
-inline void JSONArrayBase::pushValue(PassRefPtr<JSONValue> value)
-{
-    ASSERT(value);
-    m_data.append(value);
-}
-
-inline void JSONArrayBase::pushObject(PassRefPtr<JSONObject> value)
-{
-    ASSERT(value);
-    m_data.append(value);
-}
-
-inline void JSONArrayBase::pushArray(PassRefPtr<JSONArray> value)
-{
-    ASSERT(value);
-    m_data.append(value);
-}
-
-} // namespace WebCore
+} // namespace blink
 
 #endif // !defined(JSONValues_h)