Changeset 95535 in webkit


Ignore:
Timestamp:
Sep 20, 2011 6:46:08 AM (13 years ago)
Author:
pfeldman@chromium.org
Message:

Web Inspector: streamline Console's MessageType and MessageSource semantics.
https://bugs.webkit.org/show_bug.cgi?id=68342

Source/WebCore:

This change fixes semantics of the MessageSource and MessageType:
MessageSource is now the source of the message (be it Network, HTML
parser or Console API). MessageType is only defined for the Console API
messages and contains the name of the API call (log, dir, dirxml, etc.).
Subsequent https://bugs.webkit.org/show_bug.cgi?id=66371 will make MessageType
private to the inspector.

Reviewed by Tony Gentilcore.

  • dom/Document.cpp:

(WebCore::Document::logExceptionToConsole):

  • inspector/ConsoleMessage.cpp:

(WebCore::messageSourceValue):
(WebCore::messageTypeValue):
(WebCore::ConsoleMessage::addToFrontend):

  • inspector/Inspector.json:
  • inspector/InspectorConsoleAgent.cpp:

(WebCore::InspectorConsoleAgent::didReceiveResponse):
(WebCore::InspectorConsoleAgent::didFailLoading):

  • inspector/front-end/ConsoleMessage.js:

(WebInspector.ConsoleMessage.createTextMessage):
(WebInspector.ConsoleMessage.prototype._formatMessage):
(WebInspector.ConsoleMessage.prototype.toString):

  • page/Console.cpp:

(WebCore::printMessageSourceAndLevelPrefix):
(WebCore::Console::addMessage):
(WebCore::Console::dir):
(WebCore::Console::dirxml):
(WebCore::Console::group):
(WebCore::Console::groupCollapsed):
(WebCore::Console::groupEnd):

  • page/ConsoleTypes.h:
  • websockets/WebSocketChannel.cpp:

(WebCore::WebSocketChannel::didFailSocketStream):

Source/WebKit/mac:

This change fixes semantics of the MessageSource and MessageType:
MessageSource is now the source of the message (be it Network, HTML
parser or Console API). MessageType is only defined for the Console API
messages and contains the name of the API call (log, dir, dirxml, etc.).
Subsequent https://bugs.webkit.org/show_bug.cgi?id=66371 will make MessageType
private to the inspector.

Reviewed by Tony Gentilcore.

  • WebCoreSupport/WebChromeClient.mm:

(stringForMessageSource):
(stringForMessageType):

  • WebView/WebUIDelegatePrivate.h:

LayoutTests:

This change fixes semantics of the MessageSource and MessageType:
MessageSource is now the source of the message (be it Network, HTML
parser or Console API). MessageType is only defined for the Console API
messages and contains the name of the API call (log, dir, dirxml, etc.).
Subsequent https://bugs.webkit.org/show_bug.cgi?id=66371 will make MessageType
private to the inspector.

Reviewed by Tony Gentilcore.

  • inspector/protocol/console-agent-expected.txt:
  • platform/chromium/http/tests/inspector/console-resource-errors-expected.txt: Added.
Location:
trunk
Files:
1 added
14 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r95533 r95535  
     12011-09-19  Pavel Feldman  <pfeldman@google.com>
     2
     3        Web Inspector: streamline Console's MessageType and MessageSource semantics.
     4        https://bugs.webkit.org/show_bug.cgi?id=68342
     5
     6        This change fixes semantics of the MessageSource and MessageType:
     7        MessageSource is now the source of the message (be it Network, HTML
     8        parser or Console API). MessageType is only defined for the Console API
     9        messages and contains the name of the API call (log, dir, dirxml, etc.).
     10        Subsequent https://bugs.webkit.org/show_bug.cgi?id=66371 will make MessageType
     11        private to the inspector.
     12
     13        Reviewed by Tony Gentilcore.
     14
     15        * inspector/protocol/console-agent-expected.txt:
     16        * platform/chromium/http/tests/inspector/console-resource-errors-expected.txt: Added.
     17
    1182011-09-20  Philippe Normand  <pnormand@igalia.com>
    219
  • trunk/LayoutTests/inspector/protocol/console-agent-expected.txt

    r95282 r95535  
    5454    method : "Console.messageAdded"
    5555    params : {
    56         messageObj : {
    57             source : "javascript"
     56        message : {
     57            source : "console-api"
    5858            type : "log"
    5959            level : "log"
  • trunk/Source/WebCore/ChangeLog

    r95525 r95535  
     12011-09-19  Pavel Feldman  <pfeldman@google.com>
     2
     3        Web Inspector: streamline Console's MessageType and MessageSource semantics.
     4        https://bugs.webkit.org/show_bug.cgi?id=68342
     5
     6        This change fixes semantics of the MessageSource and MessageType:
     7        MessageSource is now the source of the message (be it Network, HTML
     8        parser or Console API). MessageType is only defined for the Console API
     9        messages and contains the name of the API call (log, dir, dirxml, etc.).
     10        Subsequent https://bugs.webkit.org/show_bug.cgi?id=66371 will make MessageType
     11        private to the inspector.
     12
     13        Reviewed by Tony Gentilcore.
     14
     15        * dom/Document.cpp:
     16        (WebCore::Document::logExceptionToConsole):
     17        * inspector/ConsoleMessage.cpp:
     18        (WebCore::messageSourceValue):
     19        (WebCore::messageTypeValue):
     20        (WebCore::ConsoleMessage::addToFrontend):
     21        * inspector/Inspector.json:
     22        * inspector/InspectorConsoleAgent.cpp:
     23        (WebCore::InspectorConsoleAgent::didReceiveResponse):
     24        (WebCore::InspectorConsoleAgent::didFailLoading):
     25        * inspector/front-end/ConsoleMessage.js:
     26        (WebInspector.ConsoleMessage.createTextMessage):
     27        (WebInspector.ConsoleMessage.prototype._formatMessage):
     28        (WebInspector.ConsoleMessage.prototype.toString):
     29        * page/Console.cpp:
     30        (WebCore::printMessageSourceAndLevelPrefix):
     31        (WebCore::Console::addMessage):
     32        (WebCore::Console::dir):
     33        (WebCore::Console::dirxml):
     34        (WebCore::Console::group):
     35        (WebCore::Console::groupCollapsed):
     36        (WebCore::Console::groupEnd):
     37        * page/ConsoleTypes.h:
     38        * websockets/WebSocketChannel.cpp:
     39        (WebCore::WebSocketChannel::didFailSocketStream):
     40
    1412011-09-20  Adenilson Cavalcanti  <adenilson.silva@openbossa.org>
    242
  • trunk/Source/WebCore/dom/Document.cpp

    r95497 r95535  
    23572357void Document::logExceptionToConsole(const String& errorMessage, int lineNumber, const String& sourceURL, PassRefPtr<ScriptCallStack> callStack)
    23582358{
    2359     MessageType messageType = callStack ? UncaughtExceptionMessageType : LogMessageType;
    2360     addMessage(JSMessageSource, messageType, ErrorMessageLevel, errorMessage, lineNumber, sourceURL, callStack);
     2359    addMessage(JSMessageSource, LogMessageType, ErrorMessageLevel, errorMessage, lineNumber, sourceURL, callStack);
    23612360}
    23622361
  • trunk/Source/WebCore/inspector/ConsoleMessage.cpp

    r92953 r95535  
    9292    case XMLMessageSource: return "xml";
    9393    case JSMessageSource: return "javascript";
    94     case CSSMessageSource: return "css";
     94    case NetworkMessageSource: return "network";
     95    case ConsoleAPIMessageSource: return "console-api";
    9596    case OtherMessageSource: return "other";
    9697    }
     
    102103    switch (type) {
    103104    case LogMessageType: return "log";
    104     case ObjectMessageType: return "other";
     105    case DirMessageType: return "dir";
     106    case DirXMLMessageType: return "dirXML";
    105107    case TraceMessageType: return "trace";
    106108    case StartGroupMessageType: return "startGroup";
     
    108110    case EndGroupMessageType: return "endGroup";
    109111    case AssertMessageType: return "assert";
    110     case UncaughtExceptionMessageType: return "uncaughtException";
    111     case NetworkErrorMessageType: return "networkError";
    112112    }
    113113    return "other";
     
    130130    RefPtr<InspectorObject> jsonObj = InspectorObject::create();
    131131    jsonObj->setString("source", messageSourceValue(m_source));
     132    // FIXME: only send out type for ConsoleAPI source messages.
    132133    jsonObj->setString("type", messageTypeValue(m_type));
    133134    jsonObj->setString("level", messageLevelValue(m_level));
     
    136137    jsonObj->setNumber("repeatCount", static_cast<int>(m_repeatCount));
    137138    jsonObj->setString("text", m_message);
    138     if (m_type == NetworkErrorMessageType)
     139    if (m_source == NetworkMessageSource && !m_requestId.isEmpty())
    139140        jsonObj->setString("networkRequestId", m_requestId);
    140141    if (m_arguments && m_arguments->argumentCount()) {
  • trunk/Source/WebCore/inspector/Inspector.json

    r95282 r95535  
    333333    {
    334334        "domain": "Console",
    335         "description": "Console domain defines methods and events for interaction with the JavaScript console. Console collects messages created by means of the <a href='http://getfirebug.com/wiki/index.php/Console_API'>JavaScript Console API</a>. One needs to enable this domain using <code>enable</code> function in order to start receiving the console messages. Browser will collect messages issued while console domain is not enabled and will report them using <code>messageAdded</code> notification upon enabling.",
     335        "description": "Console domain defines methods and events for interaction with the JavaScript console. Console collects messages created by means of the <a href='http://getfirebug.com/wiki/index.php/Console_API'>JavaScript Console API</a>. One needs to enable this domain using <code>enable</code> command in order to start receiving the console messages. Browser collects messages issued while console domain is not enabled as well and reports them using <code>messageAdded</code> notification upon enabling.",
    336336        "types": [
    337337            {
     
    340340                "description": "Console message.",
    341341                "properties": [
    342                     { "name": "source", "type": "string", "enum": ["html", "wml", "xml", "javascript", "css", "other"], "description": "Message source." },
    343                     { "name": "type", "type": "string", "enum": ["log", "other", "trace", "startGroup", "startGroupCollapsed", "endGroup", "assert", "uncaughtException", "networkError", "result"], "description": "Message type." },
     342                    { "name": "source", "type": "string", "enum": ["html", "wml", "xml", "javascript", "network", "console-api", "other"], "description": "Message source." },
     343                    { "name": "type", "type": "string", "enum": ["log", "dir", "dirxml", "trace", "startGroup", "startGroupCollapsed", "endGroup", "assert"], "description": "Console message type." },
    344344                    { "name": "level", "type": "string", "enum": ["tip", "log", "warning", "error", "debug"], "description": "Message severity." },
    345                     { "name": "line", "type": "integer", "description": "Line number in the message origin resource." },
     345                    { "name": "line", "type": "integer", "description": "Line number in the resource that generated this message." },
    346346                    { "name": "url", "type": "string", "description": "URL of the message origin." },
    347347                    { "name": "repeatCount", "type": "integer", "description": "Repeat count for repeated messages." },
    348348                    { "name": "text", "type": "string", "description": "Message text." },
    349349                    { "name": "networkRequestId", "$ref": "Network.RequestId", "optional": true, "description": "Identifier of the network request associated with this message." },
    350                     { "name": "parameters", "type": "array", "items": { "$ref": "Runtime.RemoteObject" }, "description": "Message parameters in case of the formatted message." },
     350                    { "name": "parameters", "type": "array", "items": { "$ref": "Runtime.RemoteObject" }, "optional": true, "description": "Message parameters in case of the formatted message." },
    351351                    { "name": "stackTrace", "$ref": "StackTrace", "description": "JavaScript stack trace for assertions and error messages." }
    352352                ]
     
    374374                "name": "enable",
    375375                "returns": [
    376                     { "name": "expiredMessagesCount", "type": "integer", "description": "Number of messages collected due to message threashold overflow." }
     376                    { "name": "expiredMessagesCount", "type": "integer", "description": "Number of messages dropped due to message threashold overflow." }
    377377                ],
    378378                "description": "Enables console domain, sends the messages collected so far to the client by means of the <code>messageAdded</code> notification."
     
    380380            {
    381381                "name": "disable",
    382                 "description": "Disables console domain, prevents further console messages from being sent to the client."
     382                "description": "Disables console domain, prevents further console messages from being reported to the client."
    383383            },
    384384            {
     
    407407                "name": "messageAdded",
    408408                "parameters": [
    409                     { "name": "messageObj", "$ref": "ConsoleMessage", "description": "Console message that has been added." }
     409                    { "name": "message", "$ref": "ConsoleMessage", "description": "Console message that has been added." }
    410410                ],
    411411                "description": "Issued when new console message is added."
     
    416416                    { "name": "count", "type": "integer", "description": "New repeat count value." }
    417417                ],
    418                 "description": "Issued when subsequent message(s) are equal to the previous one."
     418                "description": "Issued when subsequent message(s) are equal to the previous one(s)."
    419419            },
    420420            {
    421421                "name": "messagesCleared",
    422                 "description": "Issued when console is cleared."
     422                "description": "Issued when console is cleared. This happens either upon <code>clearMessages</code> command or after page navigation."
    423423            }
    424424        ]
  • trunk/Source/WebCore/inspector/InspectorConsoleAgent.cpp

    r95282 r95535  
    228228        String message = "Failed to load resource: the server responded with a status of " + String::number(response.httpStatusCode()) + " (" + response.httpStatusText() + ')';
    229229        String requestId = IdentifiersFactory::requestId(identifier);
    230         addConsoleMessage(adoptPtr(new ConsoleMessage(OtherMessageSource, NetworkErrorMessageType, ErrorMessageLevel, message, response.url().string(), requestId)));
     230        addConsoleMessage(adoptPtr(new ConsoleMessage(NetworkMessageSource, LogMessageType, ErrorMessageLevel, message, response.url().string(), requestId)));
    231231    }
    232232}
     
    242242        message += ": " + error.localizedDescription();
    243243    String requestId = IdentifiersFactory::requestId(identifier);
    244     addConsoleMessage(adoptPtr(new ConsoleMessage(OtherMessageSource, NetworkErrorMessageType, ErrorMessageLevel, message, error.failingURL(), requestId)));
     244    addConsoleMessage(adoptPtr(new ConsoleMessage(NetworkMessageSource, LogMessageType, ErrorMessageLevel, message, error.failingURL(), requestId)));
    245245}
    246246
  • trunk/Source/WebCore/inspector/front-end/ConsoleMessage.js

    r94754 r95535  
    7474{
    7575    level = level || WebInspector.ConsoleMessage.MessageLevel.Log;
    76     return new WebInspector.ConsoleMessage(WebInspector.ConsoleMessage.MessageSource.JS, WebInspector.ConsoleMessage.MessageType.Log, level, 0, null, 1, null, [text], null);
     76    return new WebInspector.ConsoleMessage(WebInspector.ConsoleMessage.MessageSource.ConsoleAPI, WebInspector.ConsoleMessage.MessageType.Log, level, 0, null, 1, null, [text], null);
    7777}
    7878
     
    8080    _formatMessage: function()
    8181    {
    82         var stackTrace = this._stackTrace;
    83 
    8482        this._formattedMessage = document.createElement("span");
    8583        this._formattedMessage.className = "console-message-text source-code";
    8684
    8785        var messageText;
    88         switch (this.type) {
    89             case WebInspector.ConsoleMessage.MessageType.Trace:
    90                 messageText = document.createTextNode("console.trace()");
    91                 break;
    92             case WebInspector.ConsoleMessage.MessageType.UncaughtException:
    93                 messageText = document.createTextNode(this._messageText);
    94                 break;
    95             case WebInspector.ConsoleMessage.MessageType.NetworkError:
    96                 if (this._request) {
    97                     stackTrace = this._request.stackTrace;
    98 
    99                     messageText = document.createElement("span");
    100                     messageText.appendChild(document.createTextNode(this._request.requestMethod + " "));
    101                     var anchor = WebInspector.linkifyURLAsNode(this._request.url);
    102                     anchor.setAttribute("request_id", this._request.requestId);
    103                     anchor.setAttribute("preferred_panel", "network");
    104                     messageText.appendChild(anchor);
    105                     if (this._request.failed)
    106                         messageText.appendChild(document.createTextNode(" " + this._request.localizedFailDescription));
    107                     else
    108                         messageText.appendChild(document.createTextNode(" " + this._request.statusCode + " (" + this._request.statusText + ")"));
    109                 } else {
    110                     var isExternal = !WebInspector.resourceForURL(this.url);
    111                     var anchor = WebInspector.linkifyURLAsNode(this.url, this.url, "console-message-url", isExternal);
    112                     this._formattedMessage.appendChild(anchor);
    113                     messageText = this._format([this._messageText]);
    114                 }
    115                 break;
    116             case WebInspector.ConsoleMessage.MessageType.Assert:
    117                 var args = [WebInspector.UIString("Assertion failed:")];
    118                 if (this._parameters)
    119                     args = args.concat(this._parameters);
    120                 messageText = this._format(args);
    121                 break;
    122             case WebInspector.ConsoleMessage.MessageType.Object:
    123                 var obj = this._parameters ? this._parameters[0] : undefined;
    124                 var args = ["%O", obj];
    125                 messageText = this._format(args);
    126                 break;
    127             default:
    128                 var args = this._parameters || [this._messageText];
    129                 messageText = this._format(args);
    130                 break;
    131         }
    132 
    133         if (this.type !== WebInspector.ConsoleMessage.MessageType.NetworkError) {
     86        if (this.source === WebInspector.ConsoleMessage.MessageSource.ConsoleAPI) {
     87            switch (this.type) {
     88                case WebInspector.ConsoleMessage.MessageType.Trace:
     89                    messageText = document.createTextNode("console.trace()");
     90                    break;
     91                case WebInspector.ConsoleMessage.MessageType.Assert:
     92                    var args = [WebInspector.UIString("Assertion failed:")];
     93                    if (this._parameters)
     94                        args = args.concat(this._parameters);
     95                    messageText = this._format(args);
     96                    break;
     97                case WebInspector.ConsoleMessage.MessageType.Dir:
     98                    var obj = this._parameters ? this._parameters[0] : undefined;
     99                    var args = ["%O", obj];
     100                    messageText = this._format(args);
     101                    break;
     102                default:
     103                    var args = this._parameters || [this._messageText];
     104                    messageText = this._format(args);
     105            }
     106        } else if (this.source === WebInspector.ConsoleMessage.MessageSource.Network) {
     107            if (this._request) {
     108                this._stackTrace = this._request.stackTrace;
     109                messageText = document.createElement("span");
     110                messageText.appendChild(document.createTextNode(this._request.requestMethod + " "));
     111                var anchor = WebInspector.linkifyURLAsNode(this._request.url);
     112                anchor.setAttribute("request_id", this._request.requestId);
     113                anchor.setAttribute("preferred_panel", "network");
     114                messageText.appendChild(anchor);
     115                if (this._request.failed)
     116                    messageText.appendChild(document.createTextNode(" " + this._request.localizedFailDescription));
     117                else
     118                    messageText.appendChild(document.createTextNode(" " + this._request.statusCode + " (" + this._request.statusText + ")"));
     119            } else {
     120                var isExternal = !WebInspector.resourceForURL(this.url);
     121                var anchor = WebInspector.linkifyURLAsNode(this.url, this.url, "console-message-url", isExternal);
     122                this._formattedMessage.appendChild(anchor);
     123                messageText = this._format([this._messageText]);
     124            }
     125        } else {
     126            var args = this._parameters || [this._messageText];
     127            messageText = this._format(args);
     128        }
     129
     130        // FIXME: we should dump network message origins as well.
     131        if (this.source !== WebInspector.ConsoleMessage.MessageSource.Network) {
    134132            if (this._stackTrace && this._stackTrace.length && this._stackTrace[0].url) {
    135133                var urlElement = this._linkifyCallFrame(this._stackTrace[0]);
     
    143141        this._formattedMessage.appendChild(messageText);
    144142
    145         if (this._stackTrace) {
    146             switch (this.type) {
    147                 case WebInspector.ConsoleMessage.MessageType.Trace:
    148                 case WebInspector.ConsoleMessage.MessageType.UncaughtException:
    149                 case WebInspector.ConsoleMessage.MessageType.NetworkError:
    150                 case WebInspector.ConsoleMessage.MessageType.Assert: {
    151                     var ol = document.createElement("ol");
    152                     ol.className = "outline-disclosure";
    153                     var treeOutline = new TreeOutline(ol);
    154 
    155                     var content = this._formattedMessage;
    156                     var root = new TreeElement(content, null, true);
    157                     content.treeElementForTest = root;
    158                     treeOutline.appendChild(root);
    159                     if (this.type === WebInspector.ConsoleMessage.MessageType.Trace)
    160                         root.expand();
    161 
    162                     this._populateStackTraceTreeElement(root);
    163                     this._formattedMessage = ol;
    164                 }
    165             }
     143        var dumpStackTrace = !!this._stackTrace && (this.level === WebInspector.ConsoleMessage.MessageLevel.Error || this.type === WebInspector.ConsoleMessage.MessageType.Trace);
     144        if (dumpStackTrace) {
     145            var ol = document.createElement("ol");
     146            ol.className = "outline-disclosure";
     147            var treeOutline = new TreeOutline(ol);
     148
     149            var content = this._formattedMessage;
     150            var root = new TreeElement(content, null, true);
     151            content.treeElementForTest = root;
     152            treeOutline.appendChild(root);
     153            if (this.type === WebInspector.ConsoleMessage.MessageType.Trace)
     154                root.expand();
     155
     156            this._populateStackTraceTreeElement(root);
     157            this._formattedMessage = ol;
    166158        }
    167159
     
    387379                sourceString = "JS";
    388380                break;
    389             case WebInspector.ConsoleMessage.MessageSource.CSS:
    390                 sourceString = "CSS";
     381            case WebInspector.ConsoleMessage.MessageSource.Network:
     382                sourceString = "Network";
     383                break;
     384            case WebInspector.ConsoleMessage.MessageSource.ConsoleAPI:
     385                sourceString = "ConsoleAPI";
    391386                break;
    392387            case WebInspector.ConsoleMessage.MessageSource.Other:
     
    398393        switch (this.type) {
    399394            case WebInspector.ConsoleMessage.MessageType.Log:
    400             case WebInspector.ConsoleMessage.MessageType.UncaughtException:
    401             case WebInspector.ConsoleMessage.MessageType.NetworkError:
    402395                typeString = "Log";
    403396                break;
    404             case WebInspector.ConsoleMessage.MessageType.Object:
    405                 typeString = "Object";
     397            case WebInspector.ConsoleMessage.MessageType.Dir:
     398                typeString = "Dir";
     399                break;
     400            case WebInspector.ConsoleMessage.MessageType.DirXML:
     401                typeString = "Dir XML";
    406402                break;
    407403            case WebInspector.ConsoleMessage.MessageType.Trace:
     
    489485    XML: "xml",
    490486    JS: "javascript",
    491     CSS: "css",
     487    Network: "network",
     488    ConsoleAPI: "console-api",
    492489    Other: "other"
    493490}
     
    495492WebInspector.ConsoleMessage.MessageType = {
    496493    Log: "log",
    497     Object: "other",
     494    Dir: "dir",
     495    DirXML: "dirxml",
    498496    Trace: "trace",
    499497    StartGroup: "startGroup",
     
    501499    EndGroup: "endGroup",
    502500    Assert: "assert",
    503     UncaughtException: "uncaughtException",
    504     NetworkError: "networkError",
    505501    Result: "result"
    506502}
  • trunk/Source/WebCore/page/Console.cpp

    r91065 r95535  
    9696        sourceString = "JS";
    9797        break;
    98     case CSSMessageSource:
    99         sourceString = "CSS";
     98    case NetworkMessageSource:
     99        sourceString = "NETWORK";
     100        break;
     101    case ConsoleAPIMessageSource:
     102        sourceString = "CONSOLEAPI";
    100103        break;
    101104    case OtherMessageSource:
     
    177180    if (Console::shouldPrintExceptions()) {
    178181        printSourceURLAndLine(lastCaller.sourceURL(), 0);
    179         printMessageSourceAndLevelPrefix(JSMessageSource, level);
     182        printMessageSourceAndLevelPrefix(ConsoleAPIMessageSource, level);
    180183
    181184        for (unsigned i = 0; i < arguments->argumentCount(); ++i) {
     
    189192    String message;
    190193    if (arguments->getFirstArgumentAsString(message))
    191         page->chrome()->client()->addMessageToConsole(JSMessageSource, type, level, message, lastCaller.lineNumber(), lastCaller.sourceURL());
    192 
    193     InspectorInstrumentation::addMessageToConsole(page, JSMessageSource, type, level, message, arguments, callStack);
     194        page->chrome()->client()->addMessageToConsole(ConsoleAPIMessageSource, type, level, message, lastCaller.lineNumber(), lastCaller.sourceURL());
     195
     196    InspectorInstrumentation::addMessageToConsole(page, ConsoleAPIMessageSource, type, level, message, arguments, callStack);
    194197}
    195198
     
    217220void Console::dir(PassRefPtr<ScriptArguments> arguments, PassRefPtr<ScriptCallStack> callStack)
    218221{
    219     addMessage(ObjectMessageType, LogMessageLevel, arguments, callStack);
     222    addMessage(DirMessageType, LogMessageLevel, arguments, callStack);
    220223}
    221224
    222225void Console::dirxml(PassRefPtr<ScriptArguments> arguments, PassRefPtr<ScriptCallStack> callStack)
    223226{
    224     // The standard behavior of our console.log will print the DOM tree for nodes.
    225     log(arguments, callStack);
     227    addMessage(DirXMLMessageType, LogMessageLevel, arguments, callStack);
    226228}
    227229
     
    317319void Console::group(PassRefPtr<ScriptArguments> arguments, PassRefPtr<ScriptCallStack> callStack)
    318320{
    319     InspectorInstrumentation::addMessageToConsole(page(), JSMessageSource, StartGroupMessageType, LogMessageLevel, String(), arguments, callStack);
     321    InspectorInstrumentation::addMessageToConsole(page(), ConsoleAPIMessageSource, StartGroupMessageType, LogMessageLevel, String(), arguments, callStack);
    320322}
    321323
    322324void Console::groupCollapsed(PassRefPtr<ScriptArguments> arguments, PassRefPtr<ScriptCallStack> callStack)
    323325{
    324     InspectorInstrumentation::addMessageToConsole(page(), JSMessageSource, StartGroupCollapsedMessageType, LogMessageLevel, String(), arguments, callStack);
     326    InspectorInstrumentation::addMessageToConsole(page(), ConsoleAPIMessageSource, StartGroupCollapsedMessageType, LogMessageLevel, String(), arguments, callStack);
    325327}
    326328
    327329void Console::groupEnd()
    328330{
    329     InspectorInstrumentation::addMessageToConsole(page(), JSMessageSource, EndGroupMessageType, LogMessageLevel, String(), 0, String());
     331    InspectorInstrumentation::addMessageToConsole(page(), ConsoleAPIMessageSource, EndGroupMessageType, LogMessageLevel, String(), 0, String());
    330332}
    331333
  • trunk/Source/WebCore/page/ConsoleTypes.h

    r86251 r95535  
    3333    XMLMessageSource,
    3434    JSMessageSource,
    35     CSSMessageSource,
    36     OtherMessageSource
     35    NetworkMessageSource,
     36    ConsoleAPIMessageSource,
     37    OtherMessageSource,
    3738};
    3839
     40// FIXME: make this enum private to inspector, remove it from client callbacks.
     41// https://bugs.webkit.org/show_bug.cgi?id=66371
    3942enum MessageType {
    4043    LogMessageType,
    41     ObjectMessageType,
     44    DirMessageType,
     45    DirXMLMessageType,
    4246    TraceMessageType,
    4347    StartGroupMessageType,
    4448    StartGroupCollapsedMessageType,
    4549    EndGroupMessageType,
    46     AssertMessageType,
    47     UncaughtExceptionMessageType,
    48     NetworkErrorMessageType
     50    AssertMessageType
    4951};
    5052
  • trunk/Source/WebCore/websockets/WebSocketChannel.cpp

    r94482 r95535  
    334334        if (failingURL.isNull())
    335335            failingURL = m_handshake->url().string();
    336         m_context->addMessage(OtherMessageSource, NetworkErrorMessageType, ErrorMessageLevel, message, 0, failingURL, 0);
     336        m_context->addMessage(NetworkMessageSource, LogMessageType, ErrorMessageLevel, message, 0, failingURL, 0);
    337337    }
    338338    m_shouldDiscardReceivedData = true;
  • trunk/Source/WebKit/mac/ChangeLog

    r95534 r95535  
     12011-09-19  Pavel Feldman  <pfeldman@google.com>
     2
     3        Web Inspector: streamline Console's MessageType and MessageSource semantics.
     4        https://bugs.webkit.org/show_bug.cgi?id=68342
     5
     6        This change fixes semantics of the MessageSource and MessageType:
     7        MessageSource is now the source of the message (be it Network, HTML
     8        parser or Console API). MessageType is only defined for the Console API
     9        messages and contains the name of the API call (log, dir, dirxml, etc.).
     10        Subsequent https://bugs.webkit.org/show_bug.cgi?id=66371 will make MessageType
     11        private to the inspector.
     12
     13        Reviewed by Tony Gentilcore.
     14
     15        * WebCoreSupport/WebChromeClient.mm:
     16        (stringForMessageSource):
     17        (stringForMessageType):
     18        * WebView/WebUIDelegatePrivate.h:
     19
    1202011-09-19  Timothy Hatcher  <timothy@apple.com>
    221
  • trunk/Source/WebKit/mac/WebCoreSupport/WebChromeClient.mm

    r95467 r95535  
    8989NSString *WebConsoleMessageXMLMessageSource = @"XMLMessageSource";
    9090NSString *WebConsoleMessageJSMessageSource = @"JSMessageSource";
    91 NSString *WebConsoleMessageCSSMessageSource = @"CSSMessageSource";
     91NSString *WebConsoleMessageNetworkMessageSource = @"NetworkMessageSource";
     92NSString *WebConsoleMessageConsoleAPIMessageSource = @"ConsoleAPIMessageSource";
    9293NSString *WebConsoleMessageOtherMessageSource = @"OtherMessageSource";
    9394
    9495NSString *WebConsoleMessageLogMessageType = @"LogMessageType";
    95 NSString *WebConsoleMessageObjectMessageType = @"ObjectMessageType";
     96NSString *WebConsoleMessageDirMessageType = @"DirMessageType";
     97NSString *WebConsoleMessageDirXMLMessageType = @"DirXMLMessageType";
    9698NSString *WebConsoleMessageTraceMessageType = @"TraceMessageType";
    9799NSString *WebConsoleMessageStartGroupMessageType = @"StartGroupMessageType";
     
    99101NSString *WebConsoleMessageEndGroupMessageType = @"EndGroupMessageType";
    100102NSString *WebConsoleMessageAssertMessageType = @"AssertMessageType";
    101 NSString *WebConsoleMessageUncaughtExceptionMessageType = @"UncaughtExceptionMessageType";
    102 NSString *WebConsoleMessageNetworkErrorMessageType = @"NetworkErrorMessageType";
    103103
    104104NSString *WebConsoleMessageTipMessageLevel = @"TipMessageLevel";
     
    358358    case JSMessageSource:
    359359        return WebConsoleMessageJSMessageSource;
    360     case CSSMessageSource:
    361         return WebConsoleMessageCSSMessageSource;
     360    case NetworkMessageSource:
     361        return WebConsoleMessageNetworkMessageSource;
     362    case ConsoleAPIMessageSource:
     363        return WebConsoleMessageConsoleAPIMessageSource;
    362364    case OtherMessageSource:
    363365        return WebConsoleMessageOtherMessageSource;
     
    372374    case LogMessageType:
    373375        return WebConsoleMessageLogMessageType;
    374     case ObjectMessageType:
    375         return WebConsoleMessageObjectMessageType;
     376    case DirMessageType:
     377        return WebConsoleMessageDirMessageType;
     378    case DirXMLMessageType:
     379        return WebConsoleMessageDirXMLMessageType;
    376380    case TraceMessageType:
    377381        return WebConsoleMessageTraceMessageType;
     
    384388    case AssertMessageType:
    385389        return WebConsoleMessageAssertMessageType;
    386     case UncaughtExceptionMessageType:
    387         return WebConsoleMessageUncaughtExceptionMessageType;
    388     case NetworkErrorMessageType:
    389         return WebConsoleMessageNetworkErrorMessageType;
    390390    }
    391391    ASSERT_NOT_REACHED();
  • trunk/Source/WebKit/mac/WebView/WebUIDelegatePrivate.h

    r90856 r95535  
    9797extern NSString *WebConsoleMessageXMLMessageSource;
    9898extern NSString *WebConsoleMessageJSMessageSource;
    99 extern NSString *WebConsoleMessageCSSMessageSource;
     99extern NSString *WebConsoleMessageNetworkMessageSource;
     100extern NSString *WebConsoleMessageConsoleAPIMessageSource;
    100101extern NSString *WebConsoleMessageOtherMessageSource;
    101102
    102103// Message Types.
    103104extern NSString *WebConsoleMessageLogMessageType;
    104 extern NSString *WebConsoleMessageObjectMessageType;
     105extern NSString *WebConsoleMessageDirMessageType;
     106extern NSString *WebConsoleMessageDirXMLMessageType;
    105107extern NSString *WebConsoleMessageTraceMessageType;
    106108extern NSString *WebConsoleMessageStartGroupMessageType;
     
    108110extern NSString *WebConsoleMessageEndGroupMessageType;
    109111extern NSString *WebConsoleMessageAssertMessageType;
    110 extern NSString *WebConsoleMessageUncaughtExceptionMessageType;
    111 extern NSString *WebConsoleMessageNetworkErrorMessageType;
    112112
    113113// Message Levels.
Note: See TracChangeset for help on using the changeset viewer.