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.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95535
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
+2011-09-19 Pavel Feldman <pfeldman@google.com>
+
+ Web Inspector: streamline Console's MessageType and MessageSource semantics.
+ https://bugs.webkit.org/show_bug.cgi?id=68342
+
+ 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.
+
2011-09-20 Philippe Normand <pnormand@igalia.com>
Unreviewed, GTK baselines for new tests.
{
method : "Console.messageAdded"
params : {
- messageObj : {
- source : "javascript"
+ message : {
+ source : "console-api"
type : "log"
level : "log"
line : 0
--- /dev/null
+Tests that errors to load a resource cause error messages to be logged to console.
+
+
+GET http://127.0.0.1:8000/inspector/missing.css 404 (Not Found) console-message console-error-level
+GET http://127.0.0.1:8000/inspector/non-existent-iframe.html 404 (Not Found) console-message console-error-level
+GET http://127.0.0.1:8000/inspector/non-existent-script.js 404 (Not Found) console-message console-error-level
+GET http://127.0.0.1:8000/inspector/non-existent-xhr 404 (Not Found)loadXHRconsole-resource-errors.html:18performActionsconsole-resource-errors.html:10(anonymous function)InjectedScript._evaluateOnInjectedScript._evaluateAndWrapInjectedScript.evaluate console-message console-error-level
+
+2011-09-19 Pavel Feldman <pfeldman@google.com>
+
+ Web Inspector: streamline Console's MessageType and MessageSource semantics.
+ https://bugs.webkit.org/show_bug.cgi?id=68342
+
+ 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):
+
2011-09-20 Adenilson Cavalcanti <adenilson.silva@openbossa.org>
[Qt] resizeToContent seems to trigger infinite resize on some pages
void Document::logExceptionToConsole(const String& errorMessage, int lineNumber, const String& sourceURL, PassRefPtr<ScriptCallStack> callStack)
{
- MessageType messageType = callStack ? UncaughtExceptionMessageType : LogMessageType;
- addMessage(JSMessageSource, messageType, ErrorMessageLevel, errorMessage, lineNumber, sourceURL, callStack);
+ addMessage(JSMessageSource, LogMessageType, ErrorMessageLevel, errorMessage, lineNumber, sourceURL, callStack);
}
void Document::setURL(const KURL& url)
case HTMLMessageSource: return "html";
case XMLMessageSource: return "xml";
case JSMessageSource: return "javascript";
- case CSSMessageSource: return "css";
+ case NetworkMessageSource: return "network";
+ case ConsoleAPIMessageSource: return "console-api";
case OtherMessageSource: return "other";
}
return "other";
{
switch (type) {
case LogMessageType: return "log";
- case ObjectMessageType: return "other";
+ case DirMessageType: return "dir";
+ case DirXMLMessageType: return "dirXML";
case TraceMessageType: return "trace";
case StartGroupMessageType: return "startGroup";
case StartGroupCollapsedMessageType: return "startGroupCollapsed";
case EndGroupMessageType: return "endGroup";
case AssertMessageType: return "assert";
- case UncaughtExceptionMessageType: return "uncaughtException";
- case NetworkErrorMessageType: return "networkError";
}
return "other";
}
{
RefPtr<InspectorObject> jsonObj = InspectorObject::create();
jsonObj->setString("source", messageSourceValue(m_source));
+ // 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);
- if (m_type == NetworkErrorMessageType)
+ if (m_source == NetworkMessageSource && !m_requestId.isEmpty())
jsonObj->setString("networkRequestId", m_requestId);
if (m_arguments && m_arguments->argumentCount()) {
InjectedScript injectedScript = injectedScriptManager->injectedScriptFor(m_arguments->globalState());
},
{
"domain": "Console",
- "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.",
+ "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.",
"types": [
{
"id": "ConsoleMessage",
"type": "object",
"description": "Console message.",
"properties": [
- { "name": "source", "type": "string", "enum": ["html", "wml", "xml", "javascript", "css", "other"], "description": "Message source." },
- { "name": "type", "type": "string", "enum": ["log", "other", "trace", "startGroup", "startGroupCollapsed", "endGroup", "assert", "uncaughtException", "networkError", "result"], "description": "Message type." },
+ { "name": "source", "type": "string", "enum": ["html", "wml", "xml", "javascript", "network", "console-api", "other"], "description": "Message source." },
+ { "name": "type", "type": "string", "enum": ["log", "dir", "dirxml", "trace", "startGroup", "startGroupCollapsed", "endGroup", "assert"], "description": "Console message type." },
{ "name": "level", "type": "string", "enum": ["tip", "log", "warning", "error", "debug"], "description": "Message severity." },
- { "name": "line", "type": "integer", "description": "Line number in the message origin resource." },
+ { "name": "line", "type": "integer", "description": "Line number in the resource that generated this message." },
{ "name": "url", "type": "string", "description": "URL of the message origin." },
{ "name": "repeatCount", "type": "integer", "description": "Repeat count for repeated messages." },
{ "name": "text", "type": "string", "description": "Message text." },
{ "name": "networkRequestId", "$ref": "Network.RequestId", "optional": true, "description": "Identifier of the network request associated with this message." },
- { "name": "parameters", "type": "array", "items": { "$ref": "Runtime.RemoteObject" }, "description": "Message parameters in case of the formatted message." },
+ { "name": "parameters", "type": "array", "items": { "$ref": "Runtime.RemoteObject" }, "optional": true, "description": "Message parameters in case of the formatted message." },
{ "name": "stackTrace", "$ref": "StackTrace", "description": "JavaScript stack trace for assertions and error messages." }
]
},
{
"name": "enable",
"returns": [
- { "name": "expiredMessagesCount", "type": "integer", "description": "Number of messages collected due to message threashold overflow." }
+ { "name": "expiredMessagesCount", "type": "integer", "description": "Number of messages dropped due to message threashold overflow." }
],
"description": "Enables console domain, sends the messages collected so far to the client by means of the <code>messageAdded</code> notification."
},
{
"name": "disable",
- "description": "Disables console domain, prevents further console messages from being sent to the client."
+ "description": "Disables console domain, prevents further console messages from being reported to the client."
},
{
"name": "clearMessages",
{
"name": "messageAdded",
"parameters": [
- { "name": "messageObj", "$ref": "ConsoleMessage", "description": "Console message that has been added." }
+ { "name": "message", "$ref": "ConsoleMessage", "description": "Console message that has been added." }
],
"description": "Issued when new console message is added."
},
"parameters": [
{ "name": "count", "type": "integer", "description": "New repeat count value." }
],
- "description": "Issued when subsequent message(s) are equal to the previous one."
+ "description": "Issued when subsequent message(s) are equal to the previous one(s)."
},
{
"name": "messagesCleared",
- "description": "Issued when console is cleared."
+ "description": "Issued when console is cleared. This happens either upon <code>clearMessages</code> command or after page navigation."
}
]
},
if (response.httpStatusCode() >= 400) {
String message = "Failed to load resource: the server responded with a status of " + String::number(response.httpStatusCode()) + " (" + response.httpStatusText() + ')';
String requestId = IdentifiersFactory::requestId(identifier);
- addConsoleMessage(adoptPtr(new ConsoleMessage(OtherMessageSource, NetworkErrorMessageType, ErrorMessageLevel, message, response.url().string(), requestId)));
+ addConsoleMessage(adoptPtr(new ConsoleMessage(NetworkMessageSource, LogMessageType, ErrorMessageLevel, message, response.url().string(), requestId)));
}
}
if (!error.localizedDescription().isEmpty())
message += ": " + error.localizedDescription();
String requestId = IdentifiersFactory::requestId(identifier);
- addConsoleMessage(adoptPtr(new ConsoleMessage(OtherMessageSource, NetworkErrorMessageType, ErrorMessageLevel, message, error.failingURL(), requestId)));
+ addConsoleMessage(adoptPtr(new ConsoleMessage(NetworkMessageSource, LogMessageType, ErrorMessageLevel, message, error.failingURL(), requestId)));
}
void InspectorConsoleAgent::setMonitoringXHREnabled(ErrorString*, bool enabled)
WebInspector.ConsoleMessage.createTextMessage = function(text, level)
{
level = level || WebInspector.ConsoleMessage.MessageLevel.Log;
- return new WebInspector.ConsoleMessage(WebInspector.ConsoleMessage.MessageSource.JS, WebInspector.ConsoleMessage.MessageType.Log, level, 0, null, 1, null, [text], null);
+ return new WebInspector.ConsoleMessage(WebInspector.ConsoleMessage.MessageSource.ConsoleAPI, WebInspector.ConsoleMessage.MessageType.Log, level, 0, null, 1, null, [text], null);
}
WebInspector.ConsoleMessage.prototype = {
_formatMessage: function()
{
- var stackTrace = this._stackTrace;
-
this._formattedMessage = document.createElement("span");
this._formattedMessage.className = "console-message-text source-code";
var messageText;
- switch (this.type) {
- case WebInspector.ConsoleMessage.MessageType.Trace:
- messageText = document.createTextNode("console.trace()");
- break;
- case WebInspector.ConsoleMessage.MessageType.UncaughtException:
- messageText = document.createTextNode(this._messageText);
- break;
- case WebInspector.ConsoleMessage.MessageType.NetworkError:
- if (this._request) {
- stackTrace = this._request.stackTrace;
-
- messageText = document.createElement("span");
- messageText.appendChild(document.createTextNode(this._request.requestMethod + " "));
- var anchor = WebInspector.linkifyURLAsNode(this._request.url);
- anchor.setAttribute("request_id", this._request.requestId);
- anchor.setAttribute("preferred_panel", "network");
- messageText.appendChild(anchor);
- if (this._request.failed)
- messageText.appendChild(document.createTextNode(" " + this._request.localizedFailDescription));
- else
- messageText.appendChild(document.createTextNode(" " + this._request.statusCode + " (" + this._request.statusText + ")"));
- } else {
- var isExternal = !WebInspector.resourceForURL(this.url);
- var anchor = WebInspector.linkifyURLAsNode(this.url, this.url, "console-message-url", isExternal);
- this._formattedMessage.appendChild(anchor);
- messageText = this._format([this._messageText]);
- }
- break;
- case WebInspector.ConsoleMessage.MessageType.Assert:
- var args = [WebInspector.UIString("Assertion failed:")];
- if (this._parameters)
- args = args.concat(this._parameters);
- messageText = this._format(args);
- break;
- case WebInspector.ConsoleMessage.MessageType.Object:
- var obj = this._parameters ? this._parameters[0] : undefined;
- var args = ["%O", obj];
- messageText = this._format(args);
- break;
- default:
- var args = this._parameters || [this._messageText];
- messageText = this._format(args);
- break;
+ if (this.source === WebInspector.ConsoleMessage.MessageSource.ConsoleAPI) {
+ switch (this.type) {
+ case WebInspector.ConsoleMessage.MessageType.Trace:
+ messageText = document.createTextNode("console.trace()");
+ break;
+ case WebInspector.ConsoleMessage.MessageType.Assert:
+ var args = [WebInspector.UIString("Assertion failed:")];
+ if (this._parameters)
+ args = args.concat(this._parameters);
+ messageText = this._format(args);
+ break;
+ case WebInspector.ConsoleMessage.MessageType.Dir:
+ var obj = this._parameters ? this._parameters[0] : undefined;
+ var args = ["%O", obj];
+ messageText = this._format(args);
+ break;
+ default:
+ var args = this._parameters || [this._messageText];
+ messageText = this._format(args);
+ }
+ } else if (this.source === WebInspector.ConsoleMessage.MessageSource.Network) {
+ if (this._request) {
+ this._stackTrace = this._request.stackTrace;
+ messageText = document.createElement("span");
+ messageText.appendChild(document.createTextNode(this._request.requestMethod + " "));
+ var anchor = WebInspector.linkifyURLAsNode(this._request.url);
+ anchor.setAttribute("request_id", this._request.requestId);
+ anchor.setAttribute("preferred_panel", "network");
+ messageText.appendChild(anchor);
+ if (this._request.failed)
+ messageText.appendChild(document.createTextNode(" " + this._request.localizedFailDescription));
+ else
+ messageText.appendChild(document.createTextNode(" " + this._request.statusCode + " (" + this._request.statusText + ")"));
+ } else {
+ var isExternal = !WebInspector.resourceForURL(this.url);
+ var anchor = WebInspector.linkifyURLAsNode(this.url, this.url, "console-message-url", isExternal);
+ this._formattedMessage.appendChild(anchor);
+ messageText = this._format([this._messageText]);
+ }
+ } else {
+ var args = this._parameters || [this._messageText];
+ messageText = this._format(args);
}
- if (this.type !== WebInspector.ConsoleMessage.MessageType.NetworkError) {
+ // FIXME: we should dump network message origins as well.
+ if (this.source !== WebInspector.ConsoleMessage.MessageSource.Network) {
if (this._stackTrace && this._stackTrace.length && this._stackTrace[0].url) {
var urlElement = this._linkifyCallFrame(this._stackTrace[0]);
this._formattedMessage.appendChild(urlElement);
this._formattedMessage.appendChild(messageText);
- if (this._stackTrace) {
- switch (this.type) {
- case WebInspector.ConsoleMessage.MessageType.Trace:
- case WebInspector.ConsoleMessage.MessageType.UncaughtException:
- case WebInspector.ConsoleMessage.MessageType.NetworkError:
- case WebInspector.ConsoleMessage.MessageType.Assert: {
- var ol = document.createElement("ol");
- ol.className = "outline-disclosure";
- var treeOutline = new TreeOutline(ol);
-
- var content = this._formattedMessage;
- var root = new TreeElement(content, null, true);
- content.treeElementForTest = root;
- treeOutline.appendChild(root);
- if (this.type === WebInspector.ConsoleMessage.MessageType.Trace)
- root.expand();
-
- this._populateStackTraceTreeElement(root);
- this._formattedMessage = ol;
- }
- }
+ var dumpStackTrace = !!this._stackTrace && (this.level === WebInspector.ConsoleMessage.MessageLevel.Error || this.type === WebInspector.ConsoleMessage.MessageType.Trace);
+ if (dumpStackTrace) {
+ var ol = document.createElement("ol");
+ ol.className = "outline-disclosure";
+ var treeOutline = new TreeOutline(ol);
+
+ var content = this._formattedMessage;
+ var root = new TreeElement(content, null, true);
+ content.treeElementForTest = root;
+ treeOutline.appendChild(root);
+ if (this.type === WebInspector.ConsoleMessage.MessageType.Trace)
+ root.expand();
+
+ this._populateStackTraceTreeElement(root);
+ this._formattedMessage = ol;
}
// This is used for inline message bubbles in SourceFrames, or other plain-text representations.
case WebInspector.ConsoleMessage.MessageSource.JS:
sourceString = "JS";
break;
- case WebInspector.ConsoleMessage.MessageSource.CSS:
- sourceString = "CSS";
+ case WebInspector.ConsoleMessage.MessageSource.Network:
+ sourceString = "Network";
+ break;
+ case WebInspector.ConsoleMessage.MessageSource.ConsoleAPI:
+ sourceString = "ConsoleAPI";
break;
case WebInspector.ConsoleMessage.MessageSource.Other:
sourceString = "Other";
var typeString;
switch (this.type) {
case WebInspector.ConsoleMessage.MessageType.Log:
- case WebInspector.ConsoleMessage.MessageType.UncaughtException:
- case WebInspector.ConsoleMessage.MessageType.NetworkError:
typeString = "Log";
break;
- case WebInspector.ConsoleMessage.MessageType.Object:
- typeString = "Object";
+ case WebInspector.ConsoleMessage.MessageType.Dir:
+ typeString = "Dir";
+ break;
+ case WebInspector.ConsoleMessage.MessageType.DirXML:
+ typeString = "Dir XML";
break;
case WebInspector.ConsoleMessage.MessageType.Trace:
typeString = "Trace";
HTML: "html",
XML: "xml",
JS: "javascript",
- CSS: "css",
+ Network: "network",
+ ConsoleAPI: "console-api",
Other: "other"
}
WebInspector.ConsoleMessage.MessageType = {
Log: "log",
- Object: "other",
+ Dir: "dir",
+ DirXML: "dirxml",
Trace: "trace",
StartGroup: "startGroup",
StartGroupCollapsed: "startGroupCollapsed",
EndGroup: "endGroup",
Assert: "assert",
- UncaughtException: "uncaughtException",
- NetworkError: "networkError",
Result: "result"
}
case JSMessageSource:
sourceString = "JS";
break;
- case CSSMessageSource:
- sourceString = "CSS";
+ case NetworkMessageSource:
+ sourceString = "NETWORK";
+ break;
+ case ConsoleAPIMessageSource:
+ sourceString = "CONSOLEAPI";
break;
case OtherMessageSource:
sourceString = "OTHER";
if (Console::shouldPrintExceptions()) {
printSourceURLAndLine(lastCaller.sourceURL(), 0);
- printMessageSourceAndLevelPrefix(JSMessageSource, level);
+ printMessageSourceAndLevelPrefix(ConsoleAPIMessageSource, level);
for (unsigned i = 0; i < arguments->argumentCount(); ++i) {
String argAsString;
String message;
if (arguments->getFirstArgumentAsString(message))
- page->chrome()->client()->addMessageToConsole(JSMessageSource, type, level, message, lastCaller.lineNumber(), lastCaller.sourceURL());
+ page->chrome()->client()->addMessageToConsole(ConsoleAPIMessageSource, type, level, message, lastCaller.lineNumber(), lastCaller.sourceURL());
- InspectorInstrumentation::addMessageToConsole(page, JSMessageSource, type, level, message, arguments, callStack);
+ InspectorInstrumentation::addMessageToConsole(page, ConsoleAPIMessageSource, type, level, message, arguments, callStack);
}
void Console::debug(PassRefPtr<ScriptArguments> arguments, PassRefPtr<ScriptCallStack> callStack)
void Console::dir(PassRefPtr<ScriptArguments> arguments, PassRefPtr<ScriptCallStack> callStack)
{
- addMessage(ObjectMessageType, LogMessageLevel, arguments, callStack);
+ addMessage(DirMessageType, LogMessageLevel, arguments, callStack);
}
void Console::dirxml(PassRefPtr<ScriptArguments> arguments, PassRefPtr<ScriptCallStack> callStack)
{
- // The standard behavior of our console.log will print the DOM tree for nodes.
- log(arguments, callStack);
+ addMessage(DirXMLMessageType, LogMessageLevel, arguments, callStack);
}
void Console::trace(PassRefPtr<ScriptArguments> arguments, PassRefPtr<ScriptCallStack> prpCallStack)
void Console::group(PassRefPtr<ScriptArguments> arguments, PassRefPtr<ScriptCallStack> callStack)
{
- InspectorInstrumentation::addMessageToConsole(page(), JSMessageSource, StartGroupMessageType, LogMessageLevel, String(), arguments, callStack);
+ InspectorInstrumentation::addMessageToConsole(page(), ConsoleAPIMessageSource, StartGroupMessageType, LogMessageLevel, String(), arguments, callStack);
}
void Console::groupCollapsed(PassRefPtr<ScriptArguments> arguments, PassRefPtr<ScriptCallStack> callStack)
{
- InspectorInstrumentation::addMessageToConsole(page(), JSMessageSource, StartGroupCollapsedMessageType, LogMessageLevel, String(), arguments, callStack);
+ InspectorInstrumentation::addMessageToConsole(page(), ConsoleAPIMessageSource, StartGroupCollapsedMessageType, LogMessageLevel, String(), arguments, callStack);
}
void Console::groupEnd()
{
- InspectorInstrumentation::addMessageToConsole(page(), JSMessageSource, EndGroupMessageType, LogMessageLevel, String(), 0, String());
+ InspectorInstrumentation::addMessageToConsole(page(), ConsoleAPIMessageSource, EndGroupMessageType, LogMessageLevel, String(), 0, String());
}
bool Console::shouldCaptureFullStackTrace() const
HTMLMessageSource,
XMLMessageSource,
JSMessageSource,
- CSSMessageSource,
- OtherMessageSource
+ NetworkMessageSource,
+ ConsoleAPIMessageSource,
+ OtherMessageSource,
};
+// FIXME: make this enum private to inspector, remove it from client callbacks.
+// https://bugs.webkit.org/show_bug.cgi?id=66371
enum MessageType {
LogMessageType,
- ObjectMessageType,
+ DirMessageType,
+ DirXMLMessageType,
TraceMessageType,
StartGroupMessageType,
StartGroupCollapsedMessageType,
EndGroupMessageType,
- AssertMessageType,
- UncaughtExceptionMessageType,
- NetworkErrorMessageType
+ AssertMessageType
};
enum MessageLevel {
ASSERT(failingURL.isNull() || m_handshake->url().string() == failingURL);
if (failingURL.isNull())
failingURL = m_handshake->url().string();
- m_context->addMessage(OtherMessageSource, NetworkErrorMessageType, ErrorMessageLevel, message, 0, failingURL, 0);
+ m_context->addMessage(NetworkMessageSource, LogMessageType, ErrorMessageLevel, message, 0, failingURL, 0);
}
m_shouldDiscardReceivedData = true;
handle->disconnect();
+2011-09-19 Pavel Feldman <pfeldman@google.com>
+
+ Web Inspector: streamline Console's MessageType and MessageSource semantics.
+ https://bugs.webkit.org/show_bug.cgi?id=68342
+
+ 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:
+
2011-09-19 Timothy Hatcher <timothy@apple.com>
Make WebViews in NSPopovers render as they would in active windows.
NSString *WebConsoleMessageHTMLMessageSource = @"HTMLMessageSource";
NSString *WebConsoleMessageXMLMessageSource = @"XMLMessageSource";
NSString *WebConsoleMessageJSMessageSource = @"JSMessageSource";
-NSString *WebConsoleMessageCSSMessageSource = @"CSSMessageSource";
+NSString *WebConsoleMessageNetworkMessageSource = @"NetworkMessageSource";
+NSString *WebConsoleMessageConsoleAPIMessageSource = @"ConsoleAPIMessageSource";
NSString *WebConsoleMessageOtherMessageSource = @"OtherMessageSource";
NSString *WebConsoleMessageLogMessageType = @"LogMessageType";
-NSString *WebConsoleMessageObjectMessageType = @"ObjectMessageType";
+NSString *WebConsoleMessageDirMessageType = @"DirMessageType";
+NSString *WebConsoleMessageDirXMLMessageType = @"DirXMLMessageType";
NSString *WebConsoleMessageTraceMessageType = @"TraceMessageType";
NSString *WebConsoleMessageStartGroupMessageType = @"StartGroupMessageType";
NSString *WebConsoleMessageStartGroupCollapsedMessageType = @"StartGroupCollapsedMessageType";
NSString *WebConsoleMessageEndGroupMessageType = @"EndGroupMessageType";
NSString *WebConsoleMessageAssertMessageType = @"AssertMessageType";
-NSString *WebConsoleMessageUncaughtExceptionMessageType = @"UncaughtExceptionMessageType";
-NSString *WebConsoleMessageNetworkErrorMessageType = @"NetworkErrorMessageType";
NSString *WebConsoleMessageTipMessageLevel = @"TipMessageLevel";
NSString *WebConsoleMessageLogMessageLevel = @"LogMessageLevel";
return WebConsoleMessageXMLMessageSource;
case JSMessageSource:
return WebConsoleMessageJSMessageSource;
- case CSSMessageSource:
- return WebConsoleMessageCSSMessageSource;
+ case NetworkMessageSource:
+ return WebConsoleMessageNetworkMessageSource;
+ case ConsoleAPIMessageSource:
+ return WebConsoleMessageConsoleAPIMessageSource;
case OtherMessageSource:
return WebConsoleMessageOtherMessageSource;
}
switch (type) {
case LogMessageType:
return WebConsoleMessageLogMessageType;
- case ObjectMessageType:
- return WebConsoleMessageObjectMessageType;
+ case DirMessageType:
+ return WebConsoleMessageDirMessageType;
+ case DirXMLMessageType:
+ return WebConsoleMessageDirXMLMessageType;
case TraceMessageType:
return WebConsoleMessageTraceMessageType;
case StartGroupMessageType:
return WebConsoleMessageEndGroupMessageType;
case AssertMessageType:
return WebConsoleMessageAssertMessageType;
- case UncaughtExceptionMessageType:
- return WebConsoleMessageUncaughtExceptionMessageType;
- case NetworkErrorMessageType:
- return WebConsoleMessageNetworkErrorMessageType;
}
ASSERT_NOT_REACHED();
return @"";
extern NSString *WebConsoleMessageHTMLMessageSource;
extern NSString *WebConsoleMessageXMLMessageSource;
extern NSString *WebConsoleMessageJSMessageSource;
-extern NSString *WebConsoleMessageCSSMessageSource;
+extern NSString *WebConsoleMessageNetworkMessageSource;
+extern NSString *WebConsoleMessageConsoleAPIMessageSource;
extern NSString *WebConsoleMessageOtherMessageSource;
// Message Types.
extern NSString *WebConsoleMessageLogMessageType;
-extern NSString *WebConsoleMessageObjectMessageType;
+extern NSString *WebConsoleMessageDirMessageType;
+extern NSString *WebConsoleMessageDirXMLMessageType;
extern NSString *WebConsoleMessageTraceMessageType;
extern NSString *WebConsoleMessageStartGroupMessageType;
extern NSString *WebConsoleMessageStartGroupCollapsedMessageType;
extern NSString *WebConsoleMessageEndGroupMessageType;
extern NSString *WebConsoleMessageAssertMessageType;
-extern NSString *WebConsoleMessageUncaughtExceptionMessageType;
-extern NSString *WebConsoleMessageNetworkErrorMessageType;
// Message Levels.
extern NSString *WebConsoleMessageTipMessageLevel;