Title: [139740] trunk/Source/WebCore
Revision
139740
Author
commit-qu...@webkit.org
Date
2013-01-15 07:50:11 -0800 (Tue, 15 Jan 2013)

Log Message

Web Inspector: refactor DefaultTextEditor's paintLine method
https://bugs.webkit.org/show_bug.cgi?id=106893

Patch by Andrey Lushnikov <lushni...@chromium.org> on 2013-01-15
Reviewed by Pavel Feldman.

Move render ranges functionality out of paintLine method into separate subroutine.

No new tests: no change in behaviour.

* inspector/front-end/DefaultTextEditor.js:
(WebInspector.TextEditorMainPanel.prototype._renderRanges): Added.
(WebInspector.TextEditorMainPanel.prototype._paintLine):
(WebInspector.TextEditorMainPanel.prototype._insertSpanBefore):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (139739 => 139740)


--- trunk/Source/WebCore/ChangeLog	2013-01-15 15:42:55 UTC (rev 139739)
+++ trunk/Source/WebCore/ChangeLog	2013-01-15 15:50:11 UTC (rev 139740)
@@ -1,3 +1,19 @@
+2013-01-15  Andrey Lushnikov  <lushni...@chromium.org>
+
+        Web Inspector: refactor DefaultTextEditor's paintLine method
+        https://bugs.webkit.org/show_bug.cgi?id=106893
+
+        Reviewed by Pavel Feldman.
+
+        Move render ranges functionality out of paintLine method into separate subroutine.
+
+        No new tests: no change in behaviour.
+
+        * inspector/front-end/DefaultTextEditor.js:
+        (WebInspector.TextEditorMainPanel.prototype._renderRanges): Added.
+        (WebInspector.TextEditorMainPanel.prototype._paintLine):
+        (WebInspector.TextEditorMainPanel.prototype._insertSpanBefore):
+
 2013-01-15  Elliott Sprehn  <espr...@gmail.com>
 
         display:inline's hover behavior is not applied to ::before and ::after pseudo elements

Modified: trunk/Source/WebCore/inspector/front-end/DefaultTextEditor.js (139739 => 139740)


--- trunk/Source/WebCore/inspector/front-end/DefaultTextEditor.js	2013-01-15 15:42:55 UTC (rev 139739)
+++ trunk/Source/WebCore/inspector/front-end/DefaultTextEditor.js	2013-01-15 15:50:11 UTC (rev 139740)
@@ -1865,7 +1865,50 @@
 
     /**
      * @param {Element} lineRow
+     * @param {string} line
+     * @param {Array.<{startColumn: number, endColumn: number, cssClass: string}>} ranges
      */
+    _renderRanges: function(lineRow, line, ranges)
+    {
+        var decorationsElement = lineRow.decorationsElement;
+
+        if (!decorationsElement)
+            lineRow.removeChildren();
+        else {
+            while (true) {
+                var child = lineRow.firstChild;
+                if (!child || child === decorationsElement)
+                    break;
+                lineRow.removeChild(child);
+            }
+        }
+
+        if (!line)
+            lineRow.insertBefore(document.createElement("br"), decorationsElement);
+
+        var plainTextStart = 0;
+        for(var i = 0; i < ranges.length; i++) {
+            var rangeStart = ranges[i].startColumn;
+            var rangeEnd = ranges[i].endColumn;
+            var cssClass = ranges[i].token ? "webkit-" + ranges[i].token : "";
+
+            if (plainTextStart < rangeStart) {
+                this._insertTextNodeBefore(lineRow, decorationsElement, line.substring(plainTextStart, rangeStart));
+                --this._paintLinesOperationsCredit;
+            }
+            this._insertSpanBefore(lineRow, decorationsElement, line.substring(rangeStart, rangeEnd + 1), cssClass);
+            --this._paintLinesOperationsCredit;
+            plainTextStart = rangeEnd + 1;
+        }
+        if (plainTextStart < line.length) {
+            this._insertTextNodeBefore(lineRow, decorationsElement, line.substring(plainTextStart, line.length));
+            --this._paintLinesOperationsCredit;
+        }
+    },
+
+    /**
+     * @param {Element} lineRow
+     */
     _paintLine: function(lineRow)
     {
         var lineNumber = lineRow.lineNumber;
@@ -1881,42 +1924,9 @@
             if (!highlight)
                 return;
 
-            var decorationsElement = lineRow.decorationsElement;
-            if (!decorationsElement)
-                lineRow.removeChildren();
-            else {
-                while (true) {
-                    var child = lineRow.firstChild;
-                    if (!child || child === decorationsElement)
-                        break;
-                    lineRow.removeChild(child);
-                }
-            }
-
             var line = this._textModel.line(lineNumber);
             var ranges = this._highlighter.orderedRangesPerLine(lineNumber);
-
-            if (!line)
-                lineRow.insertBefore(document.createElement("br"), decorationsElement);
-
-            var plainTextStart = 0;
-            for(var i = 0; i < ranges.length; i++) {
-                var rangeStart = ranges[i].startColumn;
-                var rangeEnd = ranges[i].endColumn;
-                var rangeToken = ranges[i].token;
-
-                if (plainTextStart < rangeStart) {
-                    this._insertTextNodeBefore(lineRow, decorationsElement, line.substring(plainTextStart, rangeStart));
-                    --this._paintLinesOperationsCredit;
-                }
-                this._insertSpanBefore(lineRow, decorationsElement, line.substring(rangeStart, rangeEnd + 1), rangeToken);
-                --this._paintLinesOperationsCredit;
-                plainTextStart = rangeEnd + 1;
-            }
-            if (plainTextStart < line.length) {
-                this._insertTextNodeBefore(lineRow, decorationsElement, line.substring(plainTextStart, line.length));
-                --this._paintLinesOperationsCredit;
-            }
+            this._renderRanges(lineRow, line, ranges);
         } finally {
             if (this._rangeToMark && this._rangeToMark.startLine === lineNumber)
                 this._markedRangeElement = WebInspector.highlightSearchResult(lineRow, this._rangeToMark.startColumn, this._rangeToMark.endColumn - this._rangeToMark.startColumn);
@@ -2123,7 +2133,7 @@
         }
 
         var span = this._cachedSpans.pop() || document.createElement("span");
-        span.className = "webkit-" + className;
+        span.className = className;
         if (WebInspector.FALSE) // For paint debugging.
             span.addStyleClass("debug-fadeout");
         span.textContent = content;
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to