diff options
Diffstat (limited to 'chromium/third_party/WebKit/Source/devtools/front_end/EditFileSystemDialog.js')
-rw-r--r-- | chromium/third_party/WebKit/Source/devtools/front_end/EditFileSystemDialog.js | 389 |
1 files changed, 0 insertions, 389 deletions
diff --git a/chromium/third_party/WebKit/Source/devtools/front_end/EditFileSystemDialog.js b/chromium/third_party/WebKit/Source/devtools/front_end/EditFileSystemDialog.js deleted file mode 100644 index b687996b1b0..00000000000 --- a/chromium/third_party/WebKit/Source/devtools/front_end/EditFileSystemDialog.js +++ /dev/null @@ -1,389 +0,0 @@ -/* - * Copyright (C) 2013 Google Inc. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following disclaimer - * in the documentation and/or other materials provided with the - * distribution. - * * Neither the name of Google Inc. nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (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 - * @extends {WebInspector.DialogDelegate} - * @param {string} fileSystemPath - */ -WebInspector.EditFileSystemDialog = function(fileSystemPath) -{ - WebInspector.DialogDelegate.call(this); - this._fileSystemPath = fileSystemPath; - - this.element = document.createElement("div"); - this.element.className = "edit-file-system-dialog"; - - var header = this.element.createChild("div", "header"); - var headerText = header.createChild("span"); - headerText.textContent = "Edit file system"; - - var closeButton = header.createChild("div", "close-button-gray done-button"); - closeButton.addEventListener("click", this._onDoneClick.bind(this), false); - - var contents = this.element.createChild("div", "contents"); - - WebInspector.isolatedFileSystemManager.mapping().addEventListener(WebInspector.FileSystemMapping.Events.FileMappingAdded, this._fileMappingAdded, this); - WebInspector.isolatedFileSystemManager.mapping().addEventListener(WebInspector.FileSystemMapping.Events.FileMappingRemoved, this._fileMappingRemoved, this); - WebInspector.isolatedFileSystemManager.mapping().addEventListener(WebInspector.FileSystemMapping.Events.ExcludedFolderAdded, this._excludedFolderAdded, this); - WebInspector.isolatedFileSystemManager.mapping().addEventListener(WebInspector.FileSystemMapping.Events.ExcludedFolderRemoved, this._excludedFolderRemoved, this); - - var blockHeader = contents.createChild("div", "block-header"); - blockHeader.textContent = "Mappings"; - this._fileMappingsSection = contents.createChild("div", "file-mappings-section"); - this._fileMappingsListContainer = this._fileMappingsSection.createChild("div", "settings-list-container"); - var entries = WebInspector.isolatedFileSystemManager.mapping().mappingEntries(this._fileSystemPath); - - this._fileMappingsList = new WebInspector.EditableSettingsList(["url", "path"], this._fileMappingValuesProvider.bind(this), this._fileMappingValidate.bind(this), this._fileMappingEdit.bind(this)); - this._fileMappingsList.addEventListener(WebInspector.SettingsList.Events.Removed, this._fileMappingRemovedfromList.bind(this)); - - this._fileMappingsList.element.classList.add("file-mappings-list"); - this._fileMappingsListContainer.appendChild(this._fileMappingsList.element); - - this._entries = {}; - for (var i = 0; i < entries.length; ++i) - this._addMappingRow(entries[i]); - - blockHeader = contents.createChild("div", "block-header"); - blockHeader.textContent = "Excluded folders"; - this._excludedFolderListSection = contents.createChild("div", "excluded-folders-section"); - this._excludedFolderListContainer = this._excludedFolderListSection.createChild("div", "settings-list-container"); - var excludedFolderEntries = WebInspector.isolatedFileSystemManager.mapping().excludedFolders(fileSystemPath); - - this._excludedFolderList = new WebInspector.EditableSettingsList(["path"], this._excludedFolderValueProvider.bind(this), this._excludedFolderValidate.bind(this), this._excludedFolderEdit.bind(this)); - this._excludedFolderList.addEventListener(WebInspector.SettingsList.Events.Removed, this._excludedFolderRemovedfromList.bind(this)); - this._excludedFolderList.element.classList.add("excluded-folders-list"); - this._excludedFolderListContainer.appendChild(this._excludedFolderList.element); - this._excludedFolderEntries = new StringMap(); - for (var i = 0; i < excludedFolderEntries.length; ++i) - this._addExcludedFolderRow(excludedFolderEntries[i]); - - this.element.tabIndex = 0; -} - -WebInspector.EditFileSystemDialog.show = function(element, fileSystemPath) -{ - WebInspector.Dialog.show(element, new WebInspector.EditFileSystemDialog(fileSystemPath)); - var glassPane = document.getElementById("glass-pane"); - glassPane.classList.add("settings-glass-pane"); -} - -WebInspector.EditFileSystemDialog.prototype = { - /** - * @param {!Element} element - */ - show: function(element) - { - element.appendChild(this.element); - this.element.classList.add("dialog-contents"); - element.classList.add("settings-dialog"); - element.classList.add("settings-tab"); - this._dialogElement = element; - }, - - _resize: function() - { - if (!this._dialogElement) - return; - - const width = 540; - const minHeight = 150; - var maxHeight = document.body.offsetHeight - 10; - maxHeight = Math.max(minHeight, maxHeight); - this._dialogElement.style.maxHeight = maxHeight + "px"; - this._dialogElement.style.width = width + "px"; - }, - - /** - * @param {!Element} element - * @param {!Element} relativeToElement - */ - position: function(element, relativeToElement) - { - this._resize(); - }, - - willHide: function(event) - { - }, - - _fileMappingAdded: function(event) - { - var entry = /** @type {!WebInspector.FileSystemMapping.Entry} */ (event.data); - this._addMappingRow(entry); - }, - - _fileMappingRemoved: function(event) - { - var entry = /** @type {!WebInspector.FileSystemMapping.Entry} */ (event.data); - if (this._fileSystemPath !== entry.fileSystemPath) - return; - delete this._entries[entry.urlPrefix]; - if (this._fileMappingsList.itemForId(entry.urlPrefix)) - this._fileMappingsList.removeItem(entry.urlPrefix); - this._resize(); - }, - - _fileMappingValuesProvider: function(itemId, columnId) - { - if (!itemId) - return ""; - var entry = this._entries[itemId]; - switch (columnId) { - case "url": - return entry.urlPrefix; - case "path": - return entry.pathPrefix; - default: - console.assert("Should not be reached."); - } - return ""; - }, - - /** - * @param {?string} itemId - * @param {!Object} data - */ - _fileMappingValidate: function(itemId, data) - { - var oldPathPrefix = itemId ? this._entries[itemId].pathPrefix : null; - return this._validateMapping(data["url"], itemId, data["path"], oldPathPrefix); - }, - - /** - * @param {?string} itemId - * @param {!Object} data - */ - _fileMappingEdit: function(itemId, data) - { - if (itemId) { - var urlPrefix = itemId; - var pathPrefix = this._entries[itemId].pathPrefix; - var fileSystemPath = this._entries[itemId].fileSystemPath; - WebInspector.isolatedFileSystemManager.mapping().removeFileMapping(fileSystemPath, urlPrefix, pathPrefix); - } - this._addFileMapping(data["url"], data["path"]); - }, - - /** - * @param {string} urlPrefix - * @param {?string} allowedURLPrefix - * @param {string} path - * @param {?string} allowedPathPrefix - */ - _validateMapping: function(urlPrefix, allowedURLPrefix, path, allowedPathPrefix) - { - var columns = []; - if (!this._checkURLPrefix(urlPrefix, allowedURLPrefix)) - columns.push("url"); - if (!this._checkPathPrefix(path, allowedPathPrefix)) - columns.push("path"); - return columns; - }, - - /** - * @param {!WebInspector.Event} event - */ - _fileMappingRemovedfromList: function(event) - { - var urlPrefix = /** @type{?string} */ (event.data); - if (!urlPrefix) - return; - - var entry = this._entries[urlPrefix]; - WebInspector.isolatedFileSystemManager.mapping().removeFileMapping(entry.fileSystemPath, entry.urlPrefix, entry.pathPrefix); - }, - - /** - * @param {string} urlPrefix - * @param {string} pathPrefix - * @return {boolean} - */ - _addFileMapping: function(urlPrefix, pathPrefix) - { - var normalizedURLPrefix = this._normalizePrefix(urlPrefix); - var normalizedPathPrefix = this._normalizePrefix(pathPrefix); - WebInspector.isolatedFileSystemManager.mapping().addFileMapping(this._fileSystemPath, normalizedURLPrefix, normalizedPathPrefix); - this._fileMappingsList.selectItem(normalizedURLPrefix); - return true; - }, - - /** - * @param {string} prefix - * @return {string} - */ - _normalizePrefix: function(prefix) - { - if (!prefix) - return ""; - return prefix + (prefix[prefix.length - 1] === "/" ? "" : "/"); - }, - - _addMappingRow: function(entry) - { - var fileSystemPath = entry.fileSystemPath; - var urlPrefix = entry.urlPrefix; - if (!this._fileSystemPath || this._fileSystemPath !== fileSystemPath) - return; - - this._entries[urlPrefix] = entry; - var fileMappingListItem = this._fileMappingsList.addItem(urlPrefix, null); - this._resize(); - }, - - _excludedFolderAdded: function(event) - { - var entry = /** @type {!WebInspector.FileSystemMapping.ExcludedFolderEntry} */ (event.data); - this._addExcludedFolderRow(entry); - }, - - _excludedFolderRemoved: function(event) - { - var entry = /** @type {!WebInspector.FileSystemMapping.ExcludedFolderEntry} */ (event.data); - var fileSystemPath = entry.fileSystemPath; - if (!fileSystemPath || this._fileSystemPath !== fileSystemPath) - return; - delete this._excludedFolderEntries[entry.path]; - if (this._excludedFolderList.itemForId(entry.path)) - this._excludedFolderList.removeItem(entry.path); - }, - - _excludedFolderValueProvider: function(itemId, columnId) - { - return itemId; - }, - - /** - * @param {?string} itemId - * @param {!Object} data - */ - _excludedFolderValidate: function(itemId, data) - { - var fileSystemPath = this._fileSystemPath; - var columns = []; - if (!this._validateExcludedFolder(data["path"], itemId)) - columns.push("path"); - return columns; - }, - - /** - * @param {string} path - * @param {?string} allowedPath - * @return {boolean} - */ - _validateExcludedFolder: function(path, allowedPath) - { - return !!path && (path === allowedPath || !this._excludedFolderEntries.contains(path)); - }, - - /** - * @param {?string} itemId - * @param {!Object} data - */ - _excludedFolderEdit: function(itemId, data) - { - var fileSystemPath = this._fileSystemPath; - if (itemId) - WebInspector.isolatedFileSystemManager.mapping().removeExcludedFolder(fileSystemPath, itemId); - var excludedFolderPath = data["path"]; - WebInspector.isolatedFileSystemManager.mapping().addExcludedFolder(fileSystemPath, excludedFolderPath); - }, - - /** - * @param {!WebInspector.Event} event - */ - _excludedFolderRemovedfromList: function(event) - { - var itemId = /** @type{?string} */ (event.data); - if (!itemId) - return; - WebInspector.isolatedFileSystemManager.mapping().removeExcludedFolder(this._fileSystemPath, itemId); - }, - - /** - * @param {!WebInspector.FileSystemMapping.ExcludedFolderEntry} entry - */ - _addExcludedFolderRow: function(entry) - { - var fileSystemPath = entry.fileSystemPath; - if (!fileSystemPath || this._fileSystemPath !== fileSystemPath) - return; - var path = entry.path; - this._excludedFolderEntries.put(path, entry); - this._excludedFolderList.addItem(path, null); - }, - - /** - * @param {string} value - * @param {?string} allowedPrefix - * @return {boolean} - */ - _checkURLPrefix: function(value, allowedPrefix) - { - var prefix = this._normalizePrefix(value); - return !!prefix && (prefix === allowedPrefix || !this._entries[prefix]); - }, - - /** - * @param {string} value - * @param {?string} allowedPrefix - * @return {boolean} - */ - _checkPathPrefix: function(value, allowedPrefix) - { - var prefix = this._normalizePrefix(value); - if (!prefix) - return false; - if (prefix === allowedPrefix) - return true; - for (var urlPrefix in this._entries) { - var entry = this._entries[urlPrefix]; - if (urlPrefix && entry.pathPrefix === prefix) - return false; - } - return true; - }, - - focus: function() - { - WebInspector.setCurrentFocusElement(this.element); - }, - - _onDoneClick: function() - { - WebInspector.Dialog.hide(); - }, - - onEnter: function() - { - }, - - __proto__: WebInspector.DialogDelegate.prototype -} |