| 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 * @implements {Persistence.MappingSystem} |
| 5 * @unrestricted | 6 * @unrestricted |
| 6 */ | 7 */ |
| 7 Persistence.DefaultMapping = class { | 8 Persistence.DefaultMapping = class { |
| 8 /** | 9 /** |
| 9 * @param {!Workspace.Workspace} workspace | 10 * @param {!Workspace.Workspace} workspace |
| 10 * @param {!Workspace.FileSystemMapping} fileSystemMapping | 11 * @param {!Persistence.FileSystemMapping} fileSystemMapping |
| 11 * @param {function(!Persistence.PersistenceBinding)} onBindingCreated | 12 * @param {function(!Persistence.PersistenceBinding)} onBindingCreated |
| 12 * @param {function(!Persistence.PersistenceBinding)} onBindingRemoved | 13 * @param {function(!Persistence.PersistenceBinding)} onBindingRemoved |
| 13 */ | 14 */ |
| 14 constructor(workspace, fileSystemMapping, onBindingCreated, onBindingRemoved)
{ | 15 constructor(workspace, fileSystemMapping, onBindingCreated, onBindingRemoved)
{ |
| 15 this._workspace = workspace; | 16 this._workspace = workspace; |
| 16 this._fileSystemMapping = fileSystemMapping; | 17 this._fileSystemMapping = fileSystemMapping; |
| 17 /** @type {!Set<!Persistence.PersistenceBinding>} */ | 18 /** @type {!Set<!Persistence.PersistenceBinding>} */ |
| 18 this._bindings = new Set(); | 19 this._bindings = new Set(); |
| 19 this._onBindingCreated = onBindingCreated; | 20 this._onBindingCreated = onBindingCreated; |
| 20 this._onBindingRemoved = onBindingRemoved; | 21 this._onBindingRemoved = onBindingRemoved; |
| 21 | 22 |
| 22 this._eventListeners = [ | 23 this._eventListeners = [ |
| 23 workspace.addEventListener(Workspace.Workspace.Events.UISourceCodeAdded, t
his._onUISourceCodeAdded, this), | 24 workspace.addEventListener(Workspace.Workspace.Events.UISourceCodeAdded, t
his._onUISourceCodeAdded, this), |
| 24 workspace.addEventListener(Workspace.Workspace.Events.UISourceCodeRemoved,
this._onUISourceCodeRemoved, this), | 25 workspace.addEventListener(Workspace.Workspace.Events.UISourceCodeRemoved,
this._onUISourceCodeRemoved, this), |
| 25 workspace.addEventListener(Workspace.Workspace.Events.ProjectRemoved, this
._onProjectRemoved, this), | 26 workspace.addEventListener(Workspace.Workspace.Events.ProjectRemoved, this
._onProjectRemoved, this), |
| 26 this._fileSystemMapping.addEventListener(Workspace.FileSystemMapping.Event
s.FileMappingAdded, this._remap, this), | 27 this._fileSystemMapping.addEventListener( |
| 27 this._fileSystemMapping.addEventListener(Workspace.FileSystemMapping.Event
s.FileMappingRemoved, this._remap, this) | 28 Persistence.FileSystemMapping.Events.FileMappingAdded, this._remap, th
is), |
| 29 this._fileSystemMapping.addEventListener( |
| 30 Persistence.FileSystemMapping.Events.FileMappingRemoved, this._remap,
this) |
| 28 ]; | 31 ]; |
| 29 this._remap(); | 32 this._remap(); |
| 30 } | 33 } |
| 31 | 34 |
| 32 _remap() { | 35 _remap() { |
| 33 for (var binding of this._bindings.valuesArray()) | 36 for (var binding of this._bindings.valuesArray()) |
| 34 this._unbind(binding.network); | 37 this._unbind(binding.network); |
| 35 var networkProjects = this._workspace.projectsForType(Workspace.projectTypes
.Network); | 38 var networkProjects = this._workspace.projectsForType(Workspace.projectTypes
.Network); |
| 36 for (var networkProject of networkProjects) { | 39 for (var networkProject of networkProjects) { |
| 37 for (var uiSourceCode of networkProject.uiSourceCodes()) | 40 for (var uiSourceCode of networkProject.uiSourceCodes()) |
| (...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 126 /** | 129 /** |
| 127 * @param {!Common.Event} event | 130 * @param {!Common.Event} event |
| 128 */ | 131 */ |
| 129 _onFileSystemUISourceCodeRenamed(event) { | 132 _onFileSystemUISourceCodeRenamed(event) { |
| 130 var uiSourceCode = /** @type {!Workspace.UISourceCode} */ (event.data); | 133 var uiSourceCode = /** @type {!Workspace.UISourceCode} */ (event.data); |
| 131 var binding = uiSourceCode[Persistence.DefaultMapping._binding]; | 134 var binding = uiSourceCode[Persistence.DefaultMapping._binding]; |
| 132 this._unbind(binding.network); | 135 this._unbind(binding.network); |
| 133 this._bind(binding.network); | 136 this._bind(binding.network); |
| 134 } | 137 } |
| 135 | 138 |
| 139 /** |
| 140 * @override |
| 141 */ |
| 136 dispose() { | 142 dispose() { |
| 137 for (var binding of this._bindings.valuesArray()) | 143 for (var binding of this._bindings.valuesArray()) |
| 138 this._unbind(binding.network); | 144 this._unbind(binding.network); |
| 139 Common.EventTarget.removeEventListeners(this._eventListeners); | 145 Common.EventTarget.removeEventListeners(this._eventListeners); |
| 140 } | 146 } |
| 141 }; | 147 }; |
| 142 | 148 |
| 143 Persistence.DefaultMapping._binding = Symbol('DefaultMapping.Binding'); | 149 Persistence.DefaultMapping._binding = Symbol('DefaultMapping.Binding'); |
| OLD | NEW |