1<!DOCTYPE html>
2<!--
3Copyright (c) 2015 The Chromium Authors. All rights reserved.
4Use of this source code is governed by a BSD-style license that can be
5found in the LICENSE file.
6-->
7
8<link rel="stylesheet" href="/tracing/ui/extras/chrome/cc/display_item_list_view.css">
9
10<link rel="import" href="/tracing/extras/chrome/cc/display_item_list.html">
11<link rel="import" href="/tracing/ui/analysis/generic_object_view.html">
12<link rel="import" href="/tracing/ui/analysis/object_snapshot_view.html">
13<link rel="import" href="/tracing/ui/extras/chrome/cc/display_item_debugger.html">
14
15<script>
16'use strict';
17
18tr.exportTo('tr.ui.e.chrome.cc', function() {
19  /*
20   * Displays a display item snapshot in a human readable form.
21   * @constructor
22   */
23  var DisplayItemSnapshotView = tr.ui.b.define(
24      'tr-ui-e-chrome-cc-display-item-list-view',
25      tr.ui.analysis.ObjectSnapshotView);
26
27  DisplayItemSnapshotView.prototype = {
28    __proto__: tr.ui.analysis.ObjectSnapshotView.prototype,
29
30    decorate: function() {
31      this.classList.add('tr-ui-e-chrome-cc-display-item-list-view');
32      this.displayItemDebugger_ = new tr.ui.e.chrome.cc.DisplayItemDebugger();
33      this.appendChild(this.displayItemDebugger_);
34    },
35
36    updateContents: function() {
37      if (this.objectSnapshot_ && this.displayItemDebugger_)
38        this.displayItemDebugger_.displayItemList = this.objectSnapshot_;
39    }
40  };
41
42  tr.ui.analysis.ObjectSnapshotView.register(
43      DisplayItemSnapshotView,
44      {
45        typeNames: ['cc::DisplayItemList'],
46        showInstances: false
47      });
48
49  return {
50    DisplayItemSnapshotView: DisplayItemSnapshotView
51  };
52});
53</script>
54