Title: [237186] trunk/Source/WebInspectorUI
Revision
237186
Author
[email protected]
Date
2018-10-16 09:47:07 -0700 (Tue, 16 Oct 2018)

Log Message

Web Inspector: sequences of spaces longer than 16 don't show a dot
https://bugs.webkit.org/show_bug.cgi?id=190528

Reviewed by Matt Baker.

* UserInterface/Views/CodeMirrorAdditions.js:
Create a new CSS rule and add it to a unique <style> whenever a whitespace sequence with
a length is seen for the first time.

* UserInterface/Views/CodeMirrorOverrides.css:
(.show-whitespace-characters .CodeMirror .cm-whitespace-1::before): Deleted.
(.show-whitespace-characters .CodeMirror .cm-whitespace-2::before): Deleted.
(.show-whitespace-characters .CodeMirror .cm-whitespace-3::before): Deleted.
(.show-whitespace-characters .CodeMirror .cm-whitespace-4::before): Deleted.
(.show-whitespace-characters .CodeMirror .cm-whitespace-5::before): Deleted.
(.show-whitespace-characters .CodeMirror .cm-whitespace-6::before): Deleted.
(.show-whitespace-characters .CodeMirror .cm-whitespace-7::before): Deleted.
(.show-whitespace-characters .CodeMirror .cm-whitespace-8::before): Deleted.
(.show-whitespace-characters .CodeMirror .cm-whitespace-9::before): Deleted.
(.show-whitespace-characters .CodeMirror .cm-whitespace-10::before): Deleted.
(.show-whitespace-characters .CodeMirror .cm-whitespace-11::before): Deleted.
(.show-whitespace-characters .CodeMirror .cm-whitespace-12::before): Deleted.
(.show-whitespace-characters .CodeMirror .cm-whitespace-13::before): Deleted.
(.show-whitespace-characters .CodeMirror .cm-whitespace-14::before): Deleted.
(.show-whitespace-characters .CodeMirror .cm-whitespace-15::before): Deleted.
(.show-whitespace-characters .CodeMirror .cm-whitespace-16::before): Deleted.

Modified Paths

Diff

Modified: trunk/Source/WebInspectorUI/ChangeLog (237185 => 237186)


--- trunk/Source/WebInspectorUI/ChangeLog	2018-10-16 16:24:12 UTC (rev 237185)
+++ trunk/Source/WebInspectorUI/ChangeLog	2018-10-16 16:47:07 UTC (rev 237186)
@@ -1,3 +1,32 @@
+2018-10-16  Devin Rousso  <[email protected]>
+
+        Web Inspector: sequences of spaces longer than 16 don't show a dot
+        https://bugs.webkit.org/show_bug.cgi?id=190528
+
+        Reviewed by Matt Baker.
+
+        * UserInterface/Views/CodeMirrorAdditions.js:
+        Create a new CSS rule and add it to a unique <style> whenever a whitespace sequence with
+        a length is seen for the first time.
+
+        * UserInterface/Views/CodeMirrorOverrides.css:
+        (.show-whitespace-characters .CodeMirror .cm-whitespace-1::before): Deleted.
+        (.show-whitespace-characters .CodeMirror .cm-whitespace-2::before): Deleted.
+        (.show-whitespace-characters .CodeMirror .cm-whitespace-3::before): Deleted.
+        (.show-whitespace-characters .CodeMirror .cm-whitespace-4::before): Deleted.
+        (.show-whitespace-characters .CodeMirror .cm-whitespace-5::before): Deleted.
+        (.show-whitespace-characters .CodeMirror .cm-whitespace-6::before): Deleted.
+        (.show-whitespace-characters .CodeMirror .cm-whitespace-7::before): Deleted.
+        (.show-whitespace-characters .CodeMirror .cm-whitespace-8::before): Deleted.
+        (.show-whitespace-characters .CodeMirror .cm-whitespace-9::before): Deleted.
+        (.show-whitespace-characters .CodeMirror .cm-whitespace-10::before): Deleted.
+        (.show-whitespace-characters .CodeMirror .cm-whitespace-11::before): Deleted.
+        (.show-whitespace-characters .CodeMirror .cm-whitespace-12::before): Deleted.
+        (.show-whitespace-characters .CodeMirror .cm-whitespace-13::before): Deleted.
+        (.show-whitespace-characters .CodeMirror .cm-whitespace-14::before): Deleted.
+        (.show-whitespace-characters .CodeMirror .cm-whitespace-15::before): Deleted.
+        (.show-whitespace-characters .CodeMirror .cm-whitespace-16::before): Deleted.
+
 2018-10-15  Charles Vazac  <[email protected]>
 
         Web Inspector: Expose Server Timing Response Headers in Network Tab

Modified: trunk/Source/WebInspectorUI/UserInterface/Views/CodeMirrorAdditions.js (237185 => 237186)


--- trunk/Source/WebInspectorUI/UserInterface/Views/CodeMirrorAdditions.js	2018-10-16 16:24:12 UTC (rev 237185)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/CodeMirrorAdditions.js	2018-10-16 16:47:07 UTC (rev 237186)
@@ -340,7 +340,8 @@
         codeMirror.on("scrollCursorIntoView", scrollCursorIntoView);
     });
 
-    const maximumNeighboringWhitespaceCharacters = 16;
+    let whitespaceStyleElement = null;
+    let whitespaceCountsWithStyling = new Set;
     CodeMirror.defineOption("showWhitespaceCharacters", false, function(cm, value, old) {
         if (!value || (old && old !== CodeMirror.Init)) {
             cm.removeOverlay("whitespace");
@@ -352,10 +353,27 @@
             token(stream) {
                 if (stream.peek() === " ") {
                     let count = 0;
-                    while (count < maximumNeighboringWhitespaceCharacters && stream.peek() === " ") {
+                    while (stream.peek() === " ") {
                         ++count;
                         stream.next();
                     }
+
+                    if (!whitespaceCountsWithStyling.has(count)) {
+                        whitespaceCountsWithStyling.add(count);
+
+                        if (!whitespaceStyleElement)
+                            whitespaceStyleElement = document.head.appendChild(document.createElement("style"));
+
+                        const middleDot = "\\00B7";
+
+                        let styleText = whitespaceStyleElement.textContent;
+                        styleText += `.show-whitespace-characters .CodeMirror .cm-whitespace-${count}::before {`;
+                        styleText += `content: "${middleDot.repeat(count)}";`;
+                        styleText += `}`;
+
+                        whitespaceStyleElement.textContent = styleText;
+                    }
+
                     return `whitespace whitespace-${count}`;
                 }
 

Modified: trunk/Source/WebInspectorUI/UserInterface/Views/CodeMirrorOverrides.css (237185 => 237186)


--- trunk/Source/WebInspectorUI/UserInterface/Views/CodeMirrorOverrides.css	2018-10-16 16:24:12 UTC (rev 237185)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/CodeMirrorOverrides.css	2018-10-16 16:47:07 UTC (rev 237186)
@@ -114,70 +114,6 @@
     color: hsl(0, 0%, 70%);
 }
 
-.show-whitespace-characters .CodeMirror .cm-whitespace-1::before {
-    content: "\00B7";
-}
-
-.show-whitespace-characters .CodeMirror .cm-whitespace-2::before {
-    content: "\00B7\00B7";
-}
-
-.show-whitespace-characters .CodeMirror .cm-whitespace-3::before {
-    content: "\00B7\00B7\00B7";
-}
-
-.show-whitespace-characters .CodeMirror .cm-whitespace-4::before {
-    content: "\00B7\00B7\00B7\00B7";
-}
-
-.show-whitespace-characters .CodeMirror .cm-whitespace-5::before {
-    content: "\00B7\00B7\00B7\00B7\00B7";
-}
-
-.show-whitespace-characters .CodeMirror .cm-whitespace-6::before {
-    content: "\00B7\00B7\00B7\00B7\00B7\00B7";
-}
-
-.show-whitespace-characters .CodeMirror .cm-whitespace-7::before {
-    content: "\00B7\00B7\00B7\00B7\00B7\00B7\00B7";
-}
-
-.show-whitespace-characters .CodeMirror .cm-whitespace-8::before {
-    content: "\00B7\00B7\00B7\00B7\00B7\00B7\00B7\00B7";
-}
-
-.show-whitespace-characters .CodeMirror .cm-whitespace-9::before {
-    content: "\00B7\00B7\00B7\00B7\00B7\00B7\00B7\00B7\00B7";
-}
-
-.show-whitespace-characters .CodeMirror .cm-whitespace-10::before {
-    content: "\00B7\00B7\00B7\00B7\00B7\00B7\00B7\00B7\00B7\00B7";
-}
-
-.show-whitespace-characters .CodeMirror .cm-whitespace-11::before {
-    content: "\00B7\00B7\00B7\00B7\00B7\00B7\00B7\00B7\00B7\00B7\00B7";
-}
-
-.show-whitespace-characters .CodeMirror .cm-whitespace-12::before {
-    content: "\00B7\00B7\00B7\00B7\00B7\00B7\00B7\00B7\00B7\00B7\00B7\00B7";
-}
-
-.show-whitespace-characters .CodeMirror .cm-whitespace-13::before {
-    content: "\00B7\00B7\00B7\00B7\00B7\00B7\00B7\00B7\00B7\00B7\00B7\00B7\00B7";
-}
-
-.show-whitespace-characters .CodeMirror .cm-whitespace-14::before {
-    content: "\00B7\00B7\00B7\00B7\00B7\00B7\00B7\00B7\00B7\00B7\00B7\00B7\00B7\00B7";
-}
-
-.show-whitespace-characters .CodeMirror .cm-whitespace-15::before {
-    content: "\00B7\00B7\00B7\00B7\00B7\00B7\00B7\00B7\00B7\00B7\00B7\00B7\00B7\00B7\00B7";
-}
-
-.show-whitespace-characters .CodeMirror .cm-whitespace-16::before {
-    content: "\00B7\00B7\00B7\00B7\00B7\00B7\00B7\00B7\00B7\00B7\00B7\00B7\00B7\00B7\00B7\00B7";
-}
-
 .show-invalid-characters .CodeMirror .cm-invalidchar {
     display: initial;
 }
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to