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