<!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. --> <head> <script> function onTraceViewerImportFail() { document.addEventListener('DOMContentLoaded', function() { document.body.textContent = 'tracing/bin/trace_viewer_full.html is missing. ' + 'Run vulcanize_trace_viewer from $TRACE_VIEWER and reload.'; }); } </script> <link rel="import" href="trace_viewer_full.html" onerror="onTraceViewerImportFail(event)"> <style> html, body { box-sizing: border-box; overflow: hidden; margin: 0px; padding: 0; width: 100%; height: 100%; } #trace-viewer { width: 100%; height: 100%; } #trace-viewer:focus { outline: none; } </style> <script> (function() { var viewer; var url; var model; function load() { var req = new XMLHttpRequest(); var is_binary = /[.]gz$/.test(url) || /[.]zip$/.test(url); req.overrideMimeType('text/plain; charset=x-user-defined'); req.open('GET', url, true); if (is_binary) req.responseType = 'arraybuffer'; req.onreadystatechange = function(event) { if (req.readyState !== 4) return; window.setTimeout(function() { if (req.status === 200) onResult(is_binary ? req.response : req.responseText); else onResultFail(req.status); }, 0); }; req.send(null); } function onResultFail(err) { var overlay = new tr.ui.b.Overlay(); overlay.textContent = err + ': ' + url + ' could not be loaded'; overlay.title = 'Failed to fetch data'; overlay.visible = true; } function onResult(result) { model = new tr.Model(); var p = model.importTracesWithProgressDialog([result], true); p.then(onModelLoaded, onImportFail); } function onModelLoaded() { viewer.model = model; viewer.viewTitle = url; } function onImportFail() { var overlay = new tr.ui.b.Overlay(); overlay.textContent = tr.b.normalizeException(err).message; overlay.title = 'Import error'; overlay.visible = true; } document.addEventListener('DOMContentLoaded', function() { var container = document.createElement('track-view-container'); container.id = 'track_view_container'; viewer = document.createElement('tr-ui-timeline-view'); viewer.track_view_container = container; viewer.appendChild(container); viewer.id = 'trace-viewer'; viewer.globalMode = true; document.body.appendChild(viewer); url = '../test_data/big_trace.json'; load(); }); }()); </script> </head> <body> </body> </html>