Title: [113157] trunk/Source/WebCore
Revision
113157
Author
[email protected]
Date
2012-04-04 02:36:28 -0700 (Wed, 04 Apr 2012)

Log Message

Web Inspector: CodeGeneratorInspector.py: switch Inspector, Memory and Database domains to typed API
https://bugs.webkit.org/show_bug.cgi?id=82958

Patch by Peter Rybin <[email protected]> on 2012-04-02
Reviewed by Yury Semikhatsky.

Client code is switched to typed API (all InspectorObject and InspectorArray types are replaced with
generated types from TypeBuilder according to Inspector.json).

Missing array of InspectorValues specialization is added.

* inspector/CodeGeneratorInspector.py:
* inspector/InjectedScriptHost.cpp:
(WebCore::InjectedScriptHost::inspectImpl):
* inspector/InspectorAgent.cpp:
(WebCore::InspectorAgent::inspect):
* inspector/InspectorAgent.h:
(InspectorAgent):
* inspector/InspectorDatabaseAgent.cpp:
(WebCore):
(WebCore::InspectorDatabaseAgent::getDatabaseTableNames):
* inspector/InspectorDatabaseAgent.h:
(InspectorDatabaseAgent):
* inspector/InspectorDatabaseResource.cpp:
(WebCore::InspectorDatabaseResource::bind):
* inspector/InspectorMemoryAgent.cpp:
(WebCore::InspectorMemoryAgent::getDOMNodeCount):
* inspector/InspectorMemoryAgent.h:
(InspectorMemoryAgent):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (113156 => 113157)


--- trunk/Source/WebCore/ChangeLog	2012-04-04 09:27:13 UTC (rev 113156)
+++ trunk/Source/WebCore/ChangeLog	2012-04-04 09:36:28 UTC (rev 113157)
@@ -1,3 +1,34 @@
+2012-04-02  Peter Rybin  <[email protected]>
+
+        Web Inspector: CodeGeneratorInspector.py: switch Inspector, Memory and Database domains to typed API
+        https://bugs.webkit.org/show_bug.cgi?id=82958
+
+        Reviewed by Yury Semikhatsky.
+
+        Client code is switched to typed API (all InspectorObject and InspectorArray types are replaced with
+        generated types from TypeBuilder according to Inspector.json).
+
+        Missing array of InspectorValues specialization is added.
+
+        * inspector/CodeGeneratorInspector.py:
+        * inspector/InjectedScriptHost.cpp:
+        (WebCore::InjectedScriptHost::inspectImpl):
+        * inspector/InspectorAgent.cpp:
+        (WebCore::InspectorAgent::inspect):
+        * inspector/InspectorAgent.h:
+        (InspectorAgent):
+        * inspector/InspectorDatabaseAgent.cpp:
+        (WebCore):
+        (WebCore::InspectorDatabaseAgent::getDatabaseTableNames):
+        * inspector/InspectorDatabaseAgent.h:
+        (InspectorDatabaseAgent):
+        * inspector/InspectorDatabaseResource.cpp:
+        (WebCore::InspectorDatabaseResource::bind):
+        * inspector/InspectorMemoryAgent.cpp:
+        (WebCore::InspectorMemoryAgent::getDOMNodeCount):
+        * inspector/InspectorMemoryAgent.h:
+        (InspectorMemoryAgent):
+
 2012-04-04  Andrey Kosyakov  <[email protected]>
 
         Web Inspector: make padding and client window width part of timeline calculator's state

Modified: trunk/Source/WebCore/inspector/CodeGeneratorInspector.py (113156 => 113157)


--- trunk/Source/WebCore/inspector/CodeGeneratorInspector.py	2012-04-04 09:27:13 UTC (rev 113156)
+++ trunk/Source/WebCore/inspector/CodeGeneratorInspector.py	2012-04-04 09:36:28 UTC (rev 113157)
@@ -60,7 +60,8 @@
                                          "Debugger.FunctionDetails", "Debugger.CallFrame"])
 
 STRICT_ENABLED_DOMAINS = ["Console", "DOMDebugger",
-                          "CSS", "Debugger", "DOM", "Network", "Page", "Runtime"]
+                          "CSS", "Debugger", "DOM", "Network", "Page", "Runtime",
+                          "Inspector", "Memory", "Database"]
 
 
 cmdline_parser = optparse.OptionParser()
@@ -2277,14 +2278,12 @@
     };
 };
 
-
-
 template<>
-struct ArrayItemHelper<InspectorObject> {
+struct ArrayItemHelper<InspectorValue> {
     struct Traits {
-        static void pushRefPtr(InspectorArray* array, PassRefPtr<InspectorObject> value)
+        static void pushRefPtr(InspectorArray* array, PassRefPtr<InspectorValue> value)
         {
-            array->pushObject(value);
+            array->pushValue(value);
         }
     };
 };

Modified: trunk/Source/WebCore/inspector/InjectedScriptHost.cpp (113156 => 113157)


--- trunk/Source/WebCore/inspector/InjectedScriptHost.cpp	2012-04-04 09:27:13 UTC (rev 113156)
+++ trunk/Source/WebCore/inspector/InjectedScriptHost.cpp	2012-04-04 09:36:28 UTC (rev 113157)
@@ -98,8 +98,10 @@
 
 void InjectedScriptHost::inspectImpl(PassRefPtr<InspectorValue> object, PassRefPtr<InspectorValue> hints)
 {
-    if (m_inspectorAgent)
-        m_inspectorAgent->inspect(object->asObject(), hints->asObject());
+    if (m_inspectorAgent) {
+        RefPtr<TypeBuilder::Runtime::RemoteObject> remoteObject = TypeBuilder::Runtime::RemoteObject::runtimeCast(object);
+        m_inspectorAgent->inspect(remoteObject, hints->asObject());
+    }
 }
 
 void InjectedScriptHost::getEventListenersImpl(Node* node, Vector<EventListenerInfo>& listenersArray)

Modified: trunk/Source/WebCore/inspector/InspectorAgent.cpp (113156 => 113157)


--- trunk/Source/WebCore/inspector/InspectorAgent.cpp	2012-04-04 09:27:13 UTC (rev 113156)
+++ trunk/Source/WebCore/inspector/InspectorAgent.cpp	2012-04-04 09:36:28 UTC (rev 113157)
@@ -202,7 +202,7 @@
     m_injectedScriptForOrigin.set(origin, source);
 }
 
-void InspectorAgent::inspect(PassRefPtr<InspectorObject> objectToInspect, PassRefPtr<InspectorObject> hints)
+void InspectorAgent::inspect(PassRefPtr<TypeBuilder::Runtime::RemoteObject> objectToInspect, PassRefPtr<InspectorObject> hints)
 {
     if (m_state->getBoolean(InspectorAgentState::inspectorAgentEnabled) && m_frontend) {
         m_frontend->inspector()->inspect(objectToInspect, hints);

Modified: trunk/Source/WebCore/inspector/InspectorAgent.h (113156 => 113157)


--- trunk/Source/WebCore/inspector/InspectorAgent.h	2012-04-04 09:27:13 UTC (rev 113156)
+++ trunk/Source/WebCore/inspector/InspectorAgent.h	2012-04-04 09:36:28 UTC (rev 113157)
@@ -94,7 +94,7 @@
 
     void setInjectedScriptForOrigin(const String& origin, const String& source);
 
-    void inspect(PassRefPtr<InspectorObject> objectToInspect, PassRefPtr<InspectorObject> hints);
+    void inspect(PassRefPtr<TypeBuilder::Runtime::RemoteObject> objectToInspect, PassRefPtr<InspectorObject> hints);
 
 private:
     InspectorAgent(Page*, InjectedScriptManager*, InstrumentingAgents*, InspectorState*);
@@ -112,7 +112,7 @@
     InjectedScriptManager* m_injectedScriptManager;
 
     Vector<pair<long, String> > m_pendingEvaluateTestCommands;
-    pair<RefPtr<InspectorObject>, RefPtr<InspectorObject> > m_pendingInspectData;
+    pair<RefPtr<TypeBuilder::Runtime::RemoteObject>, RefPtr<InspectorObject> > m_pendingInspectData;
     typedef HashMap<String, String> InjectedScriptForOriginMap;
     InjectedScriptForOriginMap m_injectedScriptForOrigin;
 #if ENABLE(WORKERS)

Modified: trunk/Source/WebCore/inspector/InspectorDatabaseAgent.cpp (113156 => 113157)


--- trunk/Source/WebCore/inspector/InspectorDatabaseAgent.cpp	2012-04-04 09:27:13 UTC (rev 113156)
+++ trunk/Source/WebCore/inspector/InspectorDatabaseAgent.cpp	2012-04-04 09:36:28 UTC (rev 113157)
@@ -103,19 +103,19 @@
 
         SQLResultSetRowList* rowList = resultSet->rows();
 
-        RefPtr<InspectorArray> columnNames = InspectorArray::create();
+        RefPtr<TypeBuilder::Array<String> > columnNames = TypeBuilder::Array<String>::create();
         const Vector<String>& columns = rowList->columnNames();
         for (size_t i = 0; i < columns.size(); ++i)
-            columnNames->pushString(columns[i]);
+            columnNames->addItem(columns[i]);
 
-        RefPtr<InspectorArray> values = InspectorArray::create();
+        RefPtr<TypeBuilder::Array<InspectorValue> > values = TypeBuilder::Array<InspectorValue>::create();
         const Vector<SQLValue>& data = ""
         for (size_t i = 0; i < data.size(); ++i) {
             const SQLValue& value = rowList->values()[i];
             switch (value.type()) {
-                case SQLValue::StringValue: values->pushString(value.string()); break;
-                case SQLValue::NumberValue: values->pushNumber(value.number()); break;
-                case SQLValue::NullValue: values->pushValue(InspectorValue::null()); break;
+            case SQLValue::StringValue: values->addItem(InspectorString::create(value.string())); break;
+            case SQLValue::NumberValue: values->addItem(InspectorBasicValue::create(value.number())); break;
+            case SQLValue::NullValue: values->addItem(InspectorValue::null()); break;
             }
         }
         m_frontendProvider->frontend()->sqlTransactionSucceeded(m_transactionId, columnNames, values);
@@ -291,19 +291,21 @@
     m_enabled =  m_state->getBoolean(DatabaseAgentState::databaseAgentEnabled);
 }
 
-void InspectorDatabaseAgent::getDatabaseTableNames(ErrorString* error, const String& databaseId, RefPtr<InspectorArray>& names)
+void InspectorDatabaseAgent::getDatabaseTableNames(ErrorString* error, const String& databaseId, RefPtr<TypeBuilder::Array<String> >& names)
 {
     if (!m_enabled) {
         *error = "Database agent is not enabled";
         return;
     }
 
+    names = TypeBuilder::Array<String>::create();
+
     Database* database = databaseForId(databaseId);
     if (database) {
         Vector<String> tableNames = database->tableNames();
         unsigned length = tableNames.size();
         for (unsigned i = 0; i < length; ++i)
-            names->pushString(tableNames[i]);
+            names->addItem(tableNames[i]);
     }
 }
 

Modified: trunk/Source/WebCore/inspector/InspectorDatabaseAgent.h (113156 => 113157)


--- trunk/Source/WebCore/inspector/InspectorDatabaseAgent.h	2012-04-04 09:27:13 UTC (rev 113156)
+++ trunk/Source/WebCore/inspector/InspectorDatabaseAgent.h	2012-04-04 09:36:28 UTC (rev 113157)
@@ -66,7 +66,7 @@
     // Called from the front-end.
     virtual void enable(ErrorString*);
     virtual void disable(ErrorString*);
-    virtual void getDatabaseTableNames(ErrorString*, const String& databaseId, RefPtr<InspectorArray>& names);
+    virtual void getDatabaseTableNames(ErrorString*, const String& databaseId, RefPtr<TypeBuilder::Array<String> >& names);
     virtual void executeSQL(ErrorString*, const String& databaseId, const String& query, bool* success, int* transactionId);
 
     // Called from the injected script.

Modified: trunk/Source/WebCore/inspector/InspectorDatabaseResource.cpp (113156 => 113157)


--- trunk/Source/WebCore/inspector/InspectorDatabaseResource.cpp	2012-04-04 09:27:13 UTC (rev 113156)
+++ trunk/Source/WebCore/inspector/InspectorDatabaseResource.cpp	2012-04-04 09:36:28 UTC (rev 113157)
@@ -58,11 +58,11 @@
 
 void InspectorDatabaseResource::bind(InspectorFrontend::Database* frontend)
 {
-    RefPtr<InspectorObject> jsonObject = InspectorObject::create();
-    jsonObject->setString("id", m_id);
-    jsonObject->setString("domain", m_domain);
-    jsonObject->setString("name", m_name);
-    jsonObject->setString("version", m_version);
+    RefPtr<TypeBuilder::Database::Database> jsonObject = TypeBuilder::Database::Database::create()
+        .setId(m_id)
+        .setDomain(m_domain)
+        .setName(m_name)
+        .setVersion(m_version);
     frontend->addDatabase(jsonObject);
 }
 

Modified: trunk/Source/WebCore/inspector/InspectorMemoryAgent.cpp (113156 => 113157)


--- trunk/Source/WebCore/inspector/InspectorMemoryAgent.cpp	2012-04-04 09:27:13 UTC (rev 113156)
+++ trunk/Source/WebCore/inspector/InspectorMemoryAgent.cpp	2012-04-04 09:36:28 UTC (rev 113157)
@@ -198,13 +198,13 @@
 public:
     CounterVisitor(Page* page)
         : m_page(page)
-        , m_domGroups(InspectorArray::create())
+        , m_domGroups(TypeBuilder::Array<TypeBuilder::Memory::DOMGroup>::create())
         , m_jsExternalStringSize(0)
         , m_sharedStringSize(0) { }
 
-    InspectorArray* domGroups() { return m_domGroups.get(); }
+    TypeBuilder::Array<TypeBuilder::Memory::DOMGroup>* domGroups() { return m_domGroups.get(); }
 
-    PassRefPtr<InspectorObject> strings()
+    PassRefPtr<StringStatistics> strings()
     {
         RefPtr<StringStatistics> stringStatistics = StringStatistics::create()
             .setDom(m_characterDataStatistics.characterDataSize())
@@ -236,7 +236,7 @@
         if (rootNode->nodeType() == Node::DOCUMENT_NODE)
             domGroup->setDocumentURI(static_cast<Document*>(rootNode)->documentURI());
 
-        m_domGroups->pushObject(domGroup);
+        m_domGroups->addItem(domGroup);
     }
 
     virtual void visitJSExternalString(StringImpl* string)
@@ -278,7 +278,7 @@
 
     HashSet<Node*> m_roots;
     Page* m_page;
-    RefPtr<InspectorArray> m_domGroups;
+    RefPtr<TypeBuilder::Array<TypeBuilder::Memory::DOMGroup> > m_domGroups;
     CharacterDataStatistics m_characterDataStatistics;
     int m_jsExternalStringSize;
     int m_sharedStringSize;
@@ -290,7 +290,7 @@
 {
 }
 
-void InspectorMemoryAgent::getDOMNodeCount(ErrorString*, RefPtr<InspectorArray>& domGroups, RefPtr<InspectorObject>& strings)
+void InspectorMemoryAgent::getDOMNodeCount(ErrorString*, RefPtr<TypeBuilder::Array<TypeBuilder::Memory::DOMGroup> >& domGroups, RefPtr<TypeBuilder::Memory::StringStatistics>& strings)
 {
     CounterVisitor counterVisitor(m_page);
     ScriptProfiler::visitJSDOMWrappers(&counterVisitor);

Modified: trunk/Source/WebCore/inspector/InspectorMemoryAgent.h (113156 => 113157)


--- trunk/Source/WebCore/inspector/InspectorMemoryAgent.h	2012-04-04 09:27:13 UTC (rev 113156)
+++ trunk/Source/WebCore/inspector/InspectorMemoryAgent.h	2012-04-04 09:36:28 UTC (rev 113157)
@@ -57,7 +57,7 @@
         return adoptPtr(new InspectorMemoryAgent(instrumentingAgents, state, page, domAgent));
     }
 
-    void getDOMNodeCount(ErrorString*, RefPtr<InspectorArray>& domGroups, RefPtr<InspectorObject>& strings);
+    void getDOMNodeCount(ErrorString*, RefPtr<TypeBuilder::Array<TypeBuilder::Memory::DOMGroup> >& domGroups, RefPtr<TypeBuilder::Memory::StringStatistics>& strings);
 
     ~InspectorMemoryAgent();
 
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to