Changeset 134387 in webkit
- Timestamp:
- Nov 13, 2012 1:29:17 AM (11 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r134386 r134387 1 2012-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 1 21 2012-11-13 Tommy Widenflycht <tommyw@google.com> 2 22 -
trunk/Source/WebCore/inspector/front-end/DefaultTextEditor.js
r134382 r134387 57 57 this._textModel = new WebInspector.TextEditorModel(); 58 58 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 63 60 var syncScrollListener = this._syncScroll.bind(this); 64 61 var syncDecorationsForLineListener = this._syncDecorationsForLine.bind(this); 65 62 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); 67 64 this._gutterPanel = new WebInspector.TextEditorGutterPanel(this._textModel, syncDecorationsForLineListener, syncLineHeightListener); 68 65 … … 128 125 { 129 126 return this._mainPanel.readOnly(); 130 },131 132 /**133 * @return {WebInspector.TextEditorModel}134 */135 get textModel()136 {137 return this._textModel;138 127 }, 139 128 … … 307 296 _textChanged: function(event) 308 297 { 309 if (!this._internalTextChangeMode)310 this._textModel.resetUndoStack();311 298 this._mainPanel.textChanged(event.data.oldRange, event.data.newRange); 312 299 this._gutterPanel.textChanged(event.data.oldRange, event.data.newRange); 313 300 this._updatePanelOffsets(); 301 if (event.data.editRange) 302 this._delegate.onTextChanged(event.data.oldRange, event.data.newRange); 314 303 }, 315 304 … … 321 310 editRange: function(range, text) 322 311 { 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); 342 313 }, 343 314 … … 618 589 619 590 WebInspector.TextEditorChunkedPanel.prototype = { 620 /**621 * @return {WebInspector.TextEditorModel}622 */623 get textModel()624 {625 return this._textModel;626 },627 628 591 /** 629 592 * @param {number} lineNumber … … 1239 1202 * @param {?string} url 1240 1203 */ 1241 WebInspector.TextEditorMainPanel = function(delegate, textModel, url, syncScrollListener, syncDecorationsForLineListener , enterTextChangeMode, exitTextChangeMode)1204 WebInspector.TextEditorMainPanel = function(delegate, textModel, url, syncScrollListener, syncDecorationsForLineListener) 1242 1205 { 1243 1206 WebInspector.TextEditorChunkedPanel.call(this, textModel); … … 1246 1209 this._syncScrollListener = syncScrollListener; 1247 1210 this._syncDecorationsForLineListener = syncDecorationsForLineListener; 1248 this._enterTextChangeMode = enterTextChangeMode;1249 this._exitTextChangeMode = exitTextChangeMode;1250 1211 1251 1212 this._url = url; … … 1429 1390 this.beginUpdates(); 1430 1391 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(); 1442 1393 1443 1394 this.endUpdates(); … … 1465 1416 1466 1417 this.beginUpdates(); 1467 this._enterTextChangeMode();1468 1418 1469 1419 var newRange; … … 1478 1428 } 1479 1429 1480 this._exitTextChangeMode(range, newRange);1481 1430 this.endUpdates(); 1482 1431 if (rangeWasEmpty) … … 1512 1461 1513 1462 this.beginUpdates(); 1514 this._enterTextChangeMode();1515 1463 1516 1464 var lineBreak = this._textModel.lineBreak; … … 1528 1476 newRange = this._textModel.editRange(range, lineBreak + indent); 1529 1477 1530 this._exitTextChangeMode(range, newRange);1531 1478 this.endUpdates(); 1532 1479 this._restoreSelection(newRange.collapseToEnd(), true); … … 2215 2162 this._unindentAfterBlock(oldRange, selection); 2216 2163 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); 2222 2165 this._paintScheduledLines(true); 2223 2166 this._restoreSelection(selection); 2224 2167 2225 this._exitTextChangeMode(oldRange, newRange);2226 2168 }, 2227 2169 -
trunk/Source/WebCore/inspector/front-end/TextEditorModel.js
r134382 r134387 226 226 setText: function(text) 227 227 { 228 this._resetUndoStack(); 228 229 text = text || ""; 229 230 var range = this.range(); … … 259 260 this._lastEditedRange = newRange; 260 261 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 }); 262 263 return newRange; 263 264 }, … … 464 465 465 466 /** 466 * @param {function()=} beforeCallback467 * @param {function(WebInspector.TextRange, WebInspector.TextRange)=} afterCallback468 467 * @return {?WebInspector.TextRange} 469 468 */ 470 undo: function( beforeCallback, afterCallback)469 undo: function() 471 470 { 472 471 if (!this._undoStack.length) … … 476 475 477 476 this._inUndo = true; 478 var range = this._doUndo(this._undoStack , beforeCallback, afterCallback);477 var range = this._doUndo(this._undoStack); 479 478 delete this._inUndo; 480 479 … … 483 482 484 483 /** 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() 490 487 { 491 488 if (!this._redoStack || !this._redoStack.length) … … 494 491 495 492 this._inRedo = true; 496 var range = this._doUndo(this._redoStack , beforeCallback, afterCallback);493 var range = this._doUndo(this._redoStack); 497 494 delete this._inRedo; 498 495 … … 502 499 /** 503 500 * @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) 509 504 { 510 505 var range = null; … … 512 507 var command = stack[i]; 513 508 stack.length = i; 514 515 if (beforeCallback)516 beforeCallback();517 518 509 range = this._innerEditRange(command.newRange, command.originalText); 519 520 if (afterCallback)521 afterCallback(command.newRange, range);522 523 510 if (i > 0 && stack[i - 1].explicit) 524 511 return range; … … 539 526 }, 540 527 541 resetUndoStack: function()528 _resetUndoStack: function() 542 529 { 543 530 this._undoStack = [];
Note: See TracChangeset
for help on using the changeset viewer.