Changeset 103174 in webkit


Ignore:
Timestamp:
Dec 18, 2011 7:05:58 AM (12 years ago)
Author:
loislo@chromium.org
Message:

Web Inspector: Switch to type-safe JSON ConsoleMessage.cpp, InspectorDOMAgent.cpp, InspectorDebuggerAgent.cpp, ScriptCallFrame.cpp
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:
Location:
trunk
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r103170 r103174  
     12011-12-18  Peter Rybin  <peter.rybin@gmail.com>
     2
     3        Web Inspector: Switch to type-safe JSON ConsoleMessage.cpp, InspectorDOMAgent.cpp, InspectorDebuggerAgent.cpp, ScriptCallFrame.cpp
     4        https://bugs.webkit.org/show_bug.cgi?id=74549
     5
     6        Reviewed by Pavel Feldman.
     7
     8        Expected file modified as JSON properties are now in different
     9        order.
     10
     11        * inspector/protocol/console-agent-expected.txt:
     12
    1132011-12-18  Alexandru Chiculita  <achicu@adobe.com>
    214
  • trunk/LayoutTests/inspector/protocol/console-agent-expected.txt

    r100137 r103174  
    5555        message : {
    5656            source : "console-api"
     57            level : "log"
     58            text : "test"
    5759            type : "log"
    58             level : "log"
    5960            line : 1
    6061            url : ""
    6162            repeatCount : 1
    62             text : "test"
    6363            parameters : [
    6464                {
  • trunk/Source/WebCore/ChangeLog

    r103173 r103174  
     12011-12-18  Peter Rybin  <peter.rybin@gmail.com>
     2
     3        Web Inspector: Switch to type-safe JSON ConsoleMessage.cpp, InspectorDOMAgent.cpp, InspectorDebuggerAgent.cpp, ScriptCallFrame.cpp
     4        https://bugs.webkit.org/show_bug.cgi?id=74549
     5
     6        Reviewed by Pavel Feldman.
     7
     8        Work with InspectorObject is replaced with type-safe generated API
     9        usage.
     10        Inspector.json and Inspector-0.1.json are also changed to better
     11        reflect data types that are actually being transmitted.
     12
     13        * inspector/ConsoleMessage.cpp:
     14        (WebCore::ConsoleMessage::addToFrontend):
     15        * inspector/Inspector-0.1.json:
     16        * inspector/Inspector.json:
     17        * inspector/InspectorDOMAgent.cpp:
     18        (WebCore::InspectorDOMAgent::buildObjectForNode):
     19        (WebCore::InspectorDOMAgent::buildObjectForEventListener):
     20        * inspector/InspectorDebuggerAgent.cpp:
     21        (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
     22        * inspector/ScriptCallFrame.cpp:
     23        (WebCore::ScriptCallFrame::buildInspectorObject):
     24
    1252011-12-18  Peter Rybin  <peter.rybin@gmail.com>
    226
  • trunk/Source/WebCore/inspector/ConsoleMessage.cpp

    r100137 r103174  
    135135void ConsoleMessage::addToFrontend(InspectorFrontend::Console* frontend, InjectedScriptManager* injectedScriptManager)
    136136{
    137     RefPtr<InspectorObject> jsonObj = InspectorObject::create();
    138     jsonObj->setString("source", messageSourceValue(m_source));
     137    RefPtr<TypeBuilder::Console::ConsoleMessage> jsonObj = TypeBuilder::Console::ConsoleMessage::create()
     138        .setSource(messageSourceValue(m_source))
     139        .setLevel(messageLevelValue(m_level))
     140        .setText(m_message);
    139141    // FIXME: only send out type for ConsoleAPI source messages.
    140     jsonObj->setString("type", messageTypeValue(m_type));
    141     jsonObj->setString("level", messageLevelValue(m_level));
    142     jsonObj->setNumber("line", static_cast<int>(m_line));
    143     jsonObj->setString("url", m_url);
    144     jsonObj->setNumber("repeatCount", static_cast<int>(m_repeatCount));
    145     jsonObj->setString("text", m_message);
     142    jsonObj->setType(messageTypeValue(m_type));
     143    jsonObj->setLine(static_cast<int>(m_line));
     144    jsonObj->setUrl(m_url);
     145    jsonObj->setRepeatCount(static_cast<int>(m_repeatCount));
    146146    if (m_source == NetworkMessageSource && !m_requestId.isEmpty())
    147         jsonObj->setString("networkRequestId", m_requestId);
     147        jsonObj->setNetworkRequestId(m_requestId);
    148148    if (m_arguments && m_arguments->argumentCount()) {
    149149        InjectedScript injectedScript = injectedScriptManager->injectedScriptFor(m_arguments->globalState());
     
    158158                jsonArgs->pushValue(inspectorValue);
    159159            }
    160             jsonObj->setArray("parameters", jsonArgs);
     160            jsonObj->setParameters(jsonArgs);
    161161        }
    162162    }
    163163    if (m_callStack)
    164         jsonObj->setArray("stackTrace", m_callStack->buildInspectorArray());
     164        jsonObj->setStackTrace(m_callStack->buildInspectorArray());
    165165    frontend->messageAdded(jsonObj);
    166166}
  • trunk/Source/WebCore/inspector/Inspector-0.1.json

    r98326 r103174  
    370370                    { "name": "functionName", "type": "string", "description": "JavaScript function name." },
    371371                    { "name": "url", "type": "string", "description": "JavaScript script name or url." },
    372                     { "name": "lineNumber", "type": "string", "description": "JavaScript script line number." },
    373                     { "name": "columnNumber", "type": "string", "description": "JavaScript script column number." }
     372                    { "name": "lineNumber", "type": "integer", "description": "JavaScript script line number." },
     373                    { "name": "columnNumber", "type": "integer", "description": "JavaScript script column number." }
    374374                ]
    375375            },
  • trunk/Source/WebCore/inspector/Inspector.json

    r102903 r103174  
    449449                    { "name": "functionName", "type": "string", "description": "JavaScript function name." },
    450450                    { "name": "url", "type": "string", "description": "JavaScript script name or url." },
    451                     { "name": "lineNumber", "type": "string", "description": "JavaScript script line number." },
    452                     { "name": "columnNumber", "type": "string", "description": "JavaScript script column number." }
     451                    { "name": "lineNumber", "type": "integer", "description": "JavaScript script line number." },
     452                    { "name": "columnNumber", "type": "integer", "description": "JavaScript script column number." }
    453453                ]
    454454            },
  • trunk/Source/WebCore/inspector/InspectorDOMAgent.cpp

    r101367 r103174  
    11261126PassRefPtr<InspectorObject> InspectorDOMAgent::buildObjectForNode(Node* node, int depth, NodeToIdMap* nodesMap)
    11271127{
    1128     RefPtr<InspectorObject> value = InspectorObject::create();
    1129 
    11301128    int id = bind(node, nodesMap);
    11311129    String nodeName;
     
    11561154    }
    11571155
    1158     value->setNumber("nodeId", id);
    1159     value->setNumber("nodeType", node->nodeType());
    1160     value->setString("nodeName", nodeName);
    1161     value->setString("localName", localName);
    1162     value->setString("nodeValue", nodeValue);
     1156    RefPtr<TypeBuilder::DOM::Node> value = TypeBuilder::DOM::Node::create()
     1157        .setNodeId(id)
     1158        .setNodeType(node->nodeType())
     1159        .setNodeName(nodeName)
     1160        .setLocalName(localName)
     1161        .setNodeValue(nodeValue);
    11631162
    11641163    if (node->nodeType() == Node::ELEMENT_NODE || node->nodeType() == Node::DOCUMENT_NODE || node->nodeType() == Node::DOCUMENT_FRAGMENT_NODE) {
    11651164        int nodeCount = innerChildNodeCount(node);
    1166         value->setNumber("childNodeCount", nodeCount);
     1165        value->setChildNodeCount(nodeCount);
    11671166        RefPtr<InspectorArray> children = buildArrayForContainerChildren(node, depth, nodesMap);
    11681167        if (children->length() > 0)
     
    11741173            if (node->isFrameOwnerElement()) {
    11751174                HTMLFrameOwnerElement* frameOwner = static_cast<HTMLFrameOwnerElement*>(node);
    1176                 value->setString("documentURL", documentURLString(frameOwner->contentDocument()));
     1175                value->setDocumentURL(documentURLString(frameOwner->contentDocument()));
    11771176            }
    11781177        } else if (node->nodeType() == Node::DOCUMENT_NODE) {
    11791178            Document* document = static_cast<Document*>(node);
    1180             value->setString("documentURL", documentURLString(document));
    1181             value->setString("xmlVersion", document->xmlVersion());
     1179            value->setDocumentURL(documentURLString(document));
     1180            value->setXmlVersion(document->xmlVersion());
    11821181        }
    11831182    } else if (node->nodeType() == Node::DOCUMENT_TYPE_NODE) {
    11841183        DocumentType* docType = static_cast<DocumentType*>(node);
    1185         value->setString("publicId", docType->publicId());
    1186         value->setString("systemId", docType->systemId());
    1187         value->setString("internalSubset", docType->internalSubset());
     1184        value->setPublicId(docType->publicId());
     1185        value->setSystemId(docType->systemId());
     1186        value->setInternalSubset(docType->internalSubset());
    11881187    } else if (node->nodeType() == Node::ATTRIBUTE_NODE) {
    11891188        Attr* attribute = static_cast<Attr*>(node);
    1190         value->setString("name", attribute->name());
    1191         value->setString("value", attribute->value());
     1189        value->setName(attribute->name());
     1190        value->setValue(attribute->value());
    11921191    }
    11931192    return value.release();
     
    12361235{
    12371236    RefPtr<EventListener> eventListener = registeredEventListener.listener;
    1238     RefPtr<InspectorObject> value = InspectorObject::create();
    1239     value->setString("type", eventType);
    1240     value->setBoolean("useCapture", registeredEventListener.useCapture);
    1241     value->setBoolean("isAttribute", eventListener->isAttribute());
    1242     value->setNumber("nodeId", pushNodePathToFrontend(node));
    1243     value->setString("handlerBody", eventListenerHandlerBody(node->document(), eventListener.get()));
     1237    RefPtr<TypeBuilder::DOM::EventListener> value = TypeBuilder::DOM::EventListener::create()
     1238        .setType(eventType)
     1239        .setUseCapture(registeredEventListener.useCapture)
     1240        .setIsAttribute(eventListener->isAttribute())
     1241        .setNodeId(pushNodePathToFrontend(node))
     1242        .setHandlerBody(eventListenerHandlerBody(node->document(), eventListener.get()));
    12441243    String sourceName;
    12451244    int lineNumber;
    12461245    if (eventListenerHandlerLocation(node->document(), eventListener.get(), sourceName, lineNumber)) {
    1247         RefPtr<InspectorObject> location = InspectorObject::create();
    1248         location->setString("scriptId", sourceName);
    1249         location->setNumber("lineNumber", lineNumber);
    1250         value->setObject("location", location);
     1246        RefPtr<TypeBuilder::Debugger::Location> location = TypeBuilder::Debugger::Location::create()
     1247            .setScriptId(sourceName)
     1248            .setLineNumber(lineNumber);
     1249        value->setLocation(location);
    12511250    }
    12521251    return value.release();
  • trunk/Source/WebCore/inspector/InspectorDebuggerAgent.cpp

    r101651 r103174  
    319319    debugServerBreakpointIdsIterator->second.append(debugServerBreakpointId);
    320320
    321     RefPtr<InspectorObject> location = InspectorObject::create();
    322     location->setString("scriptId", scriptId);
    323     location->setNumber("lineNumber", actualLineNumber);
    324     location->setNumber("columnNumber", actualColumnNumber);
     321    RefPtr<TypeBuilder::Debugger::Location> location = TypeBuilder::Debugger::Location::create()
     322        .setScriptId(scriptId)
     323        .setLineNumber(actualLineNumber);
     324    location->setColumnNumber(actualColumnNumber);
    325325    return location;
    326326}
  • trunk/Source/WebCore/inspector/ScriptCallFrame.cpp

    r95901 r103174  
    3232#include "ScriptCallFrame.h"
    3333
     34#include "InspectorFrontend.h"
    3435#include "InspectorValues.h"
    3536#include <wtf/RefPtr.h>
     
    5960PassRefPtr<InspectorObject> ScriptCallFrame::buildInspectorObject() const
    6061{
    61     RefPtr<InspectorObject> frame = InspectorObject::create();
    62     frame->setString("functionName", m_functionName);
    63     frame->setString("url", m_scriptName);
    64     frame->setNumber("lineNumber", m_lineNumber);
    65     frame->setNumber("columnNumber", m_column);
     62    RefPtr<TypeBuilder::Console::CallFrame> frame = TypeBuilder::Console::CallFrame::create()
     63        .setFunctionName(m_functionName)
     64        .setUrl(m_scriptName)
     65        .setLineNumber(m_lineNumber)
     66        .setColumnNumber(m_column);
    6667    return frame;
    6768}
Note: See TracChangeset for help on using the changeset viewer.