Upstream version 9.37.197.0
[platform/framework/web/crosswalk.git] / src / third_party / trace-viewer / trace_viewer / cc / raster_task_slice_view.js
1 // Copyright (c) 2013 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';
6
7 tvcm.requireStylesheet('cc.raster_task_slice_view');
8 tvcm.require('cc.tile');
9 tvcm.require('cc.tile_view');
10 tvcm.require('cc.layer_tree_host_impl_view');
11 tvcm.require('tracing.analysis.slice_view');
12 tvcm.require('tvcm.ui.info_bar');
13
14 tvcm.exportTo('cc', function() {
15
16   /**
17    * @constructor
18    */
19   var RasterTaskSliceView = tvcm.ui.define(
20       'raster-task-slice-view', tracing.analysis.SliceView);
21
22   RasterTaskSliceView.prototype = {
23     __proto__: tracing.analysis.SliceView.prototype,
24
25     decorate: function() {
26       this.classList.add('raster-task-slice-view');
27       this.layerTreeView_ = new cc.LayerTreeHostImplSnapshotView();
28       this.infoBar_ = new tvcm.ui.InfoBar();
29       this.appendChild(this.infoBar_);
30       this.appendChild(this.layerTreeView_);
31     },
32
33     updateContents: function() {
34       this.infoBar_.visible = false;
35
36       if (!this.slice.args.data) {
37         this.infoBar_.visible = true;
38         this.infoBar_.message = 'No data on this raster task.';
39         this.layerTreeView_.style.display = 'none';
40         return;
41       }
42       var tile = this.slice.args.data.tile_id;
43       if (!tile) {
44         this.infoBar_.visible = true;
45         this.infoBar_.message = 'No tile on this raster task.';
46         this.layerTreeView_.style.display = 'none';
47         return;
48       }
49       if (!(tile instanceof cc.TileSnapshot)) {
50         this.infoBar_.visible = true;
51         this.infoBar_.message = 'This raster task didn\'t get fully traced.';
52         this.layerTreeView_.style.display = 'none';
53         return;
54       }
55       this.layerTreeView_.style.display = '';
56
57       var containingSnapshot = tile.containingSnapshot;
58       this.layerTreeView_.objectSnapshot = containingSnapshot;
59       this.layerTreeView_.selection = new cc.RasterTaskSelection(this.slice);
60     }
61   };
62
63   tracing.analysis.SliceView.register(
64       'TileManager::RunRasterTask', RasterTaskSliceView);
65   tracing.analysis.SliceView.register(
66       'RasterWorkerPoolTaskImpl::RunRasterOnThread', RasterTaskSliceView);
67   tracing.analysis.SliceView.register(
68       'RasterWorkerPoolTaskImpl::Raster', RasterTaskSliceView);
69   tracing.analysis.SliceView.register(
70       'RasterTaskImpl::Raster', RasterTaskSliceView);
71   tracing.analysis.SliceView.register(
72       'cc::RasterTask', RasterTaskSliceView);
73
74   tracing.analysis.SliceView.register(
75       'TileManager::RunAnalyzeTask', RasterTaskSliceView);
76   tracing.analysis.SliceView.register(
77       'RasterWorkerPoolTaskImpl::RunAnalysisOnThread', RasterTaskSliceView);
78   tracing.analysis.SliceView.register(
79       'RasterWorkerPoolTaskImpl::Analyze', RasterTaskSliceView);
80   tracing.analysis.SliceView.register(
81       'RasterTaskImpl::Analyze', RasterTaskSliceView);
82   tracing.analysis.SliceView.register(
83       'cc::AnalyzeTask', RasterTaskSliceView);
84
85   return {
86     RasterTaskSliceView: RasterTaskSliceView
87   };
88
89 });