| OLD | NEW |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 /** | 4 /** |
| 5 * @unrestricted | 5 * @unrestricted |
| 6 */ | 6 */ |
| 7 Persistence.Automapping = class { | 7 Persistence.Automapping = class { |
| 8 /** | 8 /** |
| 9 * @param {!Workspace.Workspace} workspace | 9 * @param {!Workspace.Workspace} workspace |
| 10 * @param {function(!Persistence.PersistenceBinding)} onBindingCreated | 10 * @param {function(!Persistence.PersistenceBinding)} onBindingCreated |
| (...skipping 17 matching lines...) Expand all Loading... |
| 28 this._activeFoldersIndex = new Persistence.Automapping.FolderIndex(pathEncod
er); | 28 this._activeFoldersIndex = new Persistence.Automapping.FolderIndex(pathEncod
er); |
| 29 | 29 |
| 30 this._eventListeners = [ | 30 this._eventListeners = [ |
| 31 this._workspace.addEventListener( | 31 this._workspace.addEventListener( |
| 32 Workspace.Workspace.Events.UISourceCodeAdded, | 32 Workspace.Workspace.Events.UISourceCodeAdded, |
| 33 event => this._onUISourceCodeAdded(/** @type {!Workspace.UISourceCode}
*/ (event.data))), | 33 event => this._onUISourceCodeAdded(/** @type {!Workspace.UISourceCode}
*/ (event.data))), |
| 34 this._workspace.addEventListener( | 34 this._workspace.addEventListener( |
| 35 Workspace.Workspace.Events.UISourceCodeRemoved, | 35 Workspace.Workspace.Events.UISourceCodeRemoved, |
| 36 event => this._onUISourceCodeRemoved(/** @type {!Workspace.UISourceCod
e} */ (event.data))), | 36 event => this._onUISourceCodeRemoved(/** @type {!Workspace.UISourceCod
e} */ (event.data))), |
| 37 this._workspace.addEventListener( | 37 this._workspace.addEventListener( |
| 38 Workspace.Workspace.Events.UISourceCodeRenamed, this._onUISourceCodeRe
named, this), |
| 39 this._workspace.addEventListener( |
| 38 Workspace.Workspace.Events.ProjectAdded, | 40 Workspace.Workspace.Events.ProjectAdded, |
| 39 event => this._onProjectAdded(/** @type {!Workspace.Project} */ (event
.data)), this), | 41 event => this._onProjectAdded(/** @type {!Workspace.Project} */ (event
.data)), this), |
| 40 this._workspace.addEventListener( | 42 this._workspace.addEventListener( |
| 41 Workspace.Workspace.Events.ProjectRemoved, | 43 Workspace.Workspace.Events.ProjectRemoved, |
| 42 event => this._onProjectRemoved(/** @type {!Workspace.Project} */ (eve
nt.data)), this), | 44 event => this._onProjectRemoved(/** @type {!Workspace.Project} */ (eve
nt.data)), this), |
| 43 ]; | 45 ]; |
| 44 | 46 |
| 45 for (var fileSystem of workspace.projects()) | 47 for (var fileSystem of workspace.projects()) |
| 46 this._onProjectAdded(fileSystem); | 48 this._onProjectAdded(fileSystem); |
| 47 for (var uiSourceCode of workspace.uiSourceCodes()) | 49 for (var uiSourceCode of workspace.uiSourceCodes()) |
| (...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 125 this._fileSystemUISourceCodes.delete(uiSourceCode.url()); | 127 this._fileSystemUISourceCodes.delete(uiSourceCode.url()); |
| 126 var binding = uiSourceCode[Persistence.Automapping._binding]; | 128 var binding = uiSourceCode[Persistence.Automapping._binding]; |
| 127 if (binding) | 129 if (binding) |
| 128 this._unbindNetwork(binding.network); | 130 this._unbindNetwork(binding.network); |
| 129 } else if (uiSourceCode.project().type() === Workspace.projectTypes.Network)
{ | 131 } else if (uiSourceCode.project().type() === Workspace.projectTypes.Network)
{ |
| 130 this._unbindNetwork(uiSourceCode); | 132 this._unbindNetwork(uiSourceCode); |
| 131 } | 133 } |
| 132 } | 134 } |
| 133 | 135 |
| 134 /** | 136 /** |
| 137 * @param {!Common.Event} event |
| 138 */ |
| 139 _onUISourceCodeRenamed(event) { |
| 140 var uiSourceCode = /** @type {!Workspace.UISourceCode} */ (event.data.uiSour
ceCode); |
| 141 var oldURL = /** @type {string} */ (event.data.oldURL); |
| 142 if (uiSourceCode.project().type() !== Workspace.projectTypes.FileSystem) |
| 143 return; |
| 144 |
| 145 this._filesIndex.removePath(oldURL); |
| 146 this._fileSystemUISourceCodes.delete(oldURL); |
| 147 var binding = uiSourceCode[Persistence.Automapping._binding]; |
| 148 if (binding) |
| 149 this._unbindNetwork(binding.network); |
| 150 |
| 151 this._filesIndex.addPath(uiSourceCode.url()); |
| 152 this._fileSystemUISourceCodes.set(uiSourceCode.url(), uiSourceCode); |
| 153 this._scheduleSweep(); |
| 154 } |
| 155 |
| 156 /** |
| 135 * @param {!Workspace.UISourceCode} networkSourceCode | 157 * @param {!Workspace.UISourceCode} networkSourceCode |
| 136 */ | 158 */ |
| 137 _bindNetwork(networkSourceCode) { | 159 _bindNetwork(networkSourceCode) { |
| 138 if (networkSourceCode[Persistence.Automapping._processingPromise] || | 160 if (networkSourceCode[Persistence.Automapping._processingPromise] || |
| 139 networkSourceCode[Persistence.Automapping._binding]) | 161 networkSourceCode[Persistence.Automapping._binding]) |
| 140 return; | 162 return; |
| 141 var createBindingPromise = this._createBinding(networkSourceCode).then(onBin
ding.bind(this)); | 163 var createBindingPromise = this._createBinding(networkSourceCode).then(onBin
ding.bind(this)); |
| 142 networkSourceCode[Persistence.Automapping._processingPromise] = createBindin
gPromise; | 164 networkSourceCode[Persistence.Automapping._processingPromise] = createBindin
gPromise; |
| 143 | 165 |
| 144 /** | 166 /** |
| (...skipping 266 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 411 /** | 433 /** |
| 412 * @param {string} path | 434 * @param {string} path |
| 413 * @return {string} | 435 * @return {string} |
| 414 */ | 436 */ |
| 415 closestParentFolder(path) { | 437 closestParentFolder(path) { |
| 416 var encodedPath = this._encoder.encode(path); | 438 var encodedPath = this._encoder.encode(path); |
| 417 var commonPrefix = this._index.longestPrefix(encodedPath, true); | 439 var commonPrefix = this._index.longestPrefix(encodedPath, true); |
| 418 return this._encoder.decode(commonPrefix); | 440 return this._encoder.decode(commonPrefix); |
| 419 } | 441 } |
| 420 }; | 442 }; |
| OLD | NEW |