1 <!DOCTYPE HTML> 2 <html> 3 <!-- 4 Copyright (c) 2012 The Chromium Authors. All rights reserved. 5 Use of this source code is governed by a BSD-style license that can be 6 found 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