summaryrefslogtreecommitdiffstats
path: root/chromium/third_party/trace-viewer/src/tracing/trace_model/object_instance.js
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/trace-viewer/src/tracing/trace_model/object_instance.js')
-rw-r--r--chromium/third_party/trace-viewer/src/tracing/trace_model/object_instance.js176
1 files changed, 0 insertions, 176 deletions
diff --git a/chromium/third_party/trace-viewer/src/tracing/trace_model/object_instance.js b/chromium/third_party/trace-viewer/src/tracing/trace_model/object_instance.js
deleted file mode 100644
index 5844e03b62e..00000000000
--- a/chromium/third_party/trace-viewer/src/tracing/trace_model/object_instance.js
+++ /dev/null
@@ -1,176 +0,0 @@
-// Copyright (c) 2013 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-'use strict';
-
-/**
- * @fileoverview Provides the ObjectSnapshot and ObjectHistory classes.
- */
-base.require('base.range');
-base.require('base.sorted_array_utils');
-base.require('tracing.trace_model.event');
-base.require('tracing.trace_model.object_snapshot');
-
-base.exportTo('tracing.trace_model', function() {
- var ObjectSnapshot = tracing.trace_model.ObjectSnapshot;
-
- /**
- * An object with a specific id, whose state has been snapshotted several
- * times.
- *
- * @constructor
- */
- function ObjectInstance(parent, id, category, name, creationTs) {
- tracing.trace_model.Event.call(this);
- this.parent = parent;
- this.id = id;
- this.category = category;
- this.name = name;
- this.creationTs = creationTs;
- this.creationTsWasExplicit = false;
- this.deletionTs = Number.MAX_VALUE;
- this.deletionTsWasExplicit = false;
- this.colorId = 0;
- this.bounds = new base.Range();
- this.snapshots = [];
- this.hasImplicitSnapshots = false;
- }
-
- ObjectInstance.prototype = {
- __proto__: tracing.trace_model.Event.prototype,
-
- get typeName() {
- return this.name;
- },
-
- addBoundsToRange: function(range) {
- range.addRange(this.bounds);
- },
-
- addSnapshot: function(ts, args) {
- if (ts < this.creationTs)
- throw new Error('Snapshots must be >= instance.creationTs');
- if (ts >= this.deletionTs)
- throw new Error('Snapshots cannot be added after ' +
- 'an objects deletion timestamp.');
-
- var lastSnapshot;
- if (this.snapshots.length > 0) {
- lastSnapshot = this.snapshots[this.snapshots.length - 1];
- if (lastSnapshot.ts == ts)
- throw new Error('Snapshots already exists at this time!');
- if (ts < lastSnapshot.ts) {
- throw new Error(
- 'Snapshots must be added in increasing timestamp order');
- }
- }
-
- var snapshotConstructor =
- tracing.trace_model.ObjectSnapshot.getConstructor(this.name);
- var snapshot = new snapshotConstructor(this, ts, args);
- this.snapshots.push(snapshot);
- return snapshot;
- },
-
- wasDeleted: function(ts) {
- var lastSnapshot;
- if (this.snapshots.length > 0) {
- lastSnapshot = this.snapshots[this.snapshots.length - 1];
- if (lastSnapshot.ts > ts)
- throw new Error(
- 'Instance cannot be deleted at ts=' +
- ts + '. A snapshot exists that is older.');
- }
- this.deletionTs = ts;
- this.deletionTsWasExplicit = true;
- },
-
- /**
- * See ObjectSnapshot constructor notes on object initialization.
- */
- preInitialize: function() {
- for (var i = 0; i < this.snapshots.length; i++)
- this.snapshots[i].preInitialize();
- },
-
- /**
- * See ObjectSnapshot constructor notes on object initialization.
- */
- initialize: function() {
- for (var i = 0; i < this.snapshots.length; i++)
- this.snapshots[i].initialize();
- },
-
- getSnapshotAt: function(ts) {
- if (ts < this.creationTs) {
- if (this.creationTsWasExplicit)
- throw new Error('ts must be within lifetime of this instance');
- return this.snapshots[0];
- }
- if (ts > this.deletionTs)
- throw new Error('ts must be within lifetime of this instance');
-
- var snapshots = this.snapshots;
- var i = base.findLowIndexInSortedIntervals(
- snapshots,
- function(snapshot) { return snapshot.ts; },
- function(snapshot, i) {
- if (i == snapshots.length - 1)
- return snapshots[i].objectInstance.deletionTs;
- return snapshots[i + 1].ts - snapshots[i].ts;
- },
- ts);
- if (i < 0) {
- // Note, this is a little bit sketchy: this lets early ts point at the
- // first snapshot, even before it is taken. We do this because raster
- // tasks usually post before their tile snapshots are dumped. This may
- // be a good line of code to re-visit if we start seeing strange and
- // confusing object references showing up in the traces.
- return this.snapshots[0];
- }
- if (i >= this.snapshots.length)
- return this.snapshots[this.snapshots.length - 1];
- return this.snapshots[i];
- },
-
- updateBounds: function() {
- this.bounds.reset();
- this.bounds.addValue(this.creationTs);
- if (this.deletionTs != Number.MAX_VALUE)
- this.bounds.addValue(this.deletionTs);
- else if (this.snapshots.length > 0)
- this.bounds.addValue(this.snapshots[this.snapshots.length - 1].ts);
- },
-
- shiftTimestampsForward: function(amount) {
- this.creationTs += amount;
- if (this.deletionTs != Number.MAX_VALUE)
- this.deletionTs += amount;
- this.snapshots.forEach(function(snapshot) {
- snapshot.ts += amount;
- });
- }
- };
-
- ObjectInstance.nameToConstructorMap_ = {};
- ObjectInstance.register = function(name, constructor) {
- if (ObjectInstance.nameToConstructorMap_[name])
- throw new Error('Constructor already registerd for ' + name);
- ObjectInstance.nameToConstructorMap_[name] = constructor;
- };
-
- ObjectInstance.unregister = function(name) {
- delete ObjectInstance.nameToConstructorMap_[name];
- };
-
- ObjectInstance.getConstructor = function(name) {
- if (ObjectInstance.nameToConstructorMap_[name])
- return ObjectInstance.nameToConstructorMap_[name];
- return ObjectInstance;
- };
-
- return {
- ObjectInstance: ObjectInstance
- };
-});