• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<!DOCTYPE HTML>
2<html>
3<!--
4Copyright (c) 2012 The Chromium Authors. All rights reserved.
5Use of this source code is governed by a BSD-style license that can be
6found in the LICENSE file.
7-->
8<head i18n-values="dir:textdirection;">
9<title>Interactive Timeline Tests</title>
10<link rel="stylesheet" href="timeline.css">
11<link rel="stylesheet" href="timeline_analysis.css">
12<link rel="stylesheet" href="timeline_view.css">
13<link rel="stylesheet" href="overlay.css">
14<script src="../shared/js/cr.js"></script>
15<script src="../shared/js/cr/event_target.js"></script>
16<script src="../shared/js/cr/ui.js"></script>
17<script src="../shared/js/util.js"></script>
18<script src="timeline_model.js"></script>
19<script src="linux_perf_importer.js"></script>
20<script src="trace_event_importer.js"></script>
21<script src="sorted_array_utils.js"></script>
22<script src="measuring_stick.js"></script>
23<script src="overlay.js"></script>
24<script src="timeline.js"></script>
25<script src="timeline_analysis.js"></script>
26<script src="timeline_view.js"></script>
27<script src="timeline_track.js"></script>
28<script src="fast_rect_renderer.js"></script>
29<script src="test_utils.js"></script>
30</head>
31<body>
32  <div class="timeline-test" src="./tests/trivial_trace.json" create-detached=1>
33  </div>
34
35  <div class="timeline-test" src="./tests/trivial_trace.json">
36  </div>
37
38  <div class="timeline-test" src="./tests/simple_trace.json">
39  </div>
40
41  <div class="timeline-test" src="./tests/instance_counters.json">
42  </div>
43
44  <div class="timeline-test" src="./tests/tall_trace.json">
45  </div>
46
47  <div class="timeline-test" src="./tests/big_trace.json">
48  </div>
49
50  <div class="timeline-test" src="./tests/huge_trace.json">
51  </div>
52
53  <div class="timeline-test" src="./tests/main_thread_has_unclosed_slices.json">
54  </div>
55
56  <div class="timeline-test" src="./tests/async_begin_end.json">
57  </div>
58
59  <script>
60  function load(parentEl) {
61    var src = parentEl.getAttribute('src');
62    if (document.location.hash && document.location.hash.substring(1) != src) {
63      parentEl.hidden = true;
64      return;
65    }
66    parentEl.hidden = false;
67    parentEl.textContent = '';
68    var titleEl = document.createElement('h3');
69    var linkEl = document.createElement('a');
70    linkEl.textContent = src;
71    linkEl.href = '#' + src;
72    titleEl.appendChild(linkEl);
73
74    var containerEl = document.createElement('div');
75    containerEl.tabIndex = 0;
76    containerEl.style.border = '1px solid red';
77
78    var timelineViewEl = document.createElement('div');
79    cr.ui.decorate(timelineViewEl, tracing.TimelineView);
80    timelineViewEl.focusElement = containerEl;
81
82    parentEl.appendChild(titleEl);
83    parentEl.appendChild(containerEl);
84
85    // Creating attached vs detached stress tests the canvas- and viewport-
86    // setup code.
87    var create_detached = parentEl.getAttribute('create-attached') == 1;
88    function createModel(data) {
89      timelineViewEl.model = new tracing.TimelineModel(data);
90      if (!create_detached)
91        containerEl.appendChild(timelineViewEl);
92    }
93    if (create_detached)
94      containerEl.appendChild(timelineViewEl);
95    test_utils.getAsync(src, createModel);
96  }
97
98  function onLoad() {
99    Array.prototype.forEach.call(document.querySelectorAll('.timeline-test'),
100                                 load);
101  }
102
103  document.addEventListener('DOMContentLoaded', onLoad);
104  window.addEventListener('hashchange', onLoad);
105  </script>
106</body>
107</html>
108