Index: third_party/WebKit/Source/devtools/front_end/sources/EditingLocationHistoryManager.js |
diff --git a/third_party/WebKit/Source/devtools/front_end/sources/EditingLocationHistoryManager.js b/third_party/WebKit/Source/devtools/front_end/sources/EditingLocationHistoryManager.js |
index 13ab9503a3cfd7bae5a582ca576d1f87b4e55ecc..b939a47b5d556b406aa148ac8dadcf80778cf988 100644 |
--- a/third_party/WebKit/Source/devtools/front_end/sources/EditingLocationHistoryManager.js |
+++ b/third_party/WebKit/Source/devtools/front_end/sources/EditingLocationHistoryManager.js |
@@ -27,119 +27,112 @@ |
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
*/ |
- |
/** |
- * @constructor |
- * @param {!WebInspector.SourcesView} sourcesView |
- * @param {function():?WebInspector.SourceFrame} currentSourceFrameCallback |
+ * @unrestricted |
*/ |
-WebInspector.EditingLocationHistoryManager = function(sourcesView, currentSourceFrameCallback) |
-{ |
+WebInspector.EditingLocationHistoryManager = class { |
+ /** |
+ * @param {!WebInspector.SourcesView} sourcesView |
+ * @param {function():?WebInspector.SourceFrame} currentSourceFrameCallback |
+ */ |
+ constructor(sourcesView, currentSourceFrameCallback) { |
this._sourcesView = sourcesView; |
- this._historyManager = new WebInspector.SimpleHistoryManager(WebInspector.EditingLocationHistoryManager.HistoryDepth); |
+ this._historyManager = |
+ new WebInspector.SimpleHistoryManager(WebInspector.EditingLocationHistoryManager.HistoryDepth); |
this._currentSourceFrameCallback = currentSourceFrameCallback; |
-}; |
- |
-WebInspector.EditingLocationHistoryManager.HistoryDepth = 20; |
+ } |
+ |
+ /** |
+ * @param {!WebInspector.UISourceCodeFrame} sourceFrame |
+ */ |
+ trackSourceFrameCursorJumps(sourceFrame) { |
+ sourceFrame.textEditor.addEventListener( |
+ WebInspector.SourcesTextEditor.Events.JumpHappened, this._onJumpHappened.bind(this)); |
+ } |
+ |
+ /** |
+ * @param {!WebInspector.Event} event |
+ */ |
+ _onJumpHappened(event) { |
+ if (event.data.from) |
+ this._updateActiveState(event.data.from); |
+ if (event.data.to) |
+ this._pushActiveState(event.data.to); |
+ } |
+ |
+ rollback() { |
+ this._historyManager.rollback(); |
+ } |
+ |
+ rollover() { |
+ this._historyManager.rollover(); |
+ } |
+ |
+ updateCurrentState() { |
+ var sourceFrame = this._currentSourceFrameCallback(); |
+ if (!sourceFrame) |
+ return; |
+ this._updateActiveState(sourceFrame.textEditor.selection()); |
+ } |
+ |
+ pushNewState() { |
+ var sourceFrame = this._currentSourceFrameCallback(); |
+ if (!sourceFrame) |
+ return; |
+ this._pushActiveState(sourceFrame.textEditor.selection()); |
+ } |
+ |
+ /** |
+ * @param {!WebInspector.TextRange} selection |
+ */ |
+ _updateActiveState(selection) { |
+ var active = this._historyManager.active(); |
+ if (!active) |
+ return; |
+ var sourceFrame = this._currentSourceFrameCallback(); |
+ if (!sourceFrame) |
+ return; |
+ var entry = new WebInspector.EditingLocationHistoryEntry(this._sourcesView, this, sourceFrame, selection); |
+ active.merge(entry); |
+ } |
+ |
+ /** |
+ * @param {!WebInspector.TextRange} selection |
+ */ |
+ _pushActiveState(selection) { |
+ var sourceFrame = this._currentSourceFrameCallback(); |
+ if (!sourceFrame) |
+ return; |
+ var entry = new WebInspector.EditingLocationHistoryEntry(this._sourcesView, this, sourceFrame, selection); |
+ this._historyManager.push(entry); |
+ } |
+ |
+ /** |
+ * @param {!WebInspector.UISourceCode} uiSourceCode |
+ */ |
+ removeHistoryForSourceCode(uiSourceCode) { |
+ function filterOut(entry) { |
+ return entry._projectId === uiSourceCode.project().id() && entry._url === uiSourceCode.url(); |
+ } |
-WebInspector.EditingLocationHistoryManager.prototype = { |
- /** |
- * @param {!WebInspector.UISourceCodeFrame} sourceFrame |
- */ |
- trackSourceFrameCursorJumps: function(sourceFrame) |
- { |
- sourceFrame.textEditor.addEventListener(WebInspector.SourcesTextEditor.Events.JumpHappened, this._onJumpHappened.bind(this)); |
- }, |
- |
- /** |
- * @param {!WebInspector.Event} event |
- */ |
- _onJumpHappened: function(event) |
- { |
- if (event.data.from) |
- this._updateActiveState(event.data.from); |
- if (event.data.to) |
- this._pushActiveState(event.data.to); |
- }, |
- |
- rollback: function() |
- { |
- this._historyManager.rollback(); |
- }, |
- |
- rollover: function() |
- { |
- this._historyManager.rollover(); |
- }, |
- |
- updateCurrentState: function() |
- { |
- var sourceFrame = this._currentSourceFrameCallback(); |
- if (!sourceFrame) |
- return; |
- this._updateActiveState(sourceFrame.textEditor.selection()); |
- }, |
- |
- pushNewState: function() |
- { |
- var sourceFrame = this._currentSourceFrameCallback(); |
- if (!sourceFrame) |
- return; |
- this._pushActiveState(sourceFrame.textEditor.selection()); |
- }, |
- |
- /** |
- * @param {!WebInspector.TextRange} selection |
- */ |
- _updateActiveState: function(selection) |
- { |
- var active = this._historyManager.active(); |
- if (!active) |
- return; |
- var sourceFrame = this._currentSourceFrameCallback(); |
- if (!sourceFrame) |
- return; |
- var entry = new WebInspector.EditingLocationHistoryEntry(this._sourcesView, this, sourceFrame, selection); |
- active.merge(entry); |
- }, |
- |
- /** |
- * @param {!WebInspector.TextRange} selection |
- */ |
- _pushActiveState: function(selection) |
- { |
- var sourceFrame = this._currentSourceFrameCallback(); |
- if (!sourceFrame) |
- return; |
- var entry = new WebInspector.EditingLocationHistoryEntry(this._sourcesView, this, sourceFrame, selection); |
- this._historyManager.push(entry); |
- }, |
- |
- /** |
- * @param {!WebInspector.UISourceCode} uiSourceCode |
- */ |
- removeHistoryForSourceCode: function(uiSourceCode) |
- { |
- function filterOut(entry) |
- { |
- return entry._projectId === uiSourceCode.project().id() && entry._url === uiSourceCode.url(); |
- } |
- |
- this._historyManager.filterOut(filterOut); |
- }, |
+ this._historyManager.filterOut(filterOut); |
+ } |
}; |
+WebInspector.EditingLocationHistoryManager.HistoryDepth = 20; |
/** |
- * @constructor |
* @implements {WebInspector.HistoryEntry} |
- * @param {!WebInspector.SourcesView} sourcesView |
- * @param {!WebInspector.EditingLocationHistoryManager} editingLocationManager |
- * @param {!WebInspector.SourceFrame} sourceFrame |
- * @param {!WebInspector.TextRange} selection |
+ * @unrestricted |
*/ |
-WebInspector.EditingLocationHistoryEntry = function(sourcesView, editingLocationManager, sourceFrame, selection) |
-{ |
+WebInspector.EditingLocationHistoryEntry = class { |
+ /** |
+ * @param {!WebInspector.SourcesView} sourcesView |
+ * @param {!WebInspector.EditingLocationHistoryManager} editingLocationManager |
+ * @param {!WebInspector.SourceFrame} sourceFrame |
+ * @param {!WebInspector.TextRange} selection |
+ */ |
+ constructor(sourcesView, editingLocationManager, sourceFrame, selection) { |
this._sourcesView = sourcesView; |
this._editingLocationManager = editingLocationManager; |
var uiSourceCode = sourceFrame.uiSourceCode(); |
@@ -148,53 +141,45 @@ WebInspector.EditingLocationHistoryEntry = function(sourcesView, editingLocation |
var position = this._positionFromSelection(selection); |
this._positionHandle = sourceFrame.textEditor.textEditorPositionHandle(position.lineNumber, position.columnNumber); |
-}; |
- |
-WebInspector.EditingLocationHistoryEntry.prototype = { |
- /** |
- * @param {!WebInspector.HistoryEntry} entry |
- */ |
- merge: function(entry) |
- { |
- if (this._projectId !== entry._projectId || this._url !== entry._url) |
- return; |
- this._positionHandle = entry._positionHandle; |
- }, |
- |
- /** |
- * @param {!WebInspector.TextRange} selection |
- * @return {!{lineNumber: number, columnNumber: number}} |
- */ |
- _positionFromSelection: function(selection) |
- { |
- return { |
- lineNumber: selection.endLine, |
- columnNumber: selection.endColumn |
- }; |
- }, |
- |
- /** |
- * @override |
- * @return {boolean} |
- */ |
- valid: function() |
- { |
- var position = this._positionHandle.resolve(); |
- var uiSourceCode = WebInspector.workspace.uiSourceCode(this._projectId, this._url); |
- return !!(position && uiSourceCode); |
- }, |
- |
- /** |
- * @override |
- */ |
- reveal: function() |
- { |
- var position = this._positionHandle.resolve(); |
- var uiSourceCode = WebInspector.workspace.uiSourceCode(this._projectId, this._url); |
- if (!position || !uiSourceCode) |
- return; |
- |
- this._editingLocationManager.updateCurrentState(); |
- this._sourcesView.showSourceLocation(uiSourceCode, position.lineNumber, position.columnNumber); |
- } |
+ } |
+ |
+ /** |
+ * @param {!WebInspector.HistoryEntry} entry |
+ */ |
+ merge(entry) { |
+ if (this._projectId !== entry._projectId || this._url !== entry._url) |
+ return; |
+ this._positionHandle = entry._positionHandle; |
+ } |
+ |
+ /** |
+ * @param {!WebInspector.TextRange} selection |
+ * @return {!{lineNumber: number, columnNumber: number}} |
+ */ |
+ _positionFromSelection(selection) { |
+ return {lineNumber: selection.endLine, columnNumber: selection.endColumn}; |
+ } |
+ |
+ /** |
+ * @override |
+ * @return {boolean} |
+ */ |
+ valid() { |
+ var position = this._positionHandle.resolve(); |
+ var uiSourceCode = WebInspector.workspace.uiSourceCode(this._projectId, this._url); |
+ return !!(position && uiSourceCode); |
+ } |
+ |
+ /** |
+ * @override |
+ */ |
+ reveal() { |
+ var position = this._positionHandle.resolve(); |
+ var uiSourceCode = WebInspector.workspace.uiSourceCode(this._projectId, this._url); |
+ if (!position || !uiSourceCode) |
+ return; |
+ |
+ this._editingLocationManager.updateCurrentState(); |
+ this._sourcesView.showSourceLocation(uiSourceCode, position.lineNumber, position.columnNumber); |
+ } |
}; |