This CL adds drag handlers to the timeline panel to filter events based on the selected portion of the timeline tracks. Bug: v8:10644 Change-Id: Ic8a38493eacb62844b3fed5a027f8b1367f2bb59 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2346275 Commit-Queue: Zeynep Cankara <zcankara@google.com> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#69669}
125 lines
2.4 KiB
HTML
125 lines
2.4 KiB
HTML
<!-- Copyright 2020 the V8 project 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>
|
|
<link href="./index.css" rel="stylesheet">
|
|
</head>
|
|
<style>
|
|
#timeline {
|
|
position: relative;
|
|
height: 300px;
|
|
overflow-y: hidden;
|
|
overflow-x: scroll;
|
|
user-select: none;
|
|
background-color: var(--timeline-background-color);
|
|
}
|
|
|
|
#timelineLabel {
|
|
transform: rotate(90deg);
|
|
transform-origin: left bottom 0;
|
|
position: absolute;
|
|
left: 0;
|
|
width: 250px;
|
|
text-align: center;
|
|
font-size: 10px;
|
|
opacity: 0.5;
|
|
}
|
|
|
|
#timelineChunks {
|
|
height: 250px;
|
|
position: absolute;
|
|
margin-right: 100px;
|
|
}
|
|
|
|
#timelineCanvas {
|
|
height: 250px;
|
|
position: relative;
|
|
overflow: visible;
|
|
pointer-events: none;
|
|
}
|
|
|
|
.chunk {
|
|
width: 6px;
|
|
border: 0px var(--timeline-background-color) solid;
|
|
border-width: 0 2px 0 2px;
|
|
position: absolute;
|
|
background-size: 100% 100%;
|
|
image-rendering: pixelated;
|
|
bottom: 0px;
|
|
}
|
|
|
|
.timestamp {
|
|
height: 250px;
|
|
width: 100px;
|
|
border-left: 1px var(--surface-color) dashed;
|
|
padding-left: 4px;
|
|
position: absolute;
|
|
pointer-events: none;
|
|
font-size: 10px;
|
|
opacity: 0.5;
|
|
}
|
|
|
|
#legend {
|
|
position: relative;
|
|
float: right;
|
|
text-align: center;
|
|
width: 100%;
|
|
max-width: 280px;
|
|
padding-left: 20px;
|
|
padding-top: 10px;
|
|
}
|
|
|
|
th,
|
|
td {
|
|
width: 200px;
|
|
text-align: center;
|
|
padding: 5px;
|
|
}
|
|
|
|
.timeline {
|
|
background-color: var(--timeline-background-color);
|
|
}
|
|
|
|
#timeline .rightHandle,
|
|
#timeline .leftHandle {
|
|
background-color: rgba(200, 200, 200, 0.5);
|
|
height: 100%;
|
|
width: 5px;
|
|
position: absolute;
|
|
z-index: 3;
|
|
cursor: col-resize;
|
|
}
|
|
|
|
#timeline .selection {
|
|
background-color: rgba(133, 68, 163, 0.5);
|
|
height: 100%;
|
|
position: absolute;
|
|
z-index: 2;
|
|
}
|
|
</style>
|
|
<div class="timeline">
|
|
<div id="legend">
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<td>Color</td>
|
|
<td>Type</td>
|
|
<td>Count</td>
|
|
<td>Percent</td>
|
|
</tr>
|
|
</thead>
|
|
<tbody id="legendContent">
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div id="timeline">
|
|
<div class="leftHandle"></div>
|
|
<div class="selection"></div>
|
|
<div class="rightHandle"></div>
|
|
<div id="timelineLabel">Frequency</div>
|
|
<div id="timelineChunks"></div>
|
|
<canvas id="timelineCanvas"></canvas>
|
|
</div>
|
|
</div>
|