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

Unified Diff: third_party/WebKit/Source/devtools/front_end/bindings/FileSystemWorkspaceBinding.js

Issue 2417083002: DevTools: introduce WI.UISourceCode.requestMetadata() (Closed)
Patch Set: nits Created 4 years, 2 months 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 side-by-side diff with in-line comments
Download patch
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();
},

Powered by Google App Engine
This is Rietveld 408576698