summaryrefslogtreecommitdiffstats
path: root/WebCore/inspector/InspectorValues.h
diff options
context:
space:
mode:
Diffstat (limited to 'WebCore/inspector/InspectorValues.h')
-rw-r--r--WebCore/inspector/InspectorValues.h47
1 files changed, 39 insertions, 8 deletions
diff --git a/WebCore/inspector/InspectorValues.h b/WebCore/inspector/InspectorValues.h
index f6556d7..4bc36f2 100644
--- a/WebCore/inspector/InspectorValues.h
+++ b/WebCore/inspector/InspectorValues.h
@@ -34,12 +34,12 @@
#if ENABLE(INSPECTOR)
#include "PlatformString.h"
-#include "StringHash.h"
#include <wtf/Forward.h>
#include <wtf/HashMap.h>
#include <wtf/RefCounted.h>
#include <wtf/Vector.h>
+#include <wtf/text/StringHash.h>
namespace WebCore {
@@ -73,6 +73,9 @@ public:
virtual bool asNumber(unsigned long* output) const;
virtual bool asNumber(unsigned int* output) const;
virtual bool asString(String* output) const;
+ virtual bool asValue(RefPtr<InspectorValue>* output);
+ virtual bool asObject(RefPtr<InspectorObject>* output);
+ virtual bool asArray(RefPtr<InspectorArray>* output);
virtual PassRefPtr<InspectorObject> asObject();
virtual PassRefPtr<InspectorArray> asArray();
@@ -163,12 +166,15 @@ public:
}
~InspectorObject() { }
+ virtual bool asObject(RefPtr<InspectorObject>* output);
virtual PassRefPtr<InspectorObject> asObject();
void setBool(const String& name, bool);
void setNumber(const String& name, double);
void setString(const String& name, const String&);
- void set(const String& name, PassRefPtr<InspectorValue>);
+ void setValue(const String& name, PassRefPtr<InspectorValue>);
+ void setObject(const String& name, PassRefPtr<InspectorObject>);
+ void setArray(const String& name, PassRefPtr<InspectorArray>);
bool getBool(const String& name, bool* output) const;
bool getNumber(const String& name, double* output) const;
@@ -198,12 +204,15 @@ public:
}
~InspectorArray() { }
+ virtual bool asArray(RefPtr<InspectorArray>* output);
virtual PassRefPtr<InspectorArray> asArray();
void pushBool(bool);
void pushNumber(double);
void pushString(const String&);
- void push(PassRefPtr<InspectorValue>);
+ void pushValue(PassRefPtr<InspectorValue>);
+ void pushObject(PassRefPtr<InspectorObject>);
+ void pushArray(PassRefPtr<InspectorArray>);
unsigned length() const { return m_data.size(); }
PassRefPtr<InspectorValue> get(size_t index);
@@ -217,20 +226,32 @@ private:
inline void InspectorObject::setBool(const String& name, bool value)
{
- set(name, InspectorBasicValue::create(value));
+ setValue(name, InspectorBasicValue::create(value));
}
inline void InspectorObject::setNumber(const String& name, double value)
{
- set(name, InspectorBasicValue::create(value));
+ setValue(name, InspectorBasicValue::create(value));
}
inline void InspectorObject::setString(const String& name, const String& value)
{
- set(name, InspectorString::create(value));
+ setValue(name, InspectorString::create(value));
}
-inline void InspectorObject::set(const String& name, PassRefPtr<InspectorValue> value)
+inline void InspectorObject::setValue(const String& name, PassRefPtr<InspectorValue> value)
+{
+ if (m_data.set(name, value).second)
+ m_order.append(name);
+}
+
+inline void InspectorObject::setObject(const String& name, PassRefPtr<InspectorObject> value)
+{
+ if (m_data.set(name, value).second)
+ m_order.append(name);
+}
+
+inline void InspectorObject::setArray(const String& name, PassRefPtr<InspectorArray> value)
{
if (m_data.set(name, value).second)
m_order.append(name);
@@ -251,7 +272,17 @@ inline void InspectorArray::pushString(const String& value)
m_data.append(InspectorString::create(value));
}
-inline void InspectorArray::push(PassRefPtr<InspectorValue> value)
+inline void InspectorArray::pushValue(PassRefPtr<InspectorValue> value)
+{
+ m_data.append(value);
+}
+
+inline void InspectorArray::pushObject(PassRefPtr<InspectorObject> value)
+{
+ m_data.append(value);
+}
+
+inline void InspectorArray::pushArray(PassRefPtr<InspectorArray> value)
{
m_data.append(value);
}