Title: [219900] trunk/Source/WebInspectorUI
Revision
219900
Author
commit-qu...@webkit.org
Date
2017-07-25 19:27:08 -0700 (Tue, 25 Jul 2017)

Log Message

Web Inspector: Don't output "No message" for multi-value logs like console.log(x, y)
https://bugs.webkit.org/show_bug.cgi?id=174842

Patch by Joseph Pecoraro <pecor...@apple.com> on 2017-07-25
Reviewed by Matt Baker.

* Localizations/en.lproj/localizedStrings.js:
Removed "No message".

* UserInterface/Views/ConsoleMessageView.js:
(WebInspector.ConsoleMessageView.prototype._appendFormattedArguments):
Track whether or not outputting the next parameter will need a divider
in front of it or not.

Modified Paths

Diff

Modified: trunk/Source/WebInspectorUI/ChangeLog (219899 => 219900)


--- trunk/Source/WebInspectorUI/ChangeLog	2017-07-26 02:23:01 UTC (rev 219899)
+++ trunk/Source/WebInspectorUI/ChangeLog	2017-07-26 02:27:08 UTC (rev 219900)
@@ -1,5 +1,20 @@
 2017-07-25  Joseph Pecoraro  <pecor...@apple.com>
 
+        Web Inspector: Don't output "No message" for multi-value logs like console.log(x, y)
+        https://bugs.webkit.org/show_bug.cgi?id=174842
+
+        Reviewed by Matt Baker.
+
+        * Localizations/en.lproj/localizedStrings.js:
+        Removed "No message".
+
+        * UserInterface/Views/ConsoleMessageView.js:
+        (WebInspector.ConsoleMessageView.prototype._appendFormattedArguments):
+        Track whether or not outputting the next parameter will need a divider
+        in front of it or not.
+
+2017-07-25  Joseph Pecoraro  <pecor...@apple.com>
+
         Web Inspector: Fix warnings about console.assert lines without semicolons
         https://bugs.webkit.org/show_bug.cgi?id=174840
 

Modified: trunk/Source/WebInspectorUI/Localizations/en.lproj/localizedStrings.js (219899 => 219900)


--- trunk/Source/WebInspectorUI/Localizations/en.lproj/localizedStrings.js	2017-07-26 02:23:01 UTC (rev 219899)
+++ trunk/Source/WebInspectorUI/Localizations/en.lproj/localizedStrings.js	2017-07-26 02:27:08 UTC (rev 219900)
@@ -586,7 +586,6 @@
 localizedStrings["No Search Results"] = "No Search Results";
 localizedStrings["No Watch Expressions"] = "No Watch Expressions";
 localizedStrings["No matching ARIA role"] = "No matching ARIA role";
-localizedStrings["No message"] = "No message";
 localizedStrings["No preview available"] = "No preview available";
 localizedStrings["Node"] = "Node";
 localizedStrings["Node Removed"] = "Node Removed";

Modified: trunk/Source/WebInspectorUI/UserInterface/Views/ConsoleMessageView.js (219899 => 219900)


--- trunk/Source/WebInspectorUI/UserInterface/Views/ConsoleMessageView.js	2017-07-26 02:23:01 UTC (rev 219899)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/ConsoleMessageView.js	2017-07-26 02:27:08 UTC (rev 219900)
@@ -444,14 +444,22 @@
         if (shouldFormatWithStringSubstitution && this._isStackTrace(parameters[0]))
             shouldFormatWithStringSubstitution = false;
 
-        // Format string / message / default message.
+        let needsDivider = false;
+        function appendDividerIfNeeded() {
+            if (!needsDivider)
+                return null;
+            let element = builderElement.appendChild(document.createElement("span"));
+            element.classList.add("console-message-preview-divider");
+            element.textContent = ` ${enDash} `;
+            return element;
+        }
+
+        // Format string.
         if (shouldFormatWithStringSubstitution) {
             let result = this._formatWithSubstitutionString(parameters, builderElement);
             parameters = result.unusedSubstitutions;
             this._extraParameters = parameters;
-        } else {
-            let defaultMessage = WebInspector.UIString("No message");
-            builderElement.append(defaultMessage);
+            needsDivider = true;
         }
 
         // Trailing inline parameters.
@@ -469,9 +477,9 @@
                 this._extraParameters = parameters;
 
                 for (let parameter of simpleParameters) {
-                    let enclosedElement = builderElement.appendChild(document.createElement("span"));
-                    enclosedElement.classList.add("console-message-preview-divider", "inline-lossless");
-                    enclosedElement.textContent = ` ${enDash} `;
+                    let dividerElement = appendDividerIfNeeded();
+                    if (dividerElement)
+                        dividerElement.classList.add("inline-lossless");
 
                     let previewContainer = builderElement.appendChild(document.createElement("span"));
                     previewContainer.classList.add("inline-lossless");
@@ -485,6 +493,8 @@
                     let previewElement = isPreviewView ? preview.element : preview;
                     previewContainer.appendChild(previewElement);
 
+                    needsDivider = true;
+
                     // Simple displayable parameters should pretty much always be lossless.
                     // An exception might be a truncated string.
                     console.assert((isPreviewView && preview.lossless) || (!isPreviewView && this._shouldConsiderObjectLossless(parameter)));
@@ -495,9 +505,7 @@
             if (parameters.length === 1 && !this._isStackTrace(parameters[0])) {
                 let parameter = parameters[0];
 
-                let enclosedElement = builderElement.appendChild(document.createElement("span"));
-                enclosedElement.classList.add("console-message-preview-divider");
-                enclosedElement.textContent = ` ${enDash} `;
+                let dividerElement = appendDividerIfNeeded();
 
                 let previewContainer = builderElement.appendChild(document.createElement("span"));
                 previewContainer.classList.add("console-message-preview");
@@ -511,10 +519,13 @@
                 let previewElement = isPreviewView ? preview.element : preview;
                 previewContainer.appendChild(previewElement);
 
+                needsDivider = true;
+
                 // If this preview is effectively lossless, we can avoid making this console message expandable.
                 if ((isPreviewView && preview.lossless) || (!isPreviewView && this._shouldConsiderObjectLossless(parameter))) {
                     this._extraParameters = null;
-                    enclosedElement.classList.add("inline-lossless");
+                    if (dividerElement)
+                        dividerElement.classList.add("inline-lossless");
                     previewContainer.classList.add("inline-lossless");
                 }
             } else if (parameters.length) {
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to