diff options
Diffstat (limited to 'WebCore/inspector/front-end/Resource.js')
-rw-r--r-- | WebCore/inspector/front-end/Resource.js | 61 |
1 files changed, 54 insertions, 7 deletions
diff --git a/WebCore/inspector/front-end/Resource.js b/WebCore/inspector/front-end/Resource.js index 9da7f82..aefdd6c 100644 --- a/WebCore/inspector/front-end/Resource.js +++ b/WebCore/inspector/front-end/Resource.js @@ -625,22 +625,69 @@ WebInspector.Resource.prototype = { return this._content; }, - set content(content) + get contentTimestamp() + { + return this._contentTimestamp; + }, + + setInitialContent: function(content) { - var data = { oldContent: this._content, oldContentTimestamp: this._contentTimestamp }; this._content = content; - this._contentTimestamp = new Date(); + }, + + isLocallyModified: function() + { + return !!this._baseRevision; + }, + + setContent: function(newContent, onRevert) + { + var revisionResource = new WebInspector.Resource(null, this.url); + revisionResource.type = this.type; + revisionResource.loader = this.loader; + revisionResource.timestamp = this.timestamp; + revisionResource._content = this._content; + revisionResource._actualResource = this; + revisionResource._fireOnRevert = onRevert; + + if (this.finished) + revisionResource.finished = true; + else { + function finished() + { + this.removeEventListener("finished", finished); + revisionResource.finished = true; + } + this.addEventListener("finished", finished.bind(this)); + } + + if (!this._baseRevision) + this._baseRevision = revisionResource; + else + revisionResource._baseRevision = this._baseRevision; + + var data = { revision: revisionResource }; + this._content = newContent; + this.timestamp = new Date(); this.dispatchEventToListeners("content-changed", data); }, - get contentTimestamp() + revertToThis: function() { - return this._contentTimestamp; + if (!this._actualResource || !this._fireOnRevert) + return; + + function callback(content) + { + if (content) + this._fireOnRevert(content); + } + this.requestContent(callback.bind(this)); }, - setInitialContent: function(content) + get baseRevision() { - this._content = content; + return this._baseRevision; }, requestContent: function(callback) |