Changeset 134387 in webkit


Ignore:
Timestamp:
Nov 13, 2012 1:29:17 AM (11 years ago)
Author:
pfeldman@chromium.org
Message:

Web Inspector: get rid of enter/exitTextChangeMode in the editor
https://bugs.webkit.org/show_bug.cgi?id=101845

Reviewed by Vsevolod Vlasov.

They seem to do nothing.

  • inspector/front-end/DefaultTextEditor.js:

(WebInspector.DefaultTextEditor.prototype._textChanged):
(WebInspector.DefaultTextEditor.prototype.editRange):
(WebInspector.TextEditorMainPanel):
(WebInspector.TextEditorMainPanel.prototype.handleUndoRedo):
(WebInspector.TextEditorMainPanel.prototype.handleEnterKey.get var):
(WebInspector.TextEditorMainPanel.prototype.handleEnterKey):
(WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):

  • inspector/front-end/TextEditorModel.js:

(WebInspector.TextEditorModel.endsWithBracketRegex.):

Location:
trunk/Source/WebCore
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r134386 r134387  
     12012-11-13  Pavel Feldman  <pfeldman@chromium.org>
     2
     3        Web Inspector: get rid of enter/exitTextChangeMode in the editor
     4        https://bugs.webkit.org/show_bug.cgi?id=101845
     5
     6        Reviewed by Vsevolod Vlasov.
     7
     8        They seem to do nothing.
     9
     10        * inspector/front-end/DefaultTextEditor.js:
     11        (WebInspector.DefaultTextEditor.prototype._textChanged):
     12        (WebInspector.DefaultTextEditor.prototype.editRange):
     13        (WebInspector.TextEditorMainPanel):
     14        (WebInspector.TextEditorMainPanel.prototype.handleUndoRedo):
     15        (WebInspector.TextEditorMainPanel.prototype.handleEnterKey.get var):
     16        (WebInspector.TextEditorMainPanel.prototype.handleEnterKey):
     17        (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
     18        * inspector/front-end/TextEditorModel.js:
     19        (WebInspector.TextEditorModel.endsWithBracketRegex.):
     20
    1212012-11-13  Tommy Widenflycht  <tommyw@google.com>
    222
  • trunk/Source/WebCore/inspector/front-end/DefaultTextEditor.js

    r134382 r134387  
    5757    this._textModel = new WebInspector.TextEditorModel();
    5858    this._textModel.addEventListener(WebInspector.TextEditorModel.Events.TextChanged, this._textChanged, this);
    59     this._textModel.resetUndoStack();
    60 
    61     var enterTextChangeMode = this._enterInternalTextChangeMode.bind(this);
    62     var exitTextChangeMode = this._exitInternalTextChangeMode.bind(this);
     59
    6360    var syncScrollListener = this._syncScroll.bind(this);
    6461    var syncDecorationsForLineListener = this._syncDecorationsForLine.bind(this);
    6562    var syncLineHeightListener = this._syncLineHeight.bind(this);
    66     this._mainPanel = new WebInspector.TextEditorMainPanel(this._delegate, this._textModel, url, syncScrollListener, syncDecorationsForLineListener, enterTextChangeMode, exitTextChangeMode);
     63    this._mainPanel = new WebInspector.TextEditorMainPanel(this._delegate, this._textModel, url, syncScrollListener, syncDecorationsForLineListener);
    6764    this._gutterPanel = new WebInspector.TextEditorGutterPanel(this._textModel, syncDecorationsForLineListener, syncLineHeightListener);
    6865
     
    128125    {
    129126        return this._mainPanel.readOnly();
    130     },
    131 
    132     /**
    133      * @return {WebInspector.TextEditorModel}
    134      */
    135     get textModel()
    136     {
    137         return this._textModel;
    138127    },
    139128
     
    307296    _textChanged: function(event)
    308297    {
    309         if (!this._internalTextChangeMode)
    310             this._textModel.resetUndoStack();
    311298        this._mainPanel.textChanged(event.data.oldRange, event.data.newRange);
    312299        this._gutterPanel.textChanged(event.data.oldRange, event.data.newRange);
    313300        this._updatePanelOffsets();
     301        if (event.data.editRange)
     302            this._delegate.onTextChanged(event.data.oldRange, event.data.newRange);
    314303    },
    315304
     
    321310    editRange: function(range, text)
    322311    {
    323         this._enterInternalTextChangeMode();
    324         var newRange = this._textModel.editRange(range, text);
    325         this._exitInternalTextChangeMode(range, newRange);
    326         return newRange;
    327     },
    328 
    329     _enterInternalTextChangeMode: function()
    330     {
    331         this._internalTextChangeMode = true;
    332     },
    333 
    334     /**
    335      * @param {WebInspector.TextRange} oldRange
    336      * @param {WebInspector.TextRange} newRange
    337      */
    338     _exitInternalTextChangeMode: function(oldRange, newRange)
    339     {
    340         this._internalTextChangeMode = false;
    341         this._delegate.onTextChanged(oldRange, newRange);
     312        return this._textModel.editRange(range, text);
    342313    },
    343314
     
    618589
    619590WebInspector.TextEditorChunkedPanel.prototype = {
    620     /**
    621      * @return {WebInspector.TextEditorModel}
    622      */
    623     get textModel()
    624     {
    625         return this._textModel;
    626     },
    627 
    628591    /**
    629592     * @param {number} lineNumber
     
    12391202 * @param {?string} url
    12401203 */
    1241 WebInspector.TextEditorMainPanel = function(delegate, textModel, url, syncScrollListener, syncDecorationsForLineListener, enterTextChangeMode, exitTextChangeMode)
     1204WebInspector.TextEditorMainPanel = function(delegate, textModel, url, syncScrollListener, syncDecorationsForLineListener)
    12421205{
    12431206    WebInspector.TextEditorChunkedPanel.call(this, textModel);
     
    12461209    this._syncScrollListener = syncScrollListener;
    12471210    this._syncDecorationsForLineListener = syncDecorationsForLineListener;
    1248     this._enterTextChangeMode = enterTextChangeMode;
    1249     this._exitTextChangeMode = exitTextChangeMode;
    12501211
    12511212    this._url = url;
     
    14291390        this.beginUpdates();
    14301391
    1431         function before()
    1432         {
    1433             this._enterTextChangeMode();
    1434         }
    1435 
    1436         function after(oldRange, newRange)
    1437         {
    1438             this._exitTextChangeMode(oldRange, newRange);
    1439         }
    1440 
    1441         var range = redo ? this._textModel.redo(before.bind(this), after.bind(this)) : this._textModel.undo(before.bind(this), after.bind(this));
     1392        var range = redo ? this._textModel.redo() : this._textModel.undo();
    14421393
    14431394        this.endUpdates();
     
    14651416
    14661417        this.beginUpdates();
    1467         this._enterTextChangeMode();
    14681418
    14691419        var newRange;
     
    14781428        }
    14791429
    1480         this._exitTextChangeMode(range, newRange);
    14811430        this.endUpdates();
    14821431        if (rangeWasEmpty)
     
    15121461
    15131462        this.beginUpdates();
    1514         this._enterTextChangeMode();
    15151463
    15161464        var lineBreak = this._textModel.lineBreak;
     
    15281476            newRange = this._textModel.editRange(range, lineBreak + indent);
    15291477
    1530         this._exitTextChangeMode(range, newRange);
    15311478        this.endUpdates();
    15321479        this._restoreSelection(newRange.collapseToEnd(), true);
     
    22152162            this._unindentAfterBlock(oldRange, selection);
    22162163
    2217         // This is a "foreign" call outside of this class. Should be before we delete the dirty lines flag.
    2218         this._enterTextChangeMode();
    2219 
    2220         var newRange = this._textModel.editRange(oldRange, newContent);
    2221 
     2164        this._textModel.editRange(oldRange, newContent);
    22222165        this._paintScheduledLines(true);
    22232166        this._restoreSelection(selection);
    22242167
    2225         this._exitTextChangeMode(oldRange, newRange);
    22262168    },
    22272169
  • trunk/Source/WebCore/inspector/front-end/TextEditorModel.js

    r134382 r134387  
    226226    setText: function(text)
    227227    {
     228        this._resetUndoStack();
    228229        text = text || "";
    229230        var range = this.range();
     
    259260        this._lastEditedRange = newRange;
    260261        this._pushUndoableCommand(newRange, originalText);
    261         this.dispatchEventToListeners(WebInspector.TextEditorModel.Events.TextChanged, { oldRange: range, newRange: newRange });
     262        this.dispatchEventToListeners(WebInspector.TextEditorModel.Events.TextChanged, { oldRange: range, newRange: newRange, editRange: true });
    262263        return newRange;
    263264    },
     
    464465
    465466    /**
    466      * @param {function()=} beforeCallback
    467      * @param {function(WebInspector.TextRange, WebInspector.TextRange)=} afterCallback
    468467     * @return {?WebInspector.TextRange}
    469468     */
    470     undo: function(beforeCallback, afterCallback)
     469    undo: function()
    471470    {
    472471        if (!this._undoStack.length)
     
    476475
    477476        this._inUndo = true;
    478         var range = this._doUndo(this._undoStack, beforeCallback, afterCallback);
     477        var range = this._doUndo(this._undoStack);
    479478        delete this._inUndo;
    480479
     
    483482
    484483    /**
    485      * @param {function()=} beforeCallback
    486      * @param {function(WebInspector.TextRange, WebInspector.TextRange)=} afterCallback
    487      * @return {WebInspector.TextRange}
    488      */
    489     redo: function(beforeCallback, afterCallback)
     484     * @return {WebInspector.TextRange}
     485     */
     486    redo: function()
    490487    {
    491488        if (!this._redoStack || !this._redoStack.length)
     
    494491
    495492        this._inRedo = true;
    496         var range = this._doUndo(this._redoStack, beforeCallback, afterCallback);
     493        var range = this._doUndo(this._redoStack);
    497494        delete this._inRedo;
    498495
     
    502499    /**
    503500     * @param {Array.<WebInspector.TextEditorCommand>} stack
    504      * @param {function()=} beforeCallback
    505      * @param {function(WebInspector.TextRange, WebInspector.TextRange)=} afterCallback
    506      * @return {WebInspector.TextRange}
    507      */
    508     _doUndo: function(stack, beforeCallback, afterCallback)
     501     * @return {WebInspector.TextRange}
     502     */
     503    _doUndo: function(stack)
    509504    {
    510505        var range = null;
     
    512507            var command = stack[i];
    513508            stack.length = i;
    514 
    515             if (beforeCallback)
    516                 beforeCallback();
    517 
    518509            range = this._innerEditRange(command.newRange, command.originalText);
    519 
    520             if (afterCallback)
    521                 afterCallback(command.newRange, range);
    522 
    523510            if (i > 0 && stack[i - 1].explicit)
    524511                return range;
     
    539526    },
    540527
    541     resetUndoStack: function()
     528    _resetUndoStack: function()
    542529    {
    543530        this._undoStack = [];
Note: See TracChangeset for help on using the changeset viewer.