Home | History | Annotate | Download | only in tracing
      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