1c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles)/* 2c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) * Copyright (C) 2013 Google Inc. All rights reserved. 3c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) * 4c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) * Redistribution and use in source and binary forms, with or without 5c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) * modification, are permitted provided that the following conditions are 6c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) * met: 7c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) * 8c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) * * Redistributions of source code must retain the above copyright 9c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) * notice, this list of conditions and the following disclaimer. 10c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) * * Redistributions in binary form must reproduce the above 11c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) * copyright notice, this list of conditions and the following disclaimer 12c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) * in the documentation and/or other materials provided with the 13c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) * distribution. 14c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) * * Neither the name of Google Inc. nor the names of its 15c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) * contributors may be used to endorse or promote products derived from 16c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) * this software without specific prior written permission. 17c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) * 18c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) */ 30c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) 31c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles)/** 32c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) * @constructor 33c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) * @extends {WebInspector.DialogDelegate} 34c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) * @param {string} fileSystemPath 35c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) */ 36c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles)WebInspector.EditFileSystemDialog = function(fileSystemPath) 37c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles){ 38c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) WebInspector.DialogDelegate.call(this); 39c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) this._fileSystemPath = fileSystemPath; 40c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) 41c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) this.element = document.createElement("div"); 42c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) this.element.className = "edit-file-system-dialog"; 43c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) 44c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) var header = this.element.createChild("div", "header"); 45c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) var headerText = header.createChild("span"); 46c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) headerText.textContent = "Edit file system"; 47c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) 48c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) var closeButton = header.createChild("div", "close-button-gray done-button"); 49c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) closeButton.addEventListener("click", this._onDoneClick.bind(this), false); 50c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) 51c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) var contents = this.element.createChild("div", "contents"); 52c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) 53c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) WebInspector.isolatedFileSystemManager.mapping().addEventListener(WebInspector.FileSystemMapping.Events.FileMappingAdded, this._fileMappingAdded, this); 54c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) WebInspector.isolatedFileSystemManager.mapping().addEventListener(WebInspector.FileSystemMapping.Events.FileMappingRemoved, this._fileMappingRemoved, this); 55c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) WebInspector.isolatedFileSystemManager.mapping().addEventListener(WebInspector.FileSystemMapping.Events.ExcludedFolderAdded, this._excludedFolderAdded, this); 56c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) WebInspector.isolatedFileSystemManager.mapping().addEventListener(WebInspector.FileSystemMapping.Events.ExcludedFolderRemoved, this._excludedFolderRemoved, this); 57c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) 58c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) var blockHeader = contents.createChild("div", "block-header"); 59c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) blockHeader.textContent = "Mappings"; 60c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) this._fileMappingsSection = contents.createChild("div", "file-mappings-section"); 61c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) this._fileMappingsListContainer = this._fileMappingsSection.createChild("div", "settings-list-container"); 62c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) var entries = WebInspector.isolatedFileSystemManager.mapping().mappingEntries(this._fileSystemPath); 63c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) 64c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) this._fileMappingsList = new WebInspector.EditableSettingsList(["url", "path"], this._fileMappingValuesProvider.bind(this), this._fileMappingValidate.bind(this), this._fileMappingEdit.bind(this)); 65c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) this._fileMappingsList.addEventListener(WebInspector.SettingsList.Events.Removed, this._fileMappingRemovedfromList.bind(this)); 66c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) 67a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) this._fileMappingsList.element.classList.add("file-mappings-list"); 68c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) this._fileMappingsListContainer.appendChild(this._fileMappingsList.element); 69c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) 70c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) this._entries = {}; 71c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) for (var i = 0; i < entries.length; ++i) 72c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) this._addMappingRow(entries[i]); 73c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) 74c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) blockHeader = contents.createChild("div", "block-header"); 75c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) blockHeader.textContent = "Excluded folders"; 76c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) this._excludedFolderListSection = contents.createChild("div", "excluded-folders-section"); 77c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) this._excludedFolderListContainer = this._excludedFolderListSection.createChild("div", "settings-list-container"); 78c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) var excludedFolderEntries = WebInspector.isolatedFileSystemManager.mapping().excludedFolders(fileSystemPath); 79c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) 80c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) this._excludedFolderList = new WebInspector.EditableSettingsList(["path"], this._excludedFolderValueProvider.bind(this), this._excludedFolderValidate.bind(this), this._excludedFolderEdit.bind(this)); 81c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) this._excludedFolderList.addEventListener(WebInspector.SettingsList.Events.Removed, this._excludedFolderRemovedfromList.bind(this)); 82a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) this._excludedFolderList.element.classList.add("excluded-folders-list"); 83c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) this._excludedFolderListContainer.appendChild(this._excludedFolderList.element); 84c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) this._excludedFolderEntries = new StringMap(); 85c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) for (var i = 0; i < excludedFolderEntries.length; ++i) 86c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) this._addExcludedFolderRow(excludedFolderEntries[i]); 87c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) 88c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) this.element.tabIndex = 0; 89c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles)} 90c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) 91c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles)WebInspector.EditFileSystemDialog.show = function(element, fileSystemPath) 92c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles){ 93c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) WebInspector.Dialog.show(element, new WebInspector.EditFileSystemDialog(fileSystemPath)); 94c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) var glassPane = document.getElementById("glass-pane"); 95a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) glassPane.classList.add("settings-glass-pane"); 96c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles)} 97c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) 98c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles)WebInspector.EditFileSystemDialog.prototype = { 99c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) /** 100a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) * @param {!Element} element 101c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) */ 102c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) show: function(element) 103c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) { 104c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) element.appendChild(this.element); 105a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) this.element.classList.add("dialog-contents"); 106a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) element.classList.add("settings-dialog"); 107a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) element.classList.add("settings-tab"); 108c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) this._dialogElement = element; 109c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) }, 110c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) 111c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) _resize: function() 112c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) { 113c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) if (!this._dialogElement) 114c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) return; 115c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) 116c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) const width = 540; 117c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) const minHeight = 150; 118c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) var maxHeight = document.body.offsetHeight - 10; 119c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) maxHeight = Math.max(minHeight, maxHeight); 120c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) this._dialogElement.style.maxHeight = maxHeight + "px"; 121c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) this._dialogElement.style.width = width + "px"; 122c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) }, 123c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) 124c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) /** 125a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) * @param {!Element} element 126a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) * @param {!Element} relativeToElement 127c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) */ 128c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) position: function(element, relativeToElement) 129c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) { 130c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) this._resize(); 131c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) }, 132c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) 133c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) willHide: function(event) 134c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) { 135c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) }, 136c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) 137c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) _fileMappingAdded: function(event) 138c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) { 139a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) var entry = /** @type {!WebInspector.FileSystemMapping.Entry} */ (event.data); 140c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) this._addMappingRow(entry); 141c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) }, 142c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) 143c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) _fileMappingRemoved: function(event) 144c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) { 145a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) var entry = /** @type {!WebInspector.FileSystemMapping.Entry} */ (event.data); 146c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) if (this._fileSystemPath !== entry.fileSystemPath) 147c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) return; 148c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) delete this._entries[entry.urlPrefix]; 149c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) if (this._fileMappingsList.itemForId(entry.urlPrefix)) 150c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) this._fileMappingsList.removeItem(entry.urlPrefix); 151c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) this._resize(); 152c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) }, 153c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) 154c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) _fileMappingValuesProvider: function(itemId, columnId) 155c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) { 156c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) if (!itemId) 157c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) return ""; 158c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) var entry = this._entries[itemId]; 159c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) switch (columnId) { 160c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) case "url": 161c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) return entry.urlPrefix; 162c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) case "path": 163c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) return entry.pathPrefix; 164c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) default: 165c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) console.assert("Should not be reached."); 166c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) } 167c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) return ""; 168c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) }, 169c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) 170c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) /** 171c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) * @param {?string} itemId 172a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) * @param {!Object} data 173c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) */ 174c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) _fileMappingValidate: function(itemId, data) 175c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) { 176c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) var oldPathPrefix = itemId ? this._entries[itemId].pathPrefix : null; 177c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) return this._validateMapping(data["url"], itemId, data["path"], oldPathPrefix); 178c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) }, 179c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) 180c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) /** 181c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) * @param {?string} itemId 182a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) * @param {!Object} data 183c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) */ 184c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) _fileMappingEdit: function(itemId, data) 185c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) { 186c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) if (itemId) { 187c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) var urlPrefix = itemId; 188c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) var pathPrefix = this._entries[itemId].pathPrefix; 189c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) var fileSystemPath = this._entries[itemId].fileSystemPath; 190c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) WebInspector.isolatedFileSystemManager.mapping().removeFileMapping(fileSystemPath, urlPrefix, pathPrefix); 191c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) } 192c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) this._addFileMapping(data["url"], data["path"]); 193c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) }, 194c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) 195c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) /** 196c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) * @param {string} urlPrefix 197c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) * @param {?string} allowedURLPrefix 198c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) * @param {string} path 199c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) * @param {?string} allowedPathPrefix 200c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) */ 201c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) _validateMapping: function(urlPrefix, allowedURLPrefix, path, allowedPathPrefix) 202c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) { 203c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) var columns = []; 204c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) if (!this._checkURLPrefix(urlPrefix, allowedURLPrefix)) 205c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) columns.push("url"); 206c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) if (!this._checkPathPrefix(path, allowedPathPrefix)) 207c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) columns.push("path"); 208c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) return columns; 209c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) }, 210c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) 211c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) /** 212a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) * @param {!WebInspector.Event} event 213c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) */ 214c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) _fileMappingRemovedfromList: function(event) 215c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) { 216c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) var urlPrefix = /** @type{?string} */ (event.data); 217c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) if (!urlPrefix) 218c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) return; 219c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) 220c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) var entry = this._entries[urlPrefix]; 221c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) WebInspector.isolatedFileSystemManager.mapping().removeFileMapping(entry.fileSystemPath, entry.urlPrefix, entry.pathPrefix); 222c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) }, 223c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) 224c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) /** 225c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) * @param {string} urlPrefix 226c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) * @param {string} pathPrefix 227c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) * @return {boolean} 228c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) */ 229c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) _addFileMapping: function(urlPrefix, pathPrefix) 230c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) { 231c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) var normalizedURLPrefix = this._normalizePrefix(urlPrefix); 232c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) var normalizedPathPrefix = this._normalizePrefix(pathPrefix); 233c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) WebInspector.isolatedFileSystemManager.mapping().addFileMapping(this._fileSystemPath, normalizedURLPrefix, normalizedPathPrefix); 234c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) this._fileMappingsList.selectItem(normalizedURLPrefix); 235c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) return true; 236c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) }, 237c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) 238c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) /** 239c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) * @param {string} prefix 240c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) * @return {string} 241c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) */ 242c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) _normalizePrefix: function(prefix) 243c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) { 244c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) if (!prefix) 245c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) return ""; 246c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) return prefix + (prefix[prefix.length - 1] === "/" ? "" : "/"); 247c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) }, 248c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) 249c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) _addMappingRow: function(entry) 250c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) { 251c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) var fileSystemPath = entry.fileSystemPath; 252c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) var urlPrefix = entry.urlPrefix; 253c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) if (!this._fileSystemPath || this._fileSystemPath !== fileSystemPath) 254c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) return; 255c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) 256c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) this._entries[urlPrefix] = entry; 257c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) var fileMappingListItem = this._fileMappingsList.addItem(urlPrefix, null); 258c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) this._resize(); 259c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) }, 260c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) 261c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) _excludedFolderAdded: function(event) 262c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) { 263a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) var entry = /** @type {!WebInspector.FileSystemMapping.ExcludedFolderEntry} */ (event.data); 264c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) this._addExcludedFolderRow(entry); 265c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) }, 266c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) 267c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) _excludedFolderRemoved: function(event) 268c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) { 269a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) var entry = /** @type {!WebInspector.FileSystemMapping.ExcludedFolderEntry} */ (event.data); 270c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) var fileSystemPath = entry.fileSystemPath; 271c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) if (!fileSystemPath || this._fileSystemPath !== fileSystemPath) 272c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) return; 273c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) delete this._excludedFolderEntries[entry.path]; 274c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) if (this._excludedFolderList.itemForId(entry.path)) 275c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) this._excludedFolderList.removeItem(entry.path); 276c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) }, 277c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) 278c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) _excludedFolderValueProvider: function(itemId, columnId) 279c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) { 280c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) return itemId; 281c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) }, 282c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) 283c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) /** 284c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) * @param {?string} itemId 285a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) * @param {!Object} data 286c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) */ 287c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) _excludedFolderValidate: function(itemId, data) 288c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) { 289c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) var fileSystemPath = this._fileSystemPath; 290c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) var columns = []; 291c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) if (!this._validateExcludedFolder(data["path"], itemId)) 292c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) columns.push("path"); 293c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) return columns; 294c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) }, 295c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) 296c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) /** 297c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) * @param {string} path 298c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) * @param {?string} allowedPath 299c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) * @return {boolean} 300c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) */ 301c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) _validateExcludedFolder: function(path, allowedPath) 302c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) { 303c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) return !!path && (path === allowedPath || !this._excludedFolderEntries.contains(path)); 304c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) }, 305c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) 306c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) /** 307c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) * @param {?string} itemId 308a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) * @param {!Object} data 309c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) */ 310c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) _excludedFolderEdit: function(itemId, data) 311c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) { 312c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) var fileSystemPath = this._fileSystemPath; 313c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) if (itemId) 314c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) WebInspector.isolatedFileSystemManager.mapping().removeExcludedFolder(fileSystemPath, itemId); 315c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) var excludedFolderPath = data["path"]; 316c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) WebInspector.isolatedFileSystemManager.mapping().addExcludedFolder(fileSystemPath, excludedFolderPath); 317c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) }, 318c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) 319c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) /** 320a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) * @param {!WebInspector.Event} event 321c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) */ 322c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) _excludedFolderRemovedfromList: function(event) 323c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) { 324c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) var itemId = /** @type{?string} */ (event.data); 325c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) if (!itemId) 326c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) return; 327c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) WebInspector.isolatedFileSystemManager.mapping().removeExcludedFolder(this._fileSystemPath, itemId); 328c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) }, 329c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) 330c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) /** 331a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) * @param {!WebInspector.FileSystemMapping.ExcludedFolderEntry} entry 332c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) */ 333c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) _addExcludedFolderRow: function(entry) 334c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) { 335c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) var fileSystemPath = entry.fileSystemPath; 336c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) if (!fileSystemPath || this._fileSystemPath !== fileSystemPath) 337c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) return; 338c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) var path = entry.path; 339c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) this._excludedFolderEntries.put(path, entry); 340c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) this._excludedFolderList.addItem(path, null); 341c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) }, 342c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) 343c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) /** 344c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) * @param {string} value 345c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) * @param {?string} allowedPrefix 346c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) * @return {boolean} 347c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) */ 348c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) _checkURLPrefix: function(value, allowedPrefix) 349c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) { 350c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) var prefix = this._normalizePrefix(value); 351c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) return !!prefix && (prefix === allowedPrefix || !this._entries[prefix]); 352c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) }, 353c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) 354c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) /** 355c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) * @param {string} value 356c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) * @param {?string} allowedPrefix 357c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) * @return {boolean} 358c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) */ 359c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) _checkPathPrefix: function(value, allowedPrefix) 360c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) { 361c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) var prefix = this._normalizePrefix(value); 362c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) if (!prefix) 363c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) return false; 364c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) if (prefix === allowedPrefix) 365c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) return true; 366c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) for (var urlPrefix in this._entries) { 367c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) var entry = this._entries[urlPrefix]; 368c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) if (urlPrefix && entry.pathPrefix === prefix) 369c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) return false; 370c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) } 371c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) return true; 372c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) }, 373c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) 374c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) focus: function() 375c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) { 376c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) WebInspector.setCurrentFocusElement(this.element); 377c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) }, 378c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) 379c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) _onDoneClick: function() 380c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) { 381c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) WebInspector.Dialog.hide(); 382c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) }, 383c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) 384c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) onEnter: function() 385c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) { 386c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) }, 387c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) 388c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles) __proto__: WebInspector.DialogDelegate.prototype 389c0e19a689c8ac22cdc96b291a8d33a5d3b0b34a4Torne (Richard Coles)} 390