<!DOCTYPE HTML>
<html>
<!--
Copyright (c) 2010 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 i18n-values="dir:textdirection;">
<link rel="stylesheet" href="webui.css">
<style>
* {
box-sizing: border-box;
}
html, body, #main-tabs {
height: 100%;
}
body {
cursor: default;
font-family: sans-serif;
padding: 0;
margin: 0;
}
#debug-div {
display: -webkit-box;
position: fixed;
top: 0px;
left: 50%;
border: 1px solid red;
}
</style>
<link rel="stylesheet" href="gpu_internals/info_view.css">
<link rel="stylesheet" href="gpu_internals/overlay.css">
<link rel="stylesheet" href="gpu_internals/profiling_view.css">
<link rel="stylesheet" href="gpu_internals/tab_control.css">
<link rel="stylesheet" href="gpu_internals/timeline_view.css">
<link rel="stylesheet" href="gpu_internals/timeline.css">
<link rel="stylesheet" href="gpu_internals/tracing_controller.css">
<script src="chrome://resources/js/cr.js"></script>
<script src="chrome://resources/js/cr/event_target.js"></script>
<script src="chrome://resources/js/cr/ui.js"></script>
<script src="chrome://resources/js/util.js"></script>
<script src="gpu_internals/tab_control.js"></script>
<script src="gpu_internals/overlay.js"></script>
<script src="gpu_internals/browser_bridge.js"></script>
<script src="gpu_internals/tracing_controller.js"></script>
<script src="gpu_internals/info_view.js"></script>
<script src="gpu_internals/timeline_model.js"></script>
<script src="gpu_internals/sorted_array_utils.js"></script>
<script src="gpu_internals/timeline.js"></script>
<script src="gpu_internals/timeline_track.js"></script>
<script src="gpu_internals/fast_rect_renderer.js"></script>
<script src="gpu_internals/profiling_view.js"></script>
<script src="gpu_internals/timeline_view.js"></script>
<script>
var browserBridge;
var tracingController;
var timelineView; // made global for debugging purposes only
var profilingView; // made global for debugging purposes only
/**
* Main entry point. called once the page has loaded.
*/
function onLoad() {
browserBridge = new gpu.BrowserBridge();
tracingController = new gpu.TracingController();
// Create the views.
cr.ui.decorate('#info-view', gpu.InfoView);
profilingView = $('profiling-view');
cr.ui.decorate(profilingView, gpu.ProfilingView);
// Create the main tab control
var tabs = $('main-tabs');
cr.ui.decorate(tabs, gpu.TabControl);
// Sync the main-tabs selectedTabs in-sync with the location.
tabs.addEventListener('selectedTabChange', function() {
if (tabs.selectedTab.id) {
history.pushState('', '', '#' + tabs.selectedTab.id);
}
});
window.onhashchange = function() {
var cur = window.location.hash;
if (cur == '#' || cur == '') {
if (tabs.tabs.length)
tabs.selectedTab = tabs.tabs[0];
} else {
var tab = $(window.location.hash.substr(1));
if (tab)
tabs.selectedTab = tab;
}
};
window.onhashchange();
}
document.addEventListener('DOMContentLoaded', onLoad);
</script>
</head>
<body>
<div id="debug-div">
</div>
<!-- Tabs -->
<div id="main-tabs">
<include src="gpu_internals/info_view.html">
<div id="profiling-view" label="Profiling"></div>
</div>
</body>
</html>