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

Unified Diff: third_party/WebKit/Source/devtools/front_end/workspace/UISourceCode.js

Issue 2588503002: DevTools: Cache the original content on UISourceCode (Closed)
Patch Set: Created 4 years 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/workspace/UISourceCode.js
diff --git a/third_party/WebKit/Source/devtools/front_end/workspace/UISourceCode.js b/third_party/WebKit/Source/devtools/front_end/workspace/UISourceCode.js
index 0979e6e0b301302803df054450025f58d676a19e..76aedc8c4e49b386b8f243f53209c42f59cd33c4 100644
--- a/third_party/WebKit/Source/devtools/front_end/workspace/UISourceCode.js
+++ b/third_party/WebKit/Source/devtools/front_end/workspace/UISourceCode.js
@@ -68,6 +68,12 @@ Workspace.UISourceCode = class extends Common.Object {
/** @type {!Array<!Workspace.UISourceCode.Message>} */
this._messages = [];
+
+ this._contentLoaded = false;
+ /** @type {?string} */
+ this._originalContent = null;
+ /** @type {?string} */
+ this._content = null;
}
/**
@@ -273,10 +279,9 @@ Workspace.UISourceCode = class extends Common.Object {
* @return {!Promise<?string>}
*/
requestOriginalContent() {
- var callback;
- var promise = new Promise(fulfill => callback = fulfill);
- this._project.requestFileContent(this, callback);
- return promise;
+ if (this._contentLoaded)
+ return Promise.resolve(this._originalContent);
+ return this.requestContent();
}
/**
@@ -298,8 +303,7 @@ Workspace.UISourceCode = class extends Common.Object {
*/
_contentCommitted(content, committedByUser) {
delete this._lastAcceptedContent;
- this._content = content;
- this._contentLoaded = true;
+ this._setContent(content);
lushnikov 2016/12/17 00:10:51 why do you want to link original content to the co
einbinder 2016/12/20 00:56:55 Yep. Done.
var lastRevision = this.history.length ? this.history[this.history.length - 1] : null;
if (!lastRevision || lastRevision._content !== this._content) {
@@ -389,7 +393,7 @@ Workspace.UISourceCode = class extends Common.Object {
}
if (this.isDirty())
return this._workingCopy;
- return this._content;
+ return this._content || '';
einbinder 2016/12/16 23:43:00 This could have returned null before.
}
resetWorkingCopy() {
@@ -485,8 +489,7 @@ Workspace.UISourceCode = class extends Common.Object {
* @param {?string} content
*/
_fireContentAvailable(content) {
- this._contentLoaded = true;
- this._content = content;
+ this._setContent(content);
var callback = this._requestContentCallback;
this._requestContentCallback = null;
@@ -496,6 +499,16 @@ Workspace.UISourceCode = class extends Common.Object {
}
/**
+ * @param {?string} content
+ */
+ _setContent(content) {
+ if (!this._contentLoaded)
+ this._originalContent = content;
+ this._contentLoaded = true;
+ this._content = content;
+ }
+
+ /**
* @return {boolean}
*/
contentLoaded() {

Powered by Google App Engine
This is Rietveld 408576698