1<!DOCTYPE html>
2<!--
3Copyright (c) 2013 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/picture_view.css">
9
10<link rel="import" href="/tracing/extras/chrome/cc/picture.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/picture_debugger.html">
14
15<script>
16'use strict';
17
18tr.exportTo('tr.ui.e.chrome.cc', function() {
19  /*
20   * Displays a picture snapshot in a human readable form.
21   * @constructor
22   */
23  var PictureSnapshotView = tr.ui.b.define(
24      'tr-ui-e-chrome-cc-picture-snapshot-view',
25      tr.ui.analysis.ObjectSnapshotView);
26
27  PictureSnapshotView.prototype = {
28    __proto__: tr.ui.analysis.ObjectSnapshotView.prototype,
29
30    decorate: function() {
31      this.classList.add('tr-ui-e-chrome-cc-picture-snapshot-view');
32      this.pictureDebugger_ = new tr.ui.e.chrome.cc.PictureDebugger();
33      this.appendChild(this.pictureDebugger_);
34    },
35
36    updateContents: function() {
37      if (this.objectSnapshot_ && this.pictureDebugger_)
38        this.pictureDebugger_.picture = this.objectSnapshot_;
39    }
40  };
41
42  tr.ui.analysis.ObjectSnapshotView.register(
43      PictureSnapshotView,
44      {
45        typeNames: ['cc::Picture', 'cc::LayeredPicture'],
46        showInstances: false
47      });
48
49  return {
50    PictureSnapshotView: PictureSnapshotView
51  };
52});
53</script>
54