Re-enable index-basics-workers test to see if still times
[chromium-blink-merge.git] / tools / cc-frame-viewer / src / model / layer_impl.js
blob343cec3fec6d61fe43de31c548d1a86c0f98b3eb
1 /* Copyright (c) 2012 The Chromium Authors. All rights reserved.
2  * Use of this source code is governed by a BSD-style license that can be
3  * found in the LICENSE file.
4  */
5 'use strict';
7 base.require('model.constants');
9 base.exportTo('ccfv.model', function() {
11   /**
12    * Represents a cc::LayerImpl over the course of its lifetime.
13    *
14    * @constructor
15    */
16   function LayerImplHistory(id) {
17     this.id = id;
18     this.layersBySnapshotNumber = {};
19     this.args = {};
20     this.selected = false;
21   }
23   LayerImplHistory.prototype = {
24     get title() {
25       return 'LayerImpl ' + this.id;
26     },
28     getOrCreateLayerImplForLTHI: function(lthi) {
29       if (!this.layersBySnapshotNumber[lthi.snapshotNumber])
30         this.layersBySnapshotNumber[lthi.snapshotNumber] = new LayerImpl(this);
31       return this.layersBySnapshotNumber[lthi.snapshotNumber];
32     },
34     dumpToSimpleObject: function(obj) {
35       obj.id = this.id;
36       obj.args = this.args;
37     }
38   };
40   /**
41    * Represents a cc::LayerImpl at an instant in time.
42    *
43    * @constructor
44    */
45   function LayerImpl(history) {
46     this.history = history;
47     this.args = {}
48   }
50   LayerImpl.prototype = {
51     get id() {
52       return this.history.id;
53     },
55     get title() {
56       return 'LayerImpl ' + this.id;
57     },
59     get selected() {
60       return this.history.selected;
61     },
63     set selected(s) {
64       this.history.selected = s;
65     },
67     dumpToSimpleObject: function(obj) {
68       obj.history = {};
69       obj.args = this.args;
70     },
71   };
73   return {
74     LayerImpl: LayerImpl,
75     LayerImplHistory: LayerImplHistory
76   }
77 });