Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(439)

Side by Side Diff: third_party/WebKit/Source/devtools/front_end/settings/EditFileSystemView.js

Issue 2493373002: DevTools: rename WebInspector into modules. (Closed)
Patch Set: for bots Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2013 Google Inc. All rights reserved. 2 * Copyright (C) 2013 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 10 matching lines...) Expand all
21 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 21 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 22 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 23 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 24 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 25 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 */ 29 */
30 /** 30 /**
31 * @implements {WebInspector.ListWidget.Delegate} 31 * @implements {UI.ListWidget.Delegate}
32 * @unrestricted 32 * @unrestricted
33 */ 33 */
34 WebInspector.EditFileSystemView = class extends WebInspector.VBox { 34 Settings.EditFileSystemView = class extends UI.VBox {
35 /** 35 /**
36 * @param {string} fileSystemPath 36 * @param {string} fileSystemPath
37 */ 37 */
38 constructor(fileSystemPath) { 38 constructor(fileSystemPath) {
39 super(true); 39 super(true);
40 this.registerRequiredCSS('settings/editFileSystemView.css'); 40 this.registerRequiredCSS('settings/editFileSystemView.css');
41 this._fileSystemPath = fileSystemPath; 41 this._fileSystemPath = fileSystemPath;
42 42
43 this._eventListeners = [ 43 this._eventListeners = [
44 WebInspector.fileSystemMapping.addEventListener( 44 Workspace.fileSystemMapping.addEventListener(
45 WebInspector.FileSystemMapping.Events.FileMappingAdded, this._update, this), 45 Workspace.FileSystemMapping.Events.FileMappingAdded, this._update, thi s),
46 WebInspector.fileSystemMapping.addEventListener( 46 Workspace.fileSystemMapping.addEventListener(
47 WebInspector.FileSystemMapping.Events.FileMappingRemoved, this._update , this), 47 Workspace.FileSystemMapping.Events.FileMappingRemoved, this._update, t his),
48 WebInspector.isolatedFileSystemManager.addEventListener( 48 Workspace.isolatedFileSystemManager.addEventListener(
49 WebInspector.IsolatedFileSystemManager.Events.ExcludedFolderAdded, thi s._update, this), 49 Workspace.IsolatedFileSystemManager.Events.ExcludedFolderAdded, this._ update, this),
50 WebInspector.isolatedFileSystemManager.addEventListener( 50 Workspace.isolatedFileSystemManager.addEventListener(
51 WebInspector.IsolatedFileSystemManager.Events.ExcludedFolderRemoved, t his._update, this) 51 Workspace.IsolatedFileSystemManager.Events.ExcludedFolderRemoved, this ._update, this)
52 ]; 52 ];
53 53
54 this._mappingsList = new WebInspector.ListWidget(this); 54 this._mappingsList = new UI.ListWidget(this);
55 this._mappingsList.element.classList.add('file-system-list'); 55 this._mappingsList.element.classList.add('file-system-list');
56 this._mappingsList.registerRequiredCSS('settings/editFileSystemView.css'); 56 this._mappingsList.registerRequiredCSS('settings/editFileSystemView.css');
57 var mappingsPlaceholder = createElementWithClass('div', 'file-system-list-em pty'); 57 var mappingsPlaceholder = createElementWithClass('div', 'file-system-list-em pty');
58 var mappingsHeader = this.contentElement.createChild('div', 'file-system-hea der'); 58 var mappingsHeader = this.contentElement.createChild('div', 'file-system-hea der');
59 mappingsHeader.createChild('div', 'file-system-header-text').textContent = W ebInspector.UIString('Mappings'); 59 mappingsHeader.createChild('div', 'file-system-header-text').textContent = C ommon.UIString('Mappings');
60 if (Runtime.experiments.isEnabled('persistence2')) { 60 if (Runtime.experiments.isEnabled('persistence2')) {
61 var div = mappingsPlaceholder.createChild('div'); 61 var div = mappingsPlaceholder.createChild('div');
62 div.createTextChild( 62 div.createTextChild(
63 WebInspector.UIString('Mappings are inferred automatically via the \'P ersistence 2.0\' experiment. Please ')); 63 Common.UIString('Mappings are inferred automatically via the \'Persist ence 2.0\' experiment. Please '));
64 div.appendChild(WebInspector.linkifyURLAsNode( 64 div.appendChild(UI.linkifyURLAsNode(
65 'https://bugs.chromium.org/p/chromium/issues/entry?template=Defect%20r eport%20from%20user&components=Platform%3EDevTools%3EAuthoring&comment=DevTools% 20failed%20to%20link%20network%20resource%20to%20filesystem.%0A%0APlatform%3A%20 %3CLinux%2FWin%2FMac%3E%0AChrome%20version%3A%20%3Cyour%20chrome%20version%3E%0A %0AWhat%20are%20the%20details%20of%20your%20project%3F%0A-%20Source%20code%20(if %20any)%3A%20http%3A%2F%2Fgithub.com%2Fexample%2Fexample%0A-%20Build%20System%3A %20gulp%2Fgrunt%2Fwebpack%2Frollup%2F...%0A-%20HTTP%20server%3A%20node%20HTTP%2F nginx%2Fapache...%0A%0AAssets%20failed%20to%20link%20(or%20incorrectly%20linked) %3A%0A1.%0A2.%0A3.%0A%0AIf%20possible%2C%20please%20attach%20a%20screenshot%20of %20network%20sources%20navigator%20which%20should%0Ashow%20which%20resources%20f ailed%20to%20map', 65 'https://bugs.chromium.org/p/chromium/issues/entry?template=Defect%20r eport%20from%20user&components=Platform%3EDevTools%3EAuthoring&comment=DevTools% 20failed%20to%20link%20network%20resource%20to%20filesystem.%0A%0APlatform%3A%20 %3CLinux%2FWin%2FMac%3E%0AChrome%20version%3A%20%3Cyour%20chrome%20version%3E%0A %0AWhat%20are%20the%20details%20of%20your%20project%3F%0A-%20Source%20code%20(if %20any)%3A%20http%3A%2F%2Fgithub.com%2Fexample%2Fexample%0A-%20Build%20System%3A %20gulp%2Fgrunt%2Fwebpack%2Frollup%2F...%0A-%20HTTP%20server%3A%20node%20HTTP%2F nginx%2Fapache...%0A%0AAssets%20failed%20to%20link%20(or%20incorrectly%20linked) %3A%0A1.%0A2.%0A3.%0A%0AIf%20possible%2C%20please%20attach%20a%20screenshot%20of %20network%20sources%20navigator%20which%20should%0Ashow%20which%20resources%20f ailed%20to%20map',
66 WebInspector.UIString('report'), undefined, true)); 66 Common.UIString('report'), undefined, true));
67 div.createTextChild(WebInspector.UIString(' any bugs.')); 67 div.createTextChild(Common.UIString(' any bugs.'));
68 } else { 68 } else {
69 mappingsPlaceholder.textContent = WebInspector.UIString('No mappings'); 69 mappingsPlaceholder.textContent = Common.UIString('No mappings');
70 mappingsHeader.appendChild( 70 mappingsHeader.appendChild(
71 createTextButton(WebInspector.UIString('Add'), this._addMappingButtonC licked.bind(this), 'add-button')); 71 createTextButton(Common.UIString('Add'), this._addMappingButtonClicked .bind(this), 'add-button'));
72 } 72 }
73 this._mappingsList.setEmptyPlaceholder(mappingsPlaceholder); 73 this._mappingsList.setEmptyPlaceholder(mappingsPlaceholder);
74 this._mappingsList.show(this.contentElement); 74 this._mappingsList.show(this.contentElement);
75 75
76 var excludedFoldersHeader = this.contentElement.createChild('div', 'file-sys tem-header'); 76 var excludedFoldersHeader = this.contentElement.createChild('div', 'file-sys tem-header');
77 excludedFoldersHeader.createChild('div', 'file-system-header-text').textCont ent = 77 excludedFoldersHeader.createChild('div', 'file-system-header-text').textCont ent =
78 WebInspector.UIString('Excluded folders'); 78 Common.UIString('Excluded folders');
79 excludedFoldersHeader.appendChild( 79 excludedFoldersHeader.appendChild(
80 createTextButton(WebInspector.UIString('Add'), this._addExcludedFolderBu ttonClicked.bind(this), 'add-button')); 80 createTextButton(Common.UIString('Add'), this._addExcludedFolderButtonCl icked.bind(this), 'add-button'));
81 this._excludedFoldersList = new WebInspector.ListWidget(this); 81 this._excludedFoldersList = new UI.ListWidget(this);
82 this._excludedFoldersList.element.classList.add('file-system-list'); 82 this._excludedFoldersList.element.classList.add('file-system-list');
83 this._excludedFoldersList.registerRequiredCSS('settings/editFileSystemView.c ss'); 83 this._excludedFoldersList.registerRequiredCSS('settings/editFileSystemView.c ss');
84 var excludedFoldersPlaceholder = createElementWithClass('div', 'file-system- list-empty'); 84 var excludedFoldersPlaceholder = createElementWithClass('div', 'file-system- list-empty');
85 excludedFoldersPlaceholder.textContent = WebInspector.UIString('No excluded folders'); 85 excludedFoldersPlaceholder.textContent = Common.UIString('No excluded folder s');
86 this._excludedFoldersList.setEmptyPlaceholder(excludedFoldersPlaceholder); 86 this._excludedFoldersList.setEmptyPlaceholder(excludedFoldersPlaceholder);
87 this._excludedFoldersList.show(this.contentElement); 87 this._excludedFoldersList.show(this.contentElement);
88 88
89 this.contentElement.tabIndex = 0; 89 this.contentElement.tabIndex = 0;
90 this._update(); 90 this._update();
91 } 91 }
92 92
93 dispose() { 93 dispose() {
94 WebInspector.EventTarget.removeEventListeners(this._eventListeners); 94 Common.EventTarget.removeEventListeners(this._eventListeners);
95 } 95 }
96 96
97 _update() { 97 _update() {
98 if (this._muteUpdate) 98 if (this._muteUpdate)
99 return; 99 return;
100 100
101 this._mappingsList.clear(); 101 this._mappingsList.clear();
102 this._mappings = []; 102 this._mappings = [];
103 if (Runtime.experiments.isEnabled('persistence2')) 103 if (Runtime.experiments.isEnabled('persistence2'))
104 return; 104 return;
105 var mappings = WebInspector.fileSystemMapping.mappingEntries(this._fileSyste mPath); 105 var mappings = Workspace.fileSystemMapping.mappingEntries(this._fileSystemPa th);
106 for (var entry of mappings) { 106 for (var entry of mappings) {
107 if (entry.configurable) { 107 if (entry.configurable) {
108 this._mappingsList.appendItem(entry, true); 108 this._mappingsList.appendItem(entry, true);
109 this._mappings.push(entry); 109 this._mappings.push(entry);
110 } 110 }
111 } 111 }
112 for (var entry of mappings) { 112 for (var entry of mappings) {
113 if (!entry.configurable) { 113 if (!entry.configurable) {
114 this._mappingsList.appendItem(entry, false); 114 this._mappingsList.appendItem(entry, false);
115 this._mappings.push(entry); 115 this._mappings.push(entry);
116 } 116 }
117 } 117 }
118 118
119 this._excludedFoldersList.clear(); 119 this._excludedFoldersList.clear();
120 this._excludedFolders = []; 120 this._excludedFolders = [];
121 for (var folder of WebInspector.isolatedFileSystemManager.fileSystem(this._f ileSystemPath) 121 for (var folder of Workspace.isolatedFileSystemManager.fileSystem(this._file SystemPath)
122 .excludedFolders() 122 .excludedFolders()
123 .values()) { 123 .values()) {
124 this._excludedFolders.push(folder); 124 this._excludedFolders.push(folder);
125 this._excludedFoldersList.appendItem(folder, true); 125 this._excludedFoldersList.appendItem(folder, true);
126 } 126 }
127 for (var folder of WebInspector.isolatedFileSystemManager.fileSystem(this._f ileSystemPath) 127 for (var folder of Workspace.isolatedFileSystemManager.fileSystem(this._file SystemPath)
128 .nonConfigurableExcludedFolders() 128 .nonConfigurableExcludedFolders()
129 .values()) { 129 .values()) {
130 this._excludedFolders.push(folder); 130 this._excludedFolders.push(folder);
131 this._excludedFoldersList.appendItem(folder, false); 131 this._excludedFoldersList.appendItem(folder, false);
132 } 132 }
133 } 133 }
134 134
135 _addMappingButtonClicked() { 135 _addMappingButtonClicked() {
136 var entry = new WebInspector.FileSystemMapping.Entry(this._fileSystemPath, ' ', '', true); 136 var entry = new Workspace.FileSystemMapping.Entry(this._fileSystemPath, '', '', true);
137 this._mappingsList.addNewItem(0, entry); 137 this._mappingsList.addNewItem(0, entry);
138 } 138 }
139 139
140 _addExcludedFolderButtonClicked() { 140 _addExcludedFolderButtonClicked() {
141 this._excludedFoldersList.addNewItem(0, ''); 141 this._excludedFoldersList.addNewItem(0, '');
142 } 142 }
143 143
144 /** 144 /**
145 * @override 145 * @override
146 * @param {*} item 146 * @param {*} item
147 * @param {boolean} editable 147 * @param {boolean} editable
148 * @return {!Element} 148 * @return {!Element}
149 */ 149 */
150 renderItem(item, editable) { 150 renderItem(item, editable) {
151 var element = createElementWithClass('div', 'file-system-list-item'); 151 var element = createElementWithClass('div', 'file-system-list-item');
152 if (!editable) 152 if (!editable)
153 element.classList.add('locked'); 153 element.classList.add('locked');
154 if (item instanceof WebInspector.FileSystemMapping.Entry) { 154 if (item instanceof Workspace.FileSystemMapping.Entry) {
155 var entry = /** @type {!WebInspector.FileSystemMapping.Entry} */ (item); 155 var entry = /** @type {!Workspace.FileSystemMapping.Entry} */ (item);
156 var urlPrefix = 156 var urlPrefix =
157 entry.configurable ? entry.urlPrefix : WebInspector.UIString('%s (via .devtools)', entry.urlPrefix); 157 entry.configurable ? entry.urlPrefix : Common.UIString('%s (via .devto ols)', entry.urlPrefix);
158 var urlPrefixElement = element.createChild('div', 'file-system-value'); 158 var urlPrefixElement = element.createChild('div', 'file-system-value');
159 urlPrefixElement.textContent = urlPrefix; 159 urlPrefixElement.textContent = urlPrefix;
160 urlPrefixElement.title = urlPrefix; 160 urlPrefixElement.title = urlPrefix;
161 element.createChild('div', 'file-system-separator'); 161 element.createChild('div', 'file-system-separator');
162 var pathPrefixElement = element.createChild('div', 'file-system-value'); 162 var pathPrefixElement = element.createChild('div', 'file-system-value');
163 pathPrefixElement.textContent = entry.pathPrefix; 163 pathPrefixElement.textContent = entry.pathPrefix;
164 pathPrefixElement.title = entry.pathPrefix; 164 pathPrefixElement.title = entry.pathPrefix;
165 } else { 165 } else {
166 var pathPrefix = /** @type {string} */ (editable ? item : WebInspector.UIS tring('%s (via .devtools)', item)); 166 var pathPrefix = /** @type {string} */ (editable ? item : Common.UIString( '%s (via .devtools)', item));
167 var pathPrefixElement = element.createChild('div', 'file-system-value'); 167 var pathPrefixElement = element.createChild('div', 'file-system-value');
168 pathPrefixElement.textContent = pathPrefix; 168 pathPrefixElement.textContent = pathPrefix;
169 pathPrefixElement.title = pathPrefix; 169 pathPrefixElement.title = pathPrefix;
170 } 170 }
171 element.createChild('div', 'file-system-locked').title = WebInspector.UIStri ng('From .devtools file'); 171 element.createChild('div', 'file-system-locked').title = Common.UIString('Fr om .devtools file');
172 return element; 172 return element;
173 } 173 }
174 174
175 /** 175 /**
176 * @override 176 * @override
177 * @param {*} item 177 * @param {*} item
178 * @param {number} index 178 * @param {number} index
179 */ 179 */
180 removeItemRequested(item, index) { 180 removeItemRequested(item, index) {
181 if (item instanceof WebInspector.FileSystemMapping.Entry) { 181 if (item instanceof Workspace.FileSystemMapping.Entry) {
182 var entry = this._mappings[index]; 182 var entry = this._mappings[index];
183 WebInspector.fileSystemMapping.removeFileMapping(entry.fileSystemPath, ent ry.urlPrefix, entry.pathPrefix); 183 Workspace.fileSystemMapping.removeFileMapping(entry.fileSystemPath, entry. urlPrefix, entry.pathPrefix);
184 } else { 184 } else {
185 WebInspector.isolatedFileSystemManager.fileSystem(this._fileSystemPath) 185 Workspace.isolatedFileSystemManager.fileSystem(this._fileSystemPath)
186 .removeExcludedFolder(this._excludedFolders[index]); 186 .removeExcludedFolder(this._excludedFolders[index]);
187 } 187 }
188 } 188 }
189 189
190 /** 190 /**
191 * @override 191 * @override
192 * @param {*} item 192 * @param {*} item
193 * @param {!WebInspector.ListWidget.Editor} editor 193 * @param {!UI.ListWidget.Editor} editor
194 * @param {boolean} isNew 194 * @param {boolean} isNew
195 */ 195 */
196 commitEdit(item, editor, isNew) { 196 commitEdit(item, editor, isNew) {
197 this._muteUpdate = true; 197 this._muteUpdate = true;
198 if (item instanceof WebInspector.FileSystemMapping.Entry) { 198 if (item instanceof Workspace.FileSystemMapping.Entry) {
199 var entry = /** @type {!WebInspector.FileSystemMapping.Entry} */ (item); 199 var entry = /** @type {!Workspace.FileSystemMapping.Entry} */ (item);
200 if (!isNew) 200 if (!isNew)
201 WebInspector.fileSystemMapping.removeFileMapping(this._fileSystemPath, e ntry.urlPrefix, entry.pathPrefix); 201 Workspace.fileSystemMapping.removeFileMapping(this._fileSystemPath, entr y.urlPrefix, entry.pathPrefix);
202 WebInspector.fileSystemMapping.addFileMapping( 202 Workspace.fileSystemMapping.addFileMapping(
203 this._fileSystemPath, this._normalizePrefix(editor.control('urlPrefix' ).value), 203 this._fileSystemPath, this._normalizePrefix(editor.control('urlPrefix' ).value),
204 this._normalizePrefix(editor.control('pathPrefix').value)); 204 this._normalizePrefix(editor.control('pathPrefix').value));
205 } else { 205 } else {
206 if (!isNew) 206 if (!isNew)
207 WebInspector.isolatedFileSystemManager.fileSystem(this._fileSystemPath) 207 Workspace.isolatedFileSystemManager.fileSystem(this._fileSystemPath)
208 .removeExcludedFolder(/** @type {string} */ (item)); 208 .removeExcludedFolder(/** @type {string} */ (item));
209 WebInspector.isolatedFileSystemManager.fileSystem(this._fileSystemPath) 209 Workspace.isolatedFileSystemManager.fileSystem(this._fileSystemPath)
210 .addExcludedFolder(this._normalizePrefix(editor.control('pathPrefix'). value)); 210 .addExcludedFolder(this._normalizePrefix(editor.control('pathPrefix'). value));
211 } 211 }
212 this._muteUpdate = false; 212 this._muteUpdate = false;
213 this._update(); 213 this._update();
214 } 214 }
215 215
216 /** 216 /**
217 * @override 217 * @override
218 * @param {*} item 218 * @param {*} item
219 * @return {!WebInspector.ListWidget.Editor} 219 * @return {!UI.ListWidget.Editor}
220 */ 220 */
221 beginEdit(item) { 221 beginEdit(item) {
222 if (item instanceof WebInspector.FileSystemMapping.Entry) { 222 if (item instanceof Workspace.FileSystemMapping.Entry) {
223 var entry = /** @type {!WebInspector.FileSystemMapping.Entry} */ (item); 223 var entry = /** @type {!Workspace.FileSystemMapping.Entry} */ (item);
224 var editor = this._createMappingEditor(); 224 var editor = this._createMappingEditor();
225 editor.control('urlPrefix').value = entry.urlPrefix; 225 editor.control('urlPrefix').value = entry.urlPrefix;
226 editor.control('pathPrefix').value = entry.pathPrefix; 226 editor.control('pathPrefix').value = entry.pathPrefix;
227 return editor; 227 return editor;
228 } else { 228 } else {
229 var editor = this._createExcludedFolderEditor(); 229 var editor = this._createExcludedFolderEditor();
230 editor.control('pathPrefix').value = item; 230 editor.control('pathPrefix').value = item;
231 return editor; 231 return editor;
232 } 232 }
233 } 233 }
234 234
235 /** 235 /**
236 * @return {!WebInspector.ListWidget.Editor} 236 * @return {!UI.ListWidget.Editor}
237 */ 237 */
238 _createMappingEditor() { 238 _createMappingEditor() {
239 if (this._mappingEditor) 239 if (this._mappingEditor)
240 return this._mappingEditor; 240 return this._mappingEditor;
241 241
242 var editor = new WebInspector.ListWidget.Editor(); 242 var editor = new UI.ListWidget.Editor();
243 this._mappingEditor = editor; 243 this._mappingEditor = editor;
244 var content = editor.contentElement(); 244 var content = editor.contentElement();
245 245
246 var titles = content.createChild('div', 'file-system-edit-row'); 246 var titles = content.createChild('div', 'file-system-edit-row');
247 titles.createChild('div', 'file-system-value').textContent = WebInspector.UI String('URL prefix'); 247 titles.createChild('div', 'file-system-value').textContent = Common.UIString ('URL prefix');
248 titles.createChild('div', 'file-system-separator file-system-separator-invis ible'); 248 titles.createChild('div', 'file-system-separator file-system-separator-invis ible');
249 titles.createChild('div', 'file-system-value').textContent = WebInspector.UI String('Folder path'); 249 titles.createChild('div', 'file-system-value').textContent = Common.UIString ('Folder path');
250 250
251 var fields = content.createChild('div', 'file-system-edit-row'); 251 var fields = content.createChild('div', 'file-system-edit-row');
252 fields.createChild('div', 'file-system-value') 252 fields.createChild('div', 'file-system-value')
253 .appendChild( 253 .appendChild(
254 editor.createInput('urlPrefix', 'text', 'http://localhost:8000/url', urlPrefixValidator.bind(this))); 254 editor.createInput('urlPrefix', 'text', 'http://localhost:8000/url', urlPrefixValidator.bind(this)));
255 fields.createChild('div', 'file-system-separator file-system-separator-invis ible'); 255 fields.createChild('div', 'file-system-separator file-system-separator-invis ible');
256 fields.createChild('div', 'file-system-value') 256 fields.createChild('div', 'file-system-value')
257 .appendChild(editor.createInput('pathPrefix', 'text', '/path/to/folder/' , pathPrefixValidator.bind(this))); 257 .appendChild(editor.createInput('pathPrefix', 'text', '/path/to/folder/' , pathPrefixValidator.bind(this)));
258 258
259 return editor; 259 return editor;
260 260
261 /** 261 /**
262 * @param {*} item 262 * @param {*} item
263 * @param {number} index 263 * @param {number} index
264 * @param {!HTMLInputElement|!HTMLSelectElement} input 264 * @param {!HTMLInputElement|!HTMLSelectElement} input
265 * @return {boolean} 265 * @return {boolean}
266 * @this {WebInspector.EditFileSystemView} 266 * @this {Settings.EditFileSystemView}
267 */ 267 */
268 function urlPrefixValidator(item, index, input) { 268 function urlPrefixValidator(item, index, input) {
269 var prefix = this._normalizePrefix(input.value); 269 var prefix = this._normalizePrefix(input.value);
270 for (var i = 0; i < this._mappings.length; ++i) { 270 for (var i = 0; i < this._mappings.length; ++i) {
271 if (i !== index && this._mappings[i].configurable && this._mappings[i].u rlPrefix === prefix) 271 if (i !== index && this._mappings[i].configurable && this._mappings[i].u rlPrefix === prefix)
272 return false; 272 return false;
273 } 273 }
274 return !!prefix; 274 return !!prefix;
275 } 275 }
276 276
277 /** 277 /**
278 * @param {*} item 278 * @param {*} item
279 * @param {number} index 279 * @param {number} index
280 * @param {!HTMLInputElement|!HTMLSelectElement} input 280 * @param {!HTMLInputElement|!HTMLSelectElement} input
281 * @return {boolean} 281 * @return {boolean}
282 * @this {WebInspector.EditFileSystemView} 282 * @this {Settings.EditFileSystemView}
283 */ 283 */
284 function pathPrefixValidator(item, index, input) { 284 function pathPrefixValidator(item, index, input) {
285 var prefix = this._normalizePrefix(input.value); 285 var prefix = this._normalizePrefix(input.value);
286 for (var i = 0; i < this._mappings.length; ++i) { 286 for (var i = 0; i < this._mappings.length; ++i) {
287 if (i !== index && this._mappings[i].configurable && this._mappings[i].p athPrefix === prefix) 287 if (i !== index && this._mappings[i].configurable && this._mappings[i].p athPrefix === prefix)
288 return false; 288 return false;
289 } 289 }
290 return !!prefix; 290 return !!prefix;
291 } 291 }
292 } 292 }
293 293
294 /** 294 /**
295 * @return {!WebInspector.ListWidget.Editor} 295 * @return {!UI.ListWidget.Editor}
296 */ 296 */
297 _createExcludedFolderEditor() { 297 _createExcludedFolderEditor() {
298 if (this._excludedFolderEditor) 298 if (this._excludedFolderEditor)
299 return this._excludedFolderEditor; 299 return this._excludedFolderEditor;
300 300
301 var editor = new WebInspector.ListWidget.Editor(); 301 var editor = new UI.ListWidget.Editor();
302 this._excludedFolderEditor = editor; 302 this._excludedFolderEditor = editor;
303 var content = editor.contentElement(); 303 var content = editor.contentElement();
304 304
305 var titles = content.createChild('div', 'file-system-edit-row'); 305 var titles = content.createChild('div', 'file-system-edit-row');
306 titles.createChild('div', 'file-system-value').textContent = WebInspector.UI String('Folder path'); 306 titles.createChild('div', 'file-system-value').textContent = Common.UIString ('Folder path');
307 307
308 var fields = content.createChild('div', 'file-system-edit-row'); 308 var fields = content.createChild('div', 'file-system-edit-row');
309 fields.createChild('div', 'file-system-value') 309 fields.createChild('div', 'file-system-value')
310 .appendChild(editor.createInput('pathPrefix', 'text', '/path/to/folder/' , pathPrefixValidator.bind(this))); 310 .appendChild(editor.createInput('pathPrefix', 'text', '/path/to/folder/' , pathPrefixValidator.bind(this)));
311 311
312 return editor; 312 return editor;
313 313
314 /** 314 /**
315 * @param {*} item 315 * @param {*} item
316 * @param {number} index 316 * @param {number} index
317 * @param {!HTMLInputElement|!HTMLSelectElement} input 317 * @param {!HTMLInputElement|!HTMLSelectElement} input
318 * @return {boolean} 318 * @return {boolean}
319 * @this {WebInspector.EditFileSystemView} 319 * @this {Settings.EditFileSystemView}
320 */ 320 */
321 function pathPrefixValidator(item, index, input) { 321 function pathPrefixValidator(item, index, input) {
322 var prefix = this._normalizePrefix(input.value); 322 var prefix = this._normalizePrefix(input.value);
323 var configurableCount = 323 var configurableCount =
324 WebInspector.isolatedFileSystemManager.fileSystem(this._fileSystemPath ).excludedFolders().size; 324 Workspace.isolatedFileSystemManager.fileSystem(this._fileSystemPath).e xcludedFolders().size;
325 for (var i = 0; i < configurableCount; ++i) { 325 for (var i = 0; i < configurableCount; ++i) {
326 if (i !== index && this._excludedFolders[i] === prefix) 326 if (i !== index && this._excludedFolders[i] === prefix)
327 return false; 327 return false;
328 } 328 }
329 return !!prefix; 329 return !!prefix;
330 } 330 }
331 } 331 }
332 332
333 /** 333 /**
334 * @param {string} prefix 334 * @param {string} prefix
335 * @return {string} 335 * @return {string}
336 */ 336 */
337 _normalizePrefix(prefix) { 337 _normalizePrefix(prefix) {
338 if (!prefix) 338 if (!prefix)
339 return ''; 339 return '';
340 return prefix + (prefix[prefix.length - 1] === '/' ? '' : '/'); 340 return prefix + (prefix[prefix.length - 1] === '/' ? '' : '/');
341 } 341 }
342 }; 342 };
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698