Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / third_party / trace-viewer / trace_viewer / cc / raster_task_slice_view.html
1 <!DOCTYPE html>
2 <!--
3 Copyright (c) 2013 The Chromium Authors. All rights reserved.
4 Use of this source code is governed by a BSD-style license that can be
5 found in the LICENSE file.
6 -->
7
8 <link rel="stylesheet" href="/cc/raster_task_slice_view.css">
9
10 <link rel="import" href="/cc/tile.html">
11 <link rel="import" href="/cc/tile_view.html">
12 <link rel="import" href="/cc/layer_tree_host_impl_view.html">
13 <link rel="import" href="/tracing/analysis/slice_view.html">
14 <link rel="import" href="/tvcm/ui/info_bar.html">
15
16 <script>
17 'use strict';
18
19 tvcm.exportTo('cc', function() {
20   function getTileFromRasterTaskSlice(slice) {
21     var tileData;
22     if (slice.args.data)
23       tileData = slice.args.data;
24     else
25       tileData = slice.args.tileData;
26     if (tileData === undefined)
27       return undefined;
28
29     if (tileData.tile_id)
30       return tileData.tile_id;
31     return tileData.tileId;
32   }
33
34   /**
35    * @constructor
36    */
37   var RasterTaskSliceView = tvcm.ui.define(
38       'raster-task-slice-view', tracing.analysis.SliceView);
39
40   RasterTaskSliceView.prototype = {
41     __proto__: tracing.analysis.SliceView.prototype,
42
43     decorate: function() {
44       this.classList.add('raster-task-slice-view');
45       this.layerTreeView_ = new cc.LayerTreeHostImplSnapshotView();
46       this.infoBar_ = new tvcm.ui.InfoBar();
47       this.appendChild(this.infoBar_);
48       this.appendChild(this.layerTreeView_);
49     },
50
51     updateContents: function() {
52       this.infoBar_.visible = false;
53
54       debugger;
55       var tile = getTileFromRasterTaskSlice(this.slice);
56       if (!tile) {
57         this.infoBar_.visible = true;
58         this.infoBar_.message = 'No tile on this raster task.';
59         this.layerTreeView_.style.display = 'none';
60         return;
61       }
62       if (!(tile instanceof cc.TileSnapshot)) {
63         this.infoBar_.visible = true;
64         this.infoBar_.message = 'This raster task didn\'t get fully traced.';
65         this.layerTreeView_.style.display = 'none';
66         return;
67       }
68       this.layerTreeView_.style.display = '';
69
70       var containingSnapshot = tile.containingSnapshot;
71       this.layerTreeView_.objectSnapshot = containingSnapshot;
72       this.layerTreeView_.selection = new cc.RasterTaskSelection(this.slice);
73     }
74   };
75
76   tracing.analysis.SliceView.register(
77       'TileManager::RunRasterTask', RasterTaskSliceView);
78   tracing.analysis.SliceView.register(
79       'RasterWorkerPoolTaskImpl::RunRasterOnThread', RasterTaskSliceView);
80   tracing.analysis.SliceView.register(
81       'RasterWorkerPoolTaskImpl::Raster', RasterTaskSliceView);
82   tracing.analysis.SliceView.register(
83       'RasterTaskImpl::Raster', RasterTaskSliceView);
84   tracing.analysis.SliceView.register(
85       'cc::RasterTask', RasterTaskSliceView);
86   tracing.analysis.SliceView.register(
87       'RasterTask', RasterTaskSliceView);
88
89   tracing.analysis.SliceView.register(
90       'TileManager::RunAnalyzeTask', RasterTaskSliceView);
91   tracing.analysis.SliceView.register(
92       'RasterWorkerPoolTaskImpl::RunAnalysisOnThread', RasterTaskSliceView);
93   tracing.analysis.SliceView.register(
94       'RasterWorkerPoolTaskImpl::Analyze', RasterTaskSliceView);
95   tracing.analysis.SliceView.register(
96       'RasterTaskImpl::Analyze', RasterTaskSliceView);
97   tracing.analysis.SliceView.register(
98       'cc::AnalyzeTask', RasterTaskSliceView);
99   tracing.analysis.SliceView.register(
100       'AnalyzeTask', RasterTaskSliceView);
101
102   return {
103     getTileFromRasterTaskSlice: getTileFromRasterTaskSlice,
104     RasterTaskSliceView: RasterTaskSliceView
105   };
106 });
107 </script>