Chromium Code Reviews| Index: third_party/WebKit/Source/devtools/front_end/bindings/FileSystemWorkspaceBinding.js |
| diff --git a/third_party/WebKit/Source/devtools/front_end/bindings/FileSystemWorkspaceBinding.js b/third_party/WebKit/Source/devtools/front_end/bindings/FileSystemWorkspaceBinding.js |
| index 9f13183667ed9807e05a740cd6c2c1adc3c6d846..e21496eb910d5059da50f7c188fa385cc379f602 100644 |
| --- a/third_party/WebKit/Source/devtools/front_end/bindings/FileSystemWorkspaceBinding.js |
| +++ b/third_party/WebKit/Source/devtools/front_end/bindings/FileSystemWorkspaceBinding.js |
| @@ -207,6 +207,8 @@ WebInspector.FileSystemWorkspaceBinding.FileSystem = function(fileSystemWorkspac |
| this.populate(); |
| } |
| +WebInspector.FileSystemWorkspaceBinding._metadata = Symbol("FileSystemWorkspaceBinding.Metadata"); |
| + |
| WebInspector.FileSystemWorkspaceBinding.FileSystem.prototype = { |
| /** |
| * @return {string} |
| @@ -228,6 +230,33 @@ WebInspector.FileSystemWorkspaceBinding.FileSystem.prototype = { |
| /** |
| * @override |
| * @param {!WebInspector.UISourceCode} uiSourceCode |
| + * @return {!Promise<?WebInspector.UISourceCodeMetadata>} |
| + */ |
| + requestMetadata: function(uiSourceCode) |
| + { |
| + if (uiSourceCode[WebInspector.FileSystemWorkspaceBinding._metadata]) |
| + return uiSourceCode[WebInspector.FileSystemWorkspaceBinding._metadata]; |
| + var relativePath = this._filePathForUISourceCode(uiSourceCode); |
| + var promise = this._fileSystem.getMetadata(relativePath) |
| + .then(onMetadata); |
|
dgozman
2016/10/14 03:35:26
nit: move to the previous line
lushnikov
2016/10/14 05:45:32
Done.
|
| + uiSourceCode[WebInspector.FileSystemWorkspaceBinding._metadata] = promise; |
| + return promise; |
| + |
| + /** |
| + * @param {?{modificationTime: !Date, size: number}} metadata |
| + * @return {?WebInspector.UISourceCodeMetadata} |
| + */ |
| + function onMetadata(metadata) |
| + { |
| + if (!metadata) |
| + return null; |
| + return new WebInspector.UISourceCodeMetadata(metadata.modificationTime, metadata.size); |
| + } |
| + }, |
| + |
| + /** |
| + * @override |
| + * @param {!WebInspector.UISourceCode} uiSourceCode |
| * @param {function(?string)} callback |
| */ |
| requestFileContent: function(uiSourceCode, callback) |
| @@ -533,6 +562,7 @@ WebInspector.FileSystemWorkspaceBinding.FileSystem.prototype = { |
| this.addUISourceCode(this.createUISourceCode(path, contentType)); |
| return; |
| } |
| + uiSourceCode[WebInspector.FileSystemWorkspaceBinding._metadata] = null; |
| uiSourceCode.checkContentUpdated(); |
| }, |