+2009-03-02 Timothy Hatcher <timothy@apple.com>
+
+ Make exception messages and logged Error objects display consistently.
+
+ https://bugs.webkit.org/show_bug.cgi?id=18983
+
+ Reviewed by Adam Roben.
+
+ * English.lproj/localizedStrings.js: Remove a string for line numbers.
+ * inspector/front-end/Console.js:
+ (WebInspector.Console.prototype._enterKeyPressed): Pass the exception
+ boolean to the ConsoleCommandResult constructor and don't pass level.
+ (WebInspector.Console.prototype._formatnode): Fix a className typo.
+ (WebInspector.Console.prototype._formaterror): Add an error-message
+ classed span around the message to show in red and remove the
+ console-message-url class from the link so it doesn't float right.
+ Instead enclose the link in parentheses and use displayNameForURL
+ to shorten the URL in the link.
+ (WebInspector.ConsoleMessage.prototype.toMessageElement): Simplify
+ how line numbers are shown since link underlining a string with
+ parentheses looks bad.
+ (WebInspector.ConsoleCommandResult): Take an exception boolean flag
+ instead of a level and get line and URL based on that flag.
+ * inspector/front-end/inspector.css: Tweaks to the styles.
+
2009-03-02 Ojan Vafai <ojan@chromium.org>
Reviewed by Adele Peterson.
this.prompt.historyOffset = 0;
this.prompt.text = "";
- var level = (exception ? WebInspector.ConsoleMessage.MessageLevel.Error : WebInspector.ConsoleMessage.MessageLevel.Log);
- this.addMessage(new WebInspector.ConsoleCommandResult(result, level, commandMessage));
+ this.addMessage(new WebInspector.ConsoleCommandResult(result, exception, commandMessage));
},
_mouseOverNode: function(event)
_formatnode: function(node, elem, inline)
{
var anchor = document.createElement("a");
- anchor.className = "inspectible-node";
+ anchor.className = "inspectable-node";
anchor.innerHTML = nodeTitleInfo.call(node).title;
anchor.representedNode = node;
anchor.addEventListener("mouseover", this._mouseOverNode.bind(this), false);
_formaterror: function(obj, elem, inline)
{
- elem.appendChild(document.createTextNode(obj.name + ": " + obj.message + " "));
+ var messageElement = document.createElement("span");
+ messageElement.className = "error-message";
+ messageElement.textContent = obj.name + ": " + obj.message;
+ elem.appendChild(messageElement);
if (obj.sourceURL) {
var urlElement = document.createElement("a");
- urlElement.className = "console-message-url webkit-html-resource-link";
+ urlElement.className = "webkit-html-resource-link";
urlElement.href = obj.sourceURL;
urlElement.lineNumber = obj.line;
urlElement.preferredPanel = "scripts";
if (obj.line > 0)
- urlElement.textContent = WebInspector.UIString("%s (line %d)", obj.sourceURL, obj.line);
+ urlElement.textContent = WebInspector.displayNameForURL(obj.sourceURL) + ":" + obj.line;
else
- urlElement.textContent = obj.sourceURL;
+ urlElement.textContent = WebInspector.displayNameForURL(obj.sourceURL);
+ elem.appendChild(document.createTextNode(" ("));
elem.appendChild(urlElement);
+ elem.appendChild(document.createTextNode(")"));
}
},
}
urlElement.preferredPanel = "scripts";
if (this.line > 0)
- urlElement.textContent = WebInspector.UIString("%s (line %d)", WebInspector.displayNameForURL(this.url), this.line);
+ urlElement.textContent = WebInspector.displayNameForURL(this.url) + ":" + this.line;
else
urlElement.textContent = WebInspector.displayNameForURL(this.url);
}
}
-WebInspector.ConsoleCommandResult = function(result, level, originatingCommand)
+WebInspector.ConsoleCommandResult = function(result, exception, originatingCommand)
{
- WebInspector.ConsoleMessage.call(this, WebInspector.ConsoleMessage.MessageSource.JS, level, -1, null, null, 1, result);
+ var level = (exception ? WebInspector.ConsoleMessage.MessageLevel.Error : WebInspector.ConsoleMessage.MessageLevel.Log);
+ var message = (exception ? String(result) : result);
+ var line = (exception ? result.line : -1);
+ var url = (exception ? result.sourceURL : null);
+
+ WebInspector.ConsoleMessage.call(this, WebInspector.ConsoleMessage.MessageSource.JS, level, line, url, null, 1, message);
this.originatingCommand = originatingCommand;
}
background-image: url(Images/userInputIcon.png);
}
-.console-user-command-result::before {
+.console-user-command-result.console-log-level::before {
background-image: url(Images/userInputResultIcon.png);
}
border-bottom: none;
}
-.console-adjacent-user-command-result + .console-user-command-result::before {
+.console-adjacent-user-command-result + .console-user-command-result.console-log-level::before {
background-image: none;
}
color: rgb(0, 128, 255);
}
-.console-message-url {
- color: rgb(33%, 33%, 33%) !important;
+#console-messages a {
+ color: rgb(33%, 33%, 33%);
cursor: pointer;
- float: right;
}
-.console-message-url:hover {
+#console-messages a:hover {
color: rgb(15%, 15%, 15%);
}
-.console-message-url:hover::after {
- opacity: 1;
+.console-message-url {
+ float: right;
}
.console-group-messages .section {
padding-left: 0 !important;
}
+.error-message {
+ color: red;
+}
+
.auto-complete-text {
color: rgb(128, 128, 128);
-webkit-user-select: none;
-webkit-user-modify: read-only;
}
-.inspectible-node:hover {
+.inspectable-node {
+ color: black !important;
+}
+
+.inspectable-node:hover {
background-color: rgba(56, 121, 217, 0.1);
-webkit-border-radius: 5px;
padding: 0 5px 1px;