summaryrefslogtreecommitdiffstats
path: root/chromium/third_party/catapult/tracing/tracing/trace2html.html
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/catapult/tracing/tracing/trace2html.html')
-rw-r--r--chromium/third_party/catapult/tracing/tracing/trace2html.html76
1 files changed, 76 insertions, 0 deletions
diff --git a/chromium/third_party/catapult/tracing/tracing/trace2html.html b/chromium/third_party/catapult/tracing/tracing/trace2html.html
new file mode 100644
index 00000000000..640f042bc3d
--- /dev/null
+++ b/chromium/third_party/catapult/tracing/tracing/trace2html.html
@@ -0,0 +1,76 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2014 The Chromium Authors. All rights reserved.
+Use of this source code is governed by a BSD-style license that can be
+found in the LICENSE file.
+-->
+<link rel="import" href="/tracing/base/base64.html">
+<link rel="import" href="/tracing/ui/base/base.html">
+<link rel="import" href="/tracing/ui/timeline_view.html">
+<script>
+'use strict';
+
+let g_timelineViewEl;
+
+(function() {
+ const styleEl = document.createElement('style');
+ const lines = [
+ 'html, body {',
+ ' box-sizing: border-box;',
+ ' overflow: hidden;',
+ ' margin: 0px;',
+ ' padding: 0;',
+ ' width: 100%;',
+ ' height: 100%;',
+ '}',
+ 'tr-ui-timeline-view {',
+ ' width: 100%;',
+ ' height: 100%;',
+ '}',
+ 'tr-ui-timeline-view:focus {',
+ ' outline: none;',
+ '}'
+ ];
+ Polymer.dom(styleEl).textContent = lines.join('\n');
+ Polymer.dom(document.head).appendChild(styleEl);
+})();
+
+document.addEventListener('DOMContentLoaded', function() {
+ const container = document.createElement('track-view-container');
+ container.id = 'track_view_container';
+
+ g_timelineViewEl = document.createElement('tr-ui-timeline-view');
+ Polymer.dom(g_timelineViewEl).appendChild(container);
+
+ Polymer.dom(document.body).appendChild(g_timelineViewEl);
+
+ const traces = [];
+ const viewerDataScripts = Polymer.dom(document).querySelectorAll(
+ '#viewer-data');
+ for (let i = 0; i < viewerDataScripts.length; i++) {
+ let text = Polymer.dom(viewerDataScripts[i]).textContent;
+ // Trim leading newlines off the text. They happen during writing.
+ while (text[0] === '\n') {
+ text = text.substring(1);
+ }
+ traces.push(tr.b.Base64.atob(text));
+ }
+
+ const m = new tr.Model();
+ const i = new tr.importer.Import(m);
+ const p = i.importTracesWithProgressDialog(traces);
+ p.then(
+ function() {
+ g_timelineViewEl.model = m;
+ g_timelineViewEl.updateDocumentFavicon();
+ g_timelineViewEl.globalMode = true;
+ g_timelineViewEl.viewTitle = document.title;
+ },
+ function(err) {
+ const overlay = new tr.ui.b.Overlay();
+ Polymer.dom(overlay).textContent = tr.b.normalizeException(err).message;
+ overlay.title = 'Import error';
+ overlay.visible = true;
+ });
+});
+</script>