Index: third_party/WebKit/Source/devtools/front_end/timeline/TimelineModel.js |
diff --git a/third_party/WebKit/Source/devtools/front_end/timeline/TimelineModel.js b/third_party/WebKit/Source/devtools/front_end/timeline/TimelineModel.js |
index 8786a5129f146f43a6ec53c8cf0615fbb77c6cb7..21905ea09899de53128b7f43962dd247f100d1a5 100644 |
--- a/third_party/WebKit/Source/devtools/front_end/timeline/TimelineModel.js |
+++ b/third_party/WebKit/Source/devtools/front_end/timeline/TimelineModel.js |
@@ -551,7 +551,7 @@ |
*/ |
setEventsForTest: function(events) |
{ |
- this._startCollectingTraceEvents(false); |
+ this.startCollectingTraceEvents(false); |
this._tracingModel.addEvents(events); |
this.tracingComplete(); |
}, |
@@ -658,7 +658,7 @@ |
/** |
* @param {boolean} fromFile |
*/ |
- _startCollectingTraceEvents: function(fromFile) |
+ startCollectingTraceEvents: function(fromFile) |
{ |
this._tracingModel.reset(); |
this.reset(); |
@@ -670,7 +670,7 @@ |
*/ |
tracingStarted: function() |
{ |
- this._startCollectingTraceEvents(false); |
+ this.startCollectingTraceEvents(false); |
}, |
/** |
@@ -1346,33 +1346,6 @@ |
events = events.mergeOrdered(source.get(group) || [], WebInspector.TracingModel.Event.compareStartAndEndTime); |
target.set(group, events); |
} |
- }, |
- |
- /** |
- * @param {!Blob} file |
- * @param {!WebInspector.Progress} progress |
- */ |
- loadFromFile: function(file, progress) |
- { |
- var delegate = new WebInspector.TimelineModelLoadFromFileDelegate(this, progress); |
- var fileReader = this._createFileReader(file, delegate); |
- var loader = new WebInspector.TracingModelLoader(this, new WebInspector.ProgressProxy(null), fileReader.cancel.bind(fileReader)); |
- fileReader.start(loader); |
- }, |
- |
- /** |
- * @param {string} url |
- * @param {!WebInspector.Progress} progress |
- */ |
- loadFromURL: function(url, progress) |
- { |
- var stream = new WebInspector.TracingModelLoader(this, progress); |
- WebInspector.ResourceLoader.loadAsStream(url, null, stream); |
- }, |
- |
- _createFileReader: function(file, delegate) |
- { |
- return new WebInspector.ChunkedFileReader(file, WebInspector.TimelineModel.TransferChunkLengthBytes, delegate); |
}, |
reset: function() |
@@ -1627,79 +1600,6 @@ |
/** |
* @constructor |
- * @implements {WebInspector.OutputStreamDelegate} |
- * @param {!WebInspector.TimelineModel} model |
- * @param {!WebInspector.Progress} progress |
- */ |
-WebInspector.TimelineModelLoadFromFileDelegate = function(model, progress) |
-{ |
- this._model = model; |
- this._progress = progress; |
-} |
- |
-WebInspector.TimelineModelLoadFromFileDelegate.prototype = { |
- /** |
- * @override |
- */ |
- onTransferStarted: function() |
- { |
- this._progress.setTitle(WebInspector.UIString("Loading\u2026")); |
- }, |
- |
- /** |
- * @override |
- * @param {!WebInspector.ChunkedReader} reader |
- */ |
- onChunkTransferred: function(reader) |
- { |
- if (this._progress.isCanceled()) { |
- reader.cancel(); |
- this._progress.done(); |
- this._model.reset(); |
- return; |
- } |
- |
- var totalSize = reader.fileSize(); |
- if (totalSize) { |
- this._progress.setTotalWork(totalSize); |
- this._progress.setWorked(reader.loadedSize()); |
- } |
- }, |
- |
- /** |
- * @override |
- */ |
- onTransferFinished: function() |
- { |
- this._progress.done(); |
- }, |
- |
- /** |
- * @override |
- * @param {!WebInspector.ChunkedReader} reader |
- * @param {!Event} event |
- */ |
- onError: function(reader, event) |
- { |
- this._progress.done(); |
- this._model.reset(); |
- switch (event.target.error.code) { |
- case FileError.NOT_FOUND_ERR: |
- WebInspector.console.error(WebInspector.UIString("File \"%s\" not found.", reader.fileName())); |
- break; |
- case FileError.NOT_READABLE_ERR: |
- WebInspector.console.error(WebInspector.UIString("File \"%s\" is not readable", reader.fileName())); |
- break; |
- case FileError.ABORT_ERR: |
- break; |
- default: |
- WebInspector.console.error(WebInspector.UIString("An error occurred while reading the file \"%s\"", reader.fileName())); |
- } |
- } |
-} |
- |
-/** |
- * @constructor |
* @extends {WebInspector.TimelineModel.Filter} |
* @param {!Array<string>} excludeNames |
*/ |
@@ -1744,191 +1644,6 @@ |
}, |
__proto__: WebInspector.TimelineModel.Filter.prototype |
-} |
- |
-/** |
- * @constructor |
- * @implements {WebInspector.OutputStream} |
- * @param {!WebInspector.TimelineModel} model |
- * @param {!WebInspector.Progress} progress |
- * @param {function()=} canceledCallback |
- */ |
-WebInspector.TracingModelLoader = function(model, progress, canceledCallback) |
-{ |
- this._model = model; |
- |
- this._canceledCallback = canceledCallback; |
- this._progress = progress; |
- this._progress.setTitle(WebInspector.UIString("Loading")); |
- this._progress.setTotalWork(WebInspector.TracingModelLoader._totalProgress); // Unknown, will loop the values. |
- |
- this._state = WebInspector.TracingModelLoader.State.Initial; |
- this._buffer = ""; |
- this._firstChunk = true; |
- this._wasCanceledOnce = false; |
- |
- this._loadedBytes = 0; |
- this._jsonTokenizer = new WebInspector.TextUtils.BalancedJSONTokenizer(this._writeBalancedJSON.bind(this), true); |
-} |
- |
-WebInspector.TracingModelLoader._totalProgress = 100000; |
- |
-WebInspector.TracingModelLoader.State = { |
- Initial: "Initial", |
- LookingForEvents: "LookingForEvents", |
- ReadingEvents: "ReadingEvents" |
-} |
- |
-WebInspector.TracingModelLoader.prototype = { |
- /** |
- * @override |
- * @param {string} chunk |
- */ |
- write: function(chunk) |
- { |
- this._loadedBytes += chunk.length; |
- if (this._progress.isCanceled() && !this._wasCanceledOnce) { |
- this._wasCanceled = true; |
- this._reportErrorAndCancelLoading(); |
- return; |
- } |
- this._progress.setWorked(this._loadedBytes % WebInspector.TracingModelLoader._totalProgress, |
- WebInspector.UIString("Loaded %s", Number.bytesToString(this._loadedBytes))); |
- if (this._state === WebInspector.TracingModelLoader.State.Initial) { |
- if (chunk[0] === "{") |
- this._state = WebInspector.TracingModelLoader.State.LookingForEvents; |
- else if (chunk[0] === "[") |
- this._state = WebInspector.TracingModelLoader.State.ReadingEvents; |
- else { |
- this._reportErrorAndCancelLoading(WebInspector.UIString("Malformed timeline data: Unknown JSON format")); |
- return; |
- } |
- } |
- |
- if (this._state === WebInspector.TracingModelLoader.State.LookingForEvents) { |
- var objectName = "\"traceEvents\":"; |
- var startPos = this._buffer.length - objectName.length; |
- this._buffer += chunk; |
- var pos = this._buffer.indexOf(objectName, startPos); |
- if (pos === -1) |
- return; |
- chunk = this._buffer.slice(pos + objectName.length) |
- this._state = WebInspector.TracingModelLoader.State.ReadingEvents; |
- } |
- |
- this._jsonTokenizer.write(chunk); |
- }, |
- |
- /** |
- * @param {string} data |
- */ |
- _writeBalancedJSON: function(data) |
- { |
- var json = data + "]"; |
- |
- if (this._firstChunk) { |
- this._model._startCollectingTraceEvents(true); |
- } else { |
- var commaIndex = json.indexOf(","); |
- if (commaIndex !== -1) |
- json = json.slice(commaIndex + 1); |
- json = "[" + json; |
- } |
- |
- var items; |
- try { |
- items = /** @type {!Array.<!WebInspector.TracingManager.EventPayload>} */ (JSON.parse(json)); |
- } catch (e) { |
- this._reportErrorAndCancelLoading(WebInspector.UIString("Malformed timeline data: %s", e.toString())); |
- return; |
- } |
- |
- if (this._firstChunk) { |
- this._firstChunk = false; |
- if (this._looksLikeAppVersion(items[0])) { |
- this._reportErrorAndCancelLoading(WebInspector.UIString("Legacy Timeline format is not supported.")); |
- return; |
- } |
- } |
- |
- try { |
- this._model._tracingModel.addEvents(items); |
- } catch(e) { |
- this._reportErrorAndCancelLoading(WebInspector.UIString("Malformed timeline data: %s", e.toString())); |
- return; |
- } |
- }, |
- |
- /** |
- * @param {string=} message |
- */ |
- _reportErrorAndCancelLoading: function(message) |
- { |
- if (message) |
- WebInspector.console.error(message); |
- this._model.tracingComplete(); |
- this._model.reset(); |
- if (this._canceledCallback) |
- this._canceledCallback(); |
- this._progress.done(); |
- }, |
- |
- _looksLikeAppVersion: function(item) |
- { |
- return typeof item === "string" && item.indexOf("Chrome") !== -1; |
- }, |
- |
- /** |
- * @override |
- */ |
- close: function() |
- { |
- this._model._loadedFromFile = true; |
- this._model.tracingComplete(); |
- if (this._progress) |
- this._progress.done(); |
- } |
-} |
- |
-/** |
- * @constructor |
- * @param {!WebInspector.OutputStream} stream |
- * @implements {WebInspector.OutputStreamDelegate} |
- */ |
-WebInspector.TracingTimelineSaver = function(stream) |
-{ |
- this._stream = stream; |
-} |
- |
-WebInspector.TracingTimelineSaver.prototype = { |
- /** |
- * @override |
- */ |
- onTransferStarted: function() |
- { |
- this._stream.write("["); |
- }, |
- |
- /** |
- * @override |
- */ |
- onTransferFinished: function() |
- { |
- this._stream.write("]"); |
- }, |
- |
- /** |
- * @override |
- * @param {!WebInspector.ChunkedReader} reader |
- */ |
- onChunkTransferred: function(reader) { }, |
- |
- /** |
- * @override |
- * @param {!WebInspector.ChunkedReader} reader |
- * @param {!Event} event |
- */ |
- onError: function(reader, event) { } |
} |
/** |