https://bugs.webkit.org/show_bug.cgi?id=74549
Patch by Peter Rybin <peter.rybin@gmail.com> on 2011-12-18
Reviewed by Pavel Feldman.
Source/WebCore:
Work with InspectorObject is replaced with type-safe generated API
usage.
Inspector.json and Inspector-0.1.json are also changed to better
reflect data types that are actually being transmitted.
* inspector/ConsoleMessage.cpp:
(WebCore::ConsoleMessage::addToFrontend):
* inspector/Inspector-0.1.json:
* inspector/Inspector.json:
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::buildObjectForNode):
(WebCore::InspectorDOMAgent::buildObjectForEventListener):
* inspector/InspectorDebuggerAgent.cpp:
(WebCore::InspectorDebuggerAgent::resolveBreakpoint):
* inspector/ScriptCallFrame.cpp:
(WebCore::ScriptCallFrame::buildInspectorObject):
LayoutTests:
Expected file modified as JSON properties are now in different
order.
* inspector/protocol/console-agent-expected.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@103174
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
+2011-12-18 Peter Rybin <peter.rybin@gmail.com>
+
+ Web Inspector: Switch to type-safe JSON ConsoleMessage.cpp, InspectorDOMAgent.cpp, InspectorDebuggerAgent.cpp, ScriptCallFrame.cpp
+ https://bugs.webkit.org/show_bug.cgi?id=74549
+
+ Reviewed by Pavel Feldman.
+
+ Expected file modified as JSON properties are now in different
+ order.
+
+ * inspector/protocol/console-agent-expected.txt:
+
2011-12-18 Alexandru Chiculita <achicu@adobe.com>
[CSS Shaders] Add FECustomFilter that renders custom filters
params : {
message : {
source : "console-api"
- type : "log"
level : "log"
+ text : "test"
+ type : "log"
line : 1
url : ""
repeatCount : 1
- text : "test"
parameters : [
{
type : "string"
2011-12-18 Peter Rybin <peter.rybin@gmail.com>
+ Web Inspector: Switch to type-safe JSON ConsoleMessage.cpp, InspectorDOMAgent.cpp, InspectorDebuggerAgent.cpp, ScriptCallFrame.cpp
+ https://bugs.webkit.org/show_bug.cgi?id=74549
+
+ Reviewed by Pavel Feldman.
+
+ Work with InspectorObject is replaced with type-safe generated API
+ usage.
+ Inspector.json and Inspector-0.1.json are also changed to better
+ reflect data types that are actually being transmitted.
+
+ * inspector/ConsoleMessage.cpp:
+ (WebCore::ConsoleMessage::addToFrontend):
+ * inspector/Inspector-0.1.json:
+ * inspector/Inspector.json:
+ * inspector/InspectorDOMAgent.cpp:
+ (WebCore::InspectorDOMAgent::buildObjectForNode):
+ (WebCore::InspectorDOMAgent::buildObjectForEventListener):
+ * inspector/InspectorDebuggerAgent.cpp:
+ (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
+ * inspector/ScriptCallFrame.cpp:
+ (WebCore::ScriptCallFrame::buildInspectorObject):
+
+2011-12-18 Peter Rybin <peter.rybin@gmail.com>
+
Web Inspector: CodeGeneratorInspector.py: use generated types in method parameters
https://bugs.webkit.org/show_bug.cgi?id=74661
void ConsoleMessage::addToFrontend(InspectorFrontend::Console* frontend, InjectedScriptManager* injectedScriptManager)
{
- RefPtr<InspectorObject> jsonObj = InspectorObject::create();
- jsonObj->setString("source", messageSourceValue(m_source));
+ RefPtr<TypeBuilder::Console::ConsoleMessage> jsonObj = TypeBuilder::Console::ConsoleMessage::create()
+ .setSource(messageSourceValue(m_source))
+ .setLevel(messageLevelValue(m_level))
+ .setText(m_message);
// FIXME: only send out type for ConsoleAPI source messages.
- jsonObj->setString("type", messageTypeValue(m_type));
- jsonObj->setString("level", messageLevelValue(m_level));
- jsonObj->setNumber("line", static_cast<int>(m_line));
- jsonObj->setString("url", m_url);
- jsonObj->setNumber("repeatCount", static_cast<int>(m_repeatCount));
- jsonObj->setString("text", m_message);
+ jsonObj->setType(messageTypeValue(m_type));
+ jsonObj->setLine(static_cast<int>(m_line));
+ jsonObj->setUrl(m_url);
+ jsonObj->setRepeatCount(static_cast<int>(m_repeatCount));
if (m_source == NetworkMessageSource && !m_requestId.isEmpty())
- jsonObj->setString("networkRequestId", m_requestId);
+ jsonObj->setNetworkRequestId(m_requestId);
if (m_arguments && m_arguments->argumentCount()) {
InjectedScript injectedScript = injectedScriptManager->injectedScriptFor(m_arguments->globalState());
if (!injectedScript.hasNoValue()) {
}
jsonArgs->pushValue(inspectorValue);
}
- jsonObj->setArray("parameters", jsonArgs);
+ jsonObj->setParameters(jsonArgs);
}
}
if (m_callStack)
- jsonObj->setArray("stackTrace", m_callStack->buildInspectorArray());
+ jsonObj->setStackTrace(m_callStack->buildInspectorArray());
frontend->messageAdded(jsonObj);
}
"properties": [
{ "name": "functionName", "type": "string", "description": "JavaScript function name." },
{ "name": "url", "type": "string", "description": "JavaScript script name or url." },
- { "name": "lineNumber", "type": "string", "description": "JavaScript script line number." },
- { "name": "columnNumber", "type": "string", "description": "JavaScript script column number." }
+ { "name": "lineNumber", "type": "integer", "description": "JavaScript script line number." },
+ { "name": "columnNumber", "type": "integer", "description": "JavaScript script column number." }
]
},
{
"properties": [
{ "name": "functionName", "type": "string", "description": "JavaScript function name." },
{ "name": "url", "type": "string", "description": "JavaScript script name or url." },
- { "name": "lineNumber", "type": "string", "description": "JavaScript script line number." },
- { "name": "columnNumber", "type": "string", "description": "JavaScript script column number." }
+ { "name": "lineNumber", "type": "integer", "description": "JavaScript script line number." },
+ { "name": "columnNumber", "type": "integer", "description": "JavaScript script column number." }
]
},
{
PassRefPtr<InspectorObject> InspectorDOMAgent::buildObjectForNode(Node* node, int depth, NodeToIdMap* nodesMap)
{
- RefPtr<InspectorObject> value = InspectorObject::create();
-
int id = bind(node, nodesMap);
String nodeName;
String localName;
break;
}
- value->setNumber("nodeId", id);
- value->setNumber("nodeType", node->nodeType());
- value->setString("nodeName", nodeName);
- value->setString("localName", localName);
- value->setString("nodeValue", nodeValue);
+ RefPtr<TypeBuilder::DOM::Node> value = TypeBuilder::DOM::Node::create()
+ .setNodeId(id)
+ .setNodeType(node->nodeType())
+ .setNodeName(nodeName)
+ .setLocalName(localName)
+ .setNodeValue(nodeValue);
if (node->nodeType() == Node::ELEMENT_NODE || node->nodeType() == Node::DOCUMENT_NODE || node->nodeType() == Node::DOCUMENT_FRAGMENT_NODE) {
int nodeCount = innerChildNodeCount(node);
- value->setNumber("childNodeCount", nodeCount);
+ value->setChildNodeCount(nodeCount);
RefPtr<InspectorArray> children = buildArrayForContainerChildren(node, depth, nodesMap);
if (children->length() > 0)
value->setArray("children", children.release());
value->setArray("attributes", buildArrayForElementAttributes(element));
if (node->isFrameOwnerElement()) {
HTMLFrameOwnerElement* frameOwner = static_cast<HTMLFrameOwnerElement*>(node);
- value->setString("documentURL", documentURLString(frameOwner->contentDocument()));
+ value->setDocumentURL(documentURLString(frameOwner->contentDocument()));
}
} else if (node->nodeType() == Node::DOCUMENT_NODE) {
Document* document = static_cast<Document*>(node);
- value->setString("documentURL", documentURLString(document));
- value->setString("xmlVersion", document->xmlVersion());
+ value->setDocumentURL(documentURLString(document));
+ value->setXmlVersion(document->xmlVersion());
}
} else if (node->nodeType() == Node::DOCUMENT_TYPE_NODE) {
DocumentType* docType = static_cast<DocumentType*>(node);
- value->setString("publicId", docType->publicId());
- value->setString("systemId", docType->systemId());
- value->setString("internalSubset", docType->internalSubset());
+ value->setPublicId(docType->publicId());
+ value->setSystemId(docType->systemId());
+ value->setInternalSubset(docType->internalSubset());
} else if (node->nodeType() == Node::ATTRIBUTE_NODE) {
Attr* attribute = static_cast<Attr*>(node);
- value->setString("name", attribute->name());
- value->setString("value", attribute->value());
+ value->setName(attribute->name());
+ value->setValue(attribute->value());
}
return value.release();
}
PassRefPtr<InspectorObject> InspectorDOMAgent::buildObjectForEventListener(const RegisteredEventListener& registeredEventListener, const AtomicString& eventType, Node* node)
{
RefPtr<EventListener> eventListener = registeredEventListener.listener;
- RefPtr<InspectorObject> value = InspectorObject::create();
- value->setString("type", eventType);
- value->setBoolean("useCapture", registeredEventListener.useCapture);
- value->setBoolean("isAttribute", eventListener->isAttribute());
- value->setNumber("nodeId", pushNodePathToFrontend(node));
- value->setString("handlerBody", eventListenerHandlerBody(node->document(), eventListener.get()));
+ RefPtr<TypeBuilder::DOM::EventListener> value = TypeBuilder::DOM::EventListener::create()
+ .setType(eventType)
+ .setUseCapture(registeredEventListener.useCapture)
+ .setIsAttribute(eventListener->isAttribute())
+ .setNodeId(pushNodePathToFrontend(node))
+ .setHandlerBody(eventListenerHandlerBody(node->document(), eventListener.get()));
String sourceName;
int lineNumber;
if (eventListenerHandlerLocation(node->document(), eventListener.get(), sourceName, lineNumber)) {
- RefPtr<InspectorObject> location = InspectorObject::create();
- location->setString("scriptId", sourceName);
- location->setNumber("lineNumber", lineNumber);
- value->setObject("location", location);
+ RefPtr<TypeBuilder::Debugger::Location> location = TypeBuilder::Debugger::Location::create()
+ .setScriptId(sourceName)
+ .setLineNumber(lineNumber);
+ value->setLocation(location);
}
return value.release();
}
debugServerBreakpointIdsIterator = m_breakpointIdToDebugServerBreakpointIds.set(breakpointId, Vector<String>()).first;
debugServerBreakpointIdsIterator->second.append(debugServerBreakpointId);
- RefPtr<InspectorObject> location = InspectorObject::create();
- location->setString("scriptId", scriptId);
- location->setNumber("lineNumber", actualLineNumber);
- location->setNumber("columnNumber", actualColumnNumber);
+ RefPtr<TypeBuilder::Debugger::Location> location = TypeBuilder::Debugger::Location::create()
+ .setScriptId(scriptId)
+ .setLineNumber(actualLineNumber);
+ location->setColumnNumber(actualColumnNumber);
return location;
}
#include "config.h"
#include "ScriptCallFrame.h"
+#include "InspectorFrontend.h"
#include "InspectorValues.h"
#include <wtf/RefPtr.h>
#if ENABLE(INSPECTOR)
PassRefPtr<InspectorObject> ScriptCallFrame::buildInspectorObject() const
{
- RefPtr<InspectorObject> frame = InspectorObject::create();
- frame->setString("functionName", m_functionName);
- frame->setString("url", m_scriptName);
- frame->setNumber("lineNumber", m_lineNumber);
- frame->setNumber("columnNumber", m_column);
+ RefPtr<TypeBuilder::Console::CallFrame> frame = TypeBuilder::Console::CallFrame::create()
+ .setFunctionName(m_functionName)
+ .setUrl(m_scriptName)
+ .setLineNumber(m_lineNumber)
+ .setColumnNumber(m_column);
return frame;
}
#endif