| OLD | NEW |
| 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 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 102 var parentPath = uiSourceCode.parentURL().replace(/^(?:https?|file)\:\/\//,
''); | 102 var parentPath = uiSourceCode.parentURL().replace(/^(?:https?|file)\:\/\//,
''); |
| 103 try { | 103 try { |
| 104 parentPath = decodeURI(parentPath); | 104 parentPath = decodeURI(parentPath); |
| 105 } catch (e) { | 105 } catch (e) { |
| 106 } | 106 } |
| 107 return parentPath + '/' + uiSourceCode.displayName(true); | 107 return parentPath + '/' + uiSourceCode.displayName(true); |
| 108 } | 108 } |
| 109 | 109 |
| 110 /** | 110 /** |
| 111 * @override | 111 * @override |
| 112 * @param {!Workspace.UISourceCode} uiSourceCode |
| 113 * @return {string} |
| 114 */ |
| 115 mimeType(uiSourceCode) { |
| 116 return /** @type {string} */ (uiSourceCode[Bindings.ContentProviderBasedProj
ect._mimeType]); |
| 117 } |
| 118 |
| 119 /** |
| 120 * @override |
| 112 * @return {boolean} | 121 * @return {boolean} |
| 113 */ | 122 */ |
| 114 canRename() { | 123 canRename() { |
| 115 return false; | 124 return false; |
| 116 } | 125 } |
| 117 | 126 |
| 118 /** | 127 /** |
| 119 * @override | 128 * @override |
| 120 * @param {!Workspace.UISourceCode} uiSourceCode | 129 * @param {!Workspace.UISourceCode} uiSourceCode |
| 121 * @param {string} newName | 130 * @param {string} newName |
| (...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 274 * @param {!Common.Progress} progress | 283 * @param {!Common.Progress} progress |
| 275 */ | 284 */ |
| 276 indexContent(progress) { | 285 indexContent(progress) { |
| 277 setImmediate(progress.done.bind(progress)); | 286 setImmediate(progress.done.bind(progress)); |
| 278 } | 287 } |
| 279 | 288 |
| 280 /** | 289 /** |
| 281 * @param {!Workspace.UISourceCode} uiSourceCode | 290 * @param {!Workspace.UISourceCode} uiSourceCode |
| 282 * @param {!Common.ContentProvider} contentProvider | 291 * @param {!Common.ContentProvider} contentProvider |
| 283 * @param {?Workspace.UISourceCodeMetadata} metadata | 292 * @param {?Workspace.UISourceCodeMetadata} metadata |
| 293 * @param {string} mimeType |
| 284 */ | 294 */ |
| 285 addUISourceCodeWithProvider(uiSourceCode, contentProvider, metadata) { | 295 addUISourceCodeWithProvider(uiSourceCode, contentProvider, metadata, mimeType)
{ |
| 296 uiSourceCode[Bindings.ContentProviderBasedProject._mimeType] = mimeType; |
| 286 this._contentProviders[uiSourceCode.url()] = contentProvider; | 297 this._contentProviders[uiSourceCode.url()] = contentProvider; |
| 287 uiSourceCode[Bindings.ContentProviderBasedProject._metadata] = metadata; | 298 uiSourceCode[Bindings.ContentProviderBasedProject._metadata] = metadata; |
| 288 this.addUISourceCode(uiSourceCode, true); | 299 this.addUISourceCode(uiSourceCode, true); |
| 289 } | 300 } |
| 290 | 301 |
| 291 /** | 302 /** |
| 292 * @param {string} url | 303 * @param {string} url |
| 293 * @param {!Common.ContentProvider} contentProvider | 304 * @param {!Common.ContentProvider} contentProvider |
| 305 * @param {string} mimeType |
| 294 * @return {!Workspace.UISourceCode} | 306 * @return {!Workspace.UISourceCode} |
| 295 */ | 307 */ |
| 296 addContentProvider(url, contentProvider) { | 308 addContentProvider(url, contentProvider, mimeType) { |
| 297 var uiSourceCode = this.createUISourceCode(url, contentProvider.contentType(
)); | 309 var uiSourceCode = this.createUISourceCode(url, contentProvider.contentType(
)); |
| 298 this.addUISourceCodeWithProvider(uiSourceCode, contentProvider, null); | 310 this.addUISourceCodeWithProvider(uiSourceCode, contentProvider, null, mimeTy
pe); |
| 299 return uiSourceCode; | 311 return uiSourceCode; |
| 300 } | 312 } |
| 301 | 313 |
| 302 /** | 314 /** |
| 303 * @param {string} path | 315 * @param {string} path |
| 304 */ | 316 */ |
| 305 removeFile(path) { | 317 removeFile(path) { |
| 306 delete this._contentProviders[path]; | 318 delete this._contentProviders[path]; |
| 307 this.removeUISourceCode(path); | 319 this.removeUISourceCode(path); |
| 308 } | 320 } |
| 309 | 321 |
| 310 reset() { | 322 reset() { |
| 311 this._contentProviders = {}; | 323 this._contentProviders = {}; |
| 312 this.removeProject(); | 324 this.removeProject(); |
| 313 this.workspace().addProject(this); | 325 this.workspace().addProject(this); |
| 314 } | 326 } |
| 315 | 327 |
| 316 dispose() { | 328 dispose() { |
| 317 this._contentProviders = {}; | 329 this._contentProviders = {}; |
| 318 this.removeProject(); | 330 this.removeProject(); |
| 319 } | 331 } |
| 320 }; | 332 }; |
| 321 | 333 |
| 322 Bindings.ContentProviderBasedProject._metadata = Symbol('ContentProviderBasedPro
ject.Metadata'); | 334 Bindings.ContentProviderBasedProject._metadata = Symbol('ContentProviderBasedPro
ject.Metadata'); |
| 335 Bindings.ContentProviderBasedProject._mimeType = Symbol('Bindings.ContentProvide
rBasedProject._mimeType'); |
| OLD | NEW |