Changeset 146875 in webkit


Ignore:
Timestamp:
Mar 26, 2013 6:22:58 AM (11 years ago)
Author:
vsevik@chromium.org
Message:

Web Inspector: Decorations in several consecutive lines are not moved correctly in DTE.
https://bugs.webkit.org/show_bug.cgi?id=113296

Reviewed by Pavel Feldman.

Separated removing and adding decorations so that moved decorations are not removed when next line is processed.

  • inspector/front-end/DefaultTextEditor.js:

(WebInspector.TextEditorGutterPanel.prototype.textChanged):

Location:
trunk/Source/WebCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r146874 r146875  
     12013-03-26  Vsevolod Vlasov  <vsevik@chromium.org>
     2
     3        Web Inspector: Decorations in several consecutive lines are not moved correctly in DTE.
     4        https://bugs.webkit.org/show_bug.cgi?id=113296
     5
     6        Reviewed by Pavel Feldman.
     7
     8        Separated removing and adding decorations so that moved decorations are not removed when next line is processed.
     9
     10        * inspector/front-end/DefaultTextEditor.js:
     11        (WebInspector.TextEditorGutterPanel.prototype.textChanged):
     12
    1132013-03-26  Yury Semikhatsky  <yurys@chromium.org>
    214
  • trunk/Source/WebCore/inspector/front-end/DefaultTextEditor.js

    r146342 r146875  
    10881088
    10891089            // Shift decorations if necessary
     1090            var decorationsToRestore = {};
    10901091            for (var lineNumber in this._decorations) {
    10911092                lineNumber = parseInt(lineNumber, 10);
     
    10991100
    11001101                var lineDecorationsCopy = this._decorations[lineNumber].slice();
    1101                 for (var i = 0; i < lineDecorationsCopy.length; ++i) {
    1102                     var decoration = lineDecorationsCopy[i];
    1103                     this.removeDecoration(lineNumber, decoration);
    1104 
    1105                     // Do not restore the decorations before the end position.
    1106                     if (lineNumber < oldRange.endLine)
    1107                         continue;
    1108 
    1109                     this.addDecoration(lineNumber + linesDiff, decoration);
    1110                 }
     1102                for (var i = 0; i < lineDecorationsCopy.length; ++i)
     1103                    this.removeDecoration(lineNumber, lineDecorationsCopy[i]);
     1104                // Do not restore the decorations before the end position.
     1105                if (lineNumber >= oldRange.endLine)
     1106                    decorationsToRestore[lineNumber] = lineDecorationsCopy;
    11111107            }
     1108            for (var lineNumber in decorationsToRestore) {
     1109                lineNumber = parseInt(lineNumber, 10);
     1110                var lineDecorationsCopy = decorationsToRestore[lineNumber];
     1111                for (var i = 0; i < lineDecorationsCopy.length; ++i)
     1112                    this.addDecoration(lineNumber + linesDiff, lineDecorationsCopy[i]);
     1113            }
     1114
    11121115
    11131116            this.repaintAll();
Note: See TracChangeset for help on using the changeset viewer.