Home | History | Annotate | Download | only in tracing
      1 <!DOCTYPE html>
      2 <!--
      3 Copyright (c) 2014 The Chromium Authors. All rights reserved.
      4 Use of this source code is governed by a BSD-style license that can be
      5 found in the LICENSE file.
      6 -->
      7 <link rel="import" href="/ui/timeline_view.html">
      8 <script>
      9 'use strict';
     10 
     11 var g_timelineViewEl;
     12 
     13 (function() {
     14   var styleEl = document.createElement('style');
     15   var lines = [
     16     'html, body {',
     17     '  box-sizing: border-box;',
     18     '  overflow: hidden;',
     19     '  margin: 0px;',
     20     '  padding: 0;',
     21     '  width: 100%;',
     22     '  height: 100%;',
     23     '}',
     24     'tr-ui-timeline-view {',
     25     '  width: 100%;',
     26     '  height: 100%;',
     27     '}',
     28     'tr-ui-timeline-view:focus {',
     29     '  outline: none;',
     30     '}'
     31   ];
     32   styleEl.textContent = lines.join('\n');
     33   document.head.appendChild(styleEl);
     34 })();
     35 
     36 document.addEventListener('DOMContentLoaded', function() {
     37   var container = document.createElement('track-view-container');
     38   container.id = 'track_view_container';
     39 
     40   g_timelineViewEl = document.createElement('tr-ui-timeline-view');
     41   g_timelineViewEl.appendChild(container);
     42 
     43   document.body.appendChild(g_timelineViewEl);
     44 
     45   var traces = [];
     46   var viewerDataScripts = document.querySelectorAll('#viewer-data');
     47   for (var i = 0; i < viewerDataScripts.length; i++) {
     48     var text = viewerDataScripts[i].textContent;
     49     // Trim leading newlines off the text. They happen during writing.
     50     while (text[0] == '\n')
     51       text = text.substring(1);
     52     traces.push(atob(text));
     53   }
     54 
     55   var m = new tr.Model();
     56   var p = m.importTracesWithProgressDialog(traces, true);
     57   p.then(
     58       function() {
     59         g_timelineViewEl.model = m;
     60         g_timelineViewEl.updateDocumentFavicon();
     61         g_timelineViewEl.globalMode = true;
     62         g_timelineViewEl.viewTitle = document.title;
     63       },
     64       function(err) {
     65         var overlay = new tr.ui.b.Overlay();
     66         overlay.textContent = tr.b.normalizeException(err).message;
     67         overlay.title = 'Import error';
     68         overlay.visible = true;
     69       });
     70 });
     71 </script>
     72