| Index: third_party/WebKit/Source/devtools/front_end/persistence/DefaultMapping.js
|
| diff --git a/third_party/WebKit/Source/devtools/front_end/persistence/DefaultMapping.js b/third_party/WebKit/Source/devtools/front_end/persistence/DefaultMapping.js
|
| index 02c56ac0645a1d85100946daeb185501ce87f0e7..186fccab21e5e35471d868433c4d95da742172b1 100644
|
| --- a/third_party/WebKit/Source/devtools/front_end/persistence/DefaultMapping.js
|
| +++ b/third_party/WebKit/Source/devtools/front_end/persistence/DefaultMapping.js
|
| @@ -1,16 +1,17 @@
|
| // Copyright 2016 The Chromium Authors. All rights reserved.
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
| -
|
| /**
|
| - * @constructor
|
| - * @param {!WebInspector.Workspace} workspace
|
| - * @param {!WebInspector.FileSystemMapping} fileSystemMapping
|
| - * @param {function(!WebInspector.PersistenceBinding)} onBindingCreated
|
| - * @param {function(!WebInspector.PersistenceBinding)} onBindingRemoved
|
| + * @unrestricted
|
| */
|
| -WebInspector.DefaultMapping = function(workspace, fileSystemMapping, onBindingCreated, onBindingRemoved)
|
| -{
|
| +WebInspector.DefaultMapping = class {
|
| + /**
|
| + * @param {!WebInspector.Workspace} workspace
|
| + * @param {!WebInspector.FileSystemMapping} fileSystemMapping
|
| + * @param {function(!WebInspector.PersistenceBinding)} onBindingCreated
|
| + * @param {function(!WebInspector.PersistenceBinding)} onBindingRemoved
|
| + */
|
| + constructor(workspace, fileSystemMapping, onBindingCreated, onBindingRemoved) {
|
| this._workspace = workspace;
|
| this._fileSystemMapping = fileSystemMapping;
|
| /** @type {!Set<!WebInspector.PersistenceBinding>} */
|
| @@ -19,126 +20,120 @@ WebInspector.DefaultMapping = function(workspace, fileSystemMapping, onBindingCr
|
| this._onBindingRemoved = onBindingRemoved;
|
|
|
| this._eventListeners = [
|
| - workspace.addEventListener(WebInspector.Workspace.Events.UISourceCodeAdded, this._onUISourceCodeAdded, this),
|
| - workspace.addEventListener(WebInspector.Workspace.Events.UISourceCodeRemoved, this._onUISourceCodeRemoved, this),
|
| - workspace.addEventListener(WebInspector.Workspace.Events.ProjectRemoved, this._onProjectRemoved, this),
|
| - this._fileSystemMapping.addEventListener(WebInspector.FileSystemMapping.Events.FileMappingAdded, this._remap, this),
|
| - this._fileSystemMapping.addEventListener(WebInspector.FileSystemMapping.Events.FileMappingRemoved, this._remap, this)
|
| + workspace.addEventListener(WebInspector.Workspace.Events.UISourceCodeAdded, this._onUISourceCodeAdded, this),
|
| + workspace.addEventListener(WebInspector.Workspace.Events.UISourceCodeRemoved, this._onUISourceCodeRemoved, this),
|
| + workspace.addEventListener(WebInspector.Workspace.Events.ProjectRemoved, this._onProjectRemoved, this),
|
| + this._fileSystemMapping.addEventListener(
|
| + WebInspector.FileSystemMapping.Events.FileMappingAdded, this._remap, this),
|
| + this._fileSystemMapping.addEventListener(
|
| + WebInspector.FileSystemMapping.Events.FileMappingRemoved, this._remap, this)
|
| ];
|
| this._remap();
|
| -};
|
| -
|
| -WebInspector.DefaultMapping._binding = Symbol("DefaultMapping.Binding");
|
| -
|
| -WebInspector.DefaultMapping.prototype = {
|
| - _remap: function()
|
| - {
|
| - for (var binding of this._bindings.valuesArray())
|
| - this._unbind(binding.network);
|
| - var networkProjects = this._workspace.projectsForType(WebInspector.projectTypes.Network);
|
| - for (var networkProject of networkProjects) {
|
| - for (var uiSourceCode of networkProject.uiSourceCodes())
|
| - this._bind(uiSourceCode);
|
| - }
|
| - },
|
| -
|
| - /**
|
| - * @param {!WebInspector.Event} event
|
| - */
|
| - _onUISourceCodeAdded: function(event)
|
| - {
|
| - var uiSourceCode = /** @type {!WebInspector.UISourceCode} */(event.data);
|
| + }
|
| +
|
| + _remap() {
|
| + for (var binding of this._bindings.valuesArray())
|
| + this._unbind(binding.network);
|
| + var networkProjects = this._workspace.projectsForType(WebInspector.projectTypes.Network);
|
| + for (var networkProject of networkProjects) {
|
| + for (var uiSourceCode of networkProject.uiSourceCodes())
|
| this._bind(uiSourceCode);
|
| - },
|
| -
|
| - /**
|
| - * @param {!WebInspector.Event} event
|
| - */
|
| - _onUISourceCodeRemoved: function(event)
|
| - {
|
| - var uiSourceCode = /** @type {!WebInspector.UISourceCode} */(event.data);
|
| - this._unbind(uiSourceCode);
|
| - },
|
| -
|
| - /**
|
| - * @param {!WebInspector.Event} event
|
| - */
|
| - _onProjectRemoved: function(event)
|
| - {
|
| - var project = /** @type {!WebInspector.Project} */(event.data);
|
| - for (var uiSourceCode of project.uiSourceCodes())
|
| - this._unbind(uiSourceCode);
|
| - },
|
| -
|
| - /**
|
| - * @param {!WebInspector.UISourceCode} uiSourceCode
|
| - * @return {?WebInspector.PersistenceBinding}
|
| - */
|
| - _createBinding: function(uiSourceCode)
|
| - {
|
| - if (uiSourceCode.project().type() === WebInspector.projectTypes.FileSystem) {
|
| - var fileSystemPath = WebInspector.FileSystemWorkspaceBinding.fileSystemPath(uiSourceCode.project().id());
|
| - var networkURL = this._fileSystemMapping.networkURLForFileSystemURL(fileSystemPath, uiSourceCode.url());
|
| - var networkSourceCode = networkURL ? this._workspace.uiSourceCodeForURL(networkURL) : null;
|
| - return networkSourceCode ? new WebInspector.PersistenceBinding(networkSourceCode, uiSourceCode, false) : null;
|
| - }
|
| - if (uiSourceCode.project().type() === WebInspector.projectTypes.Network) {
|
| - var file = this._fileSystemMapping.fileForURL(uiSourceCode.url());
|
| - var projectId = file ? WebInspector.FileSystemWorkspaceBinding.projectId(file.fileSystemPath) : null;
|
| - var fileSourceCode = file && projectId ? this._workspace.uiSourceCode(projectId, file.fileURL) : null;
|
| - return fileSourceCode ? new WebInspector.PersistenceBinding(uiSourceCode, fileSourceCode, false) : null;
|
| - }
|
| - return null;
|
| - },
|
| -
|
| - /**
|
| - * @param {!WebInspector.UISourceCode} uiSourceCode
|
| - */
|
| - _bind: function(uiSourceCode)
|
| - {
|
| - console.assert(!uiSourceCode[WebInspector.DefaultMapping._binding], "Cannot bind already bound UISourceCode!");
|
| - var binding = this._createBinding(uiSourceCode);
|
| - if (!binding)
|
| - return;
|
| - this._bindings.add(binding);
|
| - binding.network[WebInspector.DefaultMapping._binding] = binding;
|
| - binding.fileSystem[WebInspector.DefaultMapping._binding] = binding;
|
| -
|
| - binding.fileSystem.addEventListener(WebInspector.UISourceCode.Events.TitleChanged, this._onFileSystemUISourceCodeRenamed, this);
|
| -
|
| - this._onBindingCreated.call(null, binding);
|
| - },
|
| -
|
| - /**
|
| - * @param {!WebInspector.UISourceCode} uiSourceCode
|
| - */
|
| - _unbind: function(uiSourceCode)
|
| - {
|
| - var binding = uiSourceCode[WebInspector.DefaultMapping._binding];
|
| - if (!binding)
|
| - return;
|
| - this._bindings.delete(binding);
|
| - binding.network[WebInspector.DefaultMapping._binding] = null;
|
| - binding.fileSystem[WebInspector.DefaultMapping._binding] = null;
|
| -
|
| - binding.fileSystem.removeEventListener(WebInspector.UISourceCode.Events.TitleChanged, this._onFileSystemUISourceCodeRenamed, this);
|
| -
|
| - this._onBindingRemoved.call(null, binding);
|
| - },
|
| -
|
| - /**
|
| - * @param {!WebInspector.Event} event
|
| - */
|
| - _onFileSystemUISourceCodeRenamed: function(event)
|
| - {
|
| - var uiSourceCode = /** @type {!WebInspector.UISourceCode} */(event.target);
|
| - var binding = uiSourceCode[WebInspector.DefaultMapping._binding];
|
| - this._unbind(binding.network);
|
| - this._bind(binding.network);
|
| - },
|
| -
|
| - dispose: function()
|
| - {
|
| - WebInspector.EventTarget.removeEventListeners(this._eventListeners);
|
| }
|
| + }
|
| +
|
| + /**
|
| + * @param {!WebInspector.Event} event
|
| + */
|
| + _onUISourceCodeAdded(event) {
|
| + var uiSourceCode = /** @type {!WebInspector.UISourceCode} */ (event.data);
|
| + this._bind(uiSourceCode);
|
| + }
|
| +
|
| + /**
|
| + * @param {!WebInspector.Event} event
|
| + */
|
| + _onUISourceCodeRemoved(event) {
|
| + var uiSourceCode = /** @type {!WebInspector.UISourceCode} */ (event.data);
|
| + this._unbind(uiSourceCode);
|
| + }
|
| +
|
| + /**
|
| + * @param {!WebInspector.Event} event
|
| + */
|
| + _onProjectRemoved(event) {
|
| + var project = /** @type {!WebInspector.Project} */ (event.data);
|
| + for (var uiSourceCode of project.uiSourceCodes())
|
| + this._unbind(uiSourceCode);
|
| + }
|
| +
|
| + /**
|
| + * @param {!WebInspector.UISourceCode} uiSourceCode
|
| + * @return {?WebInspector.PersistenceBinding}
|
| + */
|
| + _createBinding(uiSourceCode) {
|
| + if (uiSourceCode.project().type() === WebInspector.projectTypes.FileSystem) {
|
| + var fileSystemPath = WebInspector.FileSystemWorkspaceBinding.fileSystemPath(uiSourceCode.project().id());
|
| + var networkURL = this._fileSystemMapping.networkURLForFileSystemURL(fileSystemPath, uiSourceCode.url());
|
| + var networkSourceCode = networkURL ? this._workspace.uiSourceCodeForURL(networkURL) : null;
|
| + return networkSourceCode ? new WebInspector.PersistenceBinding(networkSourceCode, uiSourceCode, false) : null;
|
| + }
|
| + if (uiSourceCode.project().type() === WebInspector.projectTypes.Network) {
|
| + var file = this._fileSystemMapping.fileForURL(uiSourceCode.url());
|
| + var projectId = file ? WebInspector.FileSystemWorkspaceBinding.projectId(file.fileSystemPath) : null;
|
| + var fileSourceCode = file && projectId ? this._workspace.uiSourceCode(projectId, file.fileURL) : null;
|
| + return fileSourceCode ? new WebInspector.PersistenceBinding(uiSourceCode, fileSourceCode, false) : null;
|
| + }
|
| + return null;
|
| + }
|
| +
|
| + /**
|
| + * @param {!WebInspector.UISourceCode} uiSourceCode
|
| + */
|
| + _bind(uiSourceCode) {
|
| + console.assert(!uiSourceCode[WebInspector.DefaultMapping._binding], 'Cannot bind already bound UISourceCode!');
|
| + var binding = this._createBinding(uiSourceCode);
|
| + if (!binding)
|
| + return;
|
| + this._bindings.add(binding);
|
| + binding.network[WebInspector.DefaultMapping._binding] = binding;
|
| + binding.fileSystem[WebInspector.DefaultMapping._binding] = binding;
|
| +
|
| + binding.fileSystem.addEventListener(
|
| + WebInspector.UISourceCode.Events.TitleChanged, this._onFileSystemUISourceCodeRenamed, this);
|
| +
|
| + this._onBindingCreated.call(null, binding);
|
| + }
|
| +
|
| + /**
|
| + * @param {!WebInspector.UISourceCode} uiSourceCode
|
| + */
|
| + _unbind(uiSourceCode) {
|
| + var binding = uiSourceCode[WebInspector.DefaultMapping._binding];
|
| + if (!binding)
|
| + return;
|
| + this._bindings.delete(binding);
|
| + binding.network[WebInspector.DefaultMapping._binding] = null;
|
| + binding.fileSystem[WebInspector.DefaultMapping._binding] = null;
|
| +
|
| + binding.fileSystem.removeEventListener(
|
| + WebInspector.UISourceCode.Events.TitleChanged, this._onFileSystemUISourceCodeRenamed, this);
|
| +
|
| + this._onBindingRemoved.call(null, binding);
|
| + }
|
| +
|
| + /**
|
| + * @param {!WebInspector.Event} event
|
| + */
|
| + _onFileSystemUISourceCodeRenamed(event) {
|
| + var uiSourceCode = /** @type {!WebInspector.UISourceCode} */ (event.target);
|
| + var binding = uiSourceCode[WebInspector.DefaultMapping._binding];
|
| + this._unbind(binding.network);
|
| + this._bind(binding.network);
|
| + }
|
| +
|
| + dispose() {
|
| + WebInspector.EventTarget.removeEventListeners(this._eventListeners);
|
| + }
|
| };
|
| +
|
| +WebInspector.DefaultMapping._binding = Symbol('DefaultMapping.Binding');
|
|
|