2 * Copyright (C) 2006, 2007, 2008 Apple Inc. All rights reserved.
3 * Copyright (C) 2009 Anthony Ricaud <rik@webkit.org>
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
9 * 1. Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer.
11 * 2. Redistributions in binary form must reproduce the above copyright
12 * notice, this list of conditions and the following disclaimer in the
13 * documentation and/or other materials provided with the distribution.
14 * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of
15 * its contributors may be used to endorse or promote products derived
16 * from this software without specific prior written permission.
18 * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
19 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
20 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
21 * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
22 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
23 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
24 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
25 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
27 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30 #timeline-overview-panel {
33 border-bottom: 1px solid rgb(140, 140, 140);
36 #timeline-overview-panel .timeline-graph-bar {
40 .timeline-records-title, .timeline-records-list {
41 background-color: #eee;
44 .timeline-records-title {
45 padding: 3px 3px 3px 5px;
47 color: rgb(92, 110, 129); text-shadow: rgba(255, 255, 255, 0.75) 0 1px 0;
50 .timeline-records-list {
54 #timeline-overview-grid {
55 background-color: rgb(255, 255, 255);
58 .timeline-overview-frames-mode #timeline-overview-grid {
62 #timeline-overview-grid .resources-dividers-label-bar {
66 .timeline-overview-frames-mode .overview-grid-window,
67 .timeline-overview-frames-mode .overview-grid-dividers-background {
71 #timeline-overview-grid #resources-graphs {
80 border-right: 0 none transparent;
85 .timeline-details-split {
94 .timeline-view-stack {
99 #timeline-container .webkit-html-external-link,
100 #timeline-container .webkit-html-resource-link {
104 .timeline-tree-item {
111 text-overflow: ellipsis;
115 .timeline-tree-item.selected {
116 background-color: rgb(56, 121, 217) !important;
120 .timeline-tree-item.hovered:not(.selected),
121 .timeline-graph-side.hovered {
122 background-color: rgba(0, 0, 0, 0.05) !important;
125 .timeline-expandable {
127 border-left: 1px solid rgb(163, 163, 163);
128 pointer-events: none;
131 .timeline-expandable-left {
137 border-top: 1px solid rgb(163, 163, 163);
138 border-bottom: 1px solid rgb(163, 163, 163);
141 .timeline-tree-item-expand-arrow {
142 display: inline-block;
143 -webkit-user-select: none;
144 -webkit-mask-image: url(Images/statusbarButtonGlyphs.png);
145 -webkit-mask-size: 320px 144px;
149 background-color: rgb(110, 110, 110);
155 @media (-webkit-min-device-pixel-ratio: 1.5) {
156 .timeline-tree-item-expand-arrow {
157 -webkit-mask-image: url(Images/statusbarButtonGlyphs_2x.png);
161 .timeline-tree-item-expand-arrow.parent {
162 -webkit-mask-position: -4px -96px;
165 .timeline-tree-item-expand-arrow.parent.expanded {
166 -webkit-mask-position: -20px -96px;
169 .timeline-expandable-arrow {
170 background-image: url(Images/statusbarButtonGlyphs.png);
171 background-size: 320px 144px;
180 @media (-webkit-min-device-pixel-ratio: 1.5) {
181 .timeline-expandable-arrow {
182 background-image: url(Images/statusbarButtonGlyphs_2x.png);
186 .timeline-expandable-collapsed .timeline-expandable-arrow {
187 background-position: -4px -96px;
190 .timeline-expandable-expanded .timeline-expandable-arrow {
191 background-position: -20px -96px;
194 .timeline-tree-item .type {
198 .timeline-tree-item .count {
202 .timeline-tree-item .timeline-tree-icon {
211 display: inline-block;
214 .timeline-tree-item.background .timeline-tree-icon {
215 background: none !important;
218 .timeline-tree-item-warning {
220 background-image: url(Images/statusbarButtonGlyphs.png);
221 background-size: 320px 144px;
225 background-position: -202px -107px;
230 .timeline-tree-item-child-warning {
234 @media (-webkit-min-device-pixel-ratio: 1.5) {
235 .timeline-tree-item-warning {
236 background-image: url(Images/statusbarButtonGlyphs_2x.png);
240 .timeline-tree-item .data.dimmed {
241 color: rgba(0, 0, 0, 0.7);
242 pointer-events: none;
246 .timeline-tree-item.selected .data.dimmed {
247 color: rgba(255, 255, 255, 0.8);
248 pointer-events: auto;
251 .timeline-tree-item.selected .timeline-tree-item-expand-arrow {
252 background-color: white;
255 #timeline-overview-events,
256 #timeline-overview-memory,
257 #timeline-overview-power {
263 #timeline-overview-memory {
267 #timeline-overview-frames {
271 #timeline-overview-pane {
277 #timeline-overview-container {
279 flex-direction: column;
285 #timeline-overview-container canvas {
290 #timeline-overview-frames canvas {
292 background-color: rgba(255, 255, 255, 0.8);
303 .timeline-graph-side {
309 border-top: 1px solid transparent;
313 .timeline-graph-side.selected {
314 background-color: rgba(56, 121, 217, 0.1) !important;
317 .timeline-graph-bar-area {
323 pointer-events: none;
326 .timeline-graph-bar {
334 pointer-events: visibleFill;
339 .timeline-graph-bar.cpu {
343 .timeline-graph-side.background .timeline-graph-bar {
344 background: transparent !important;
348 .timeline-aggregated-category {
349 display: inline-block;
361 list-style-type: none;
364 .timeline-garbage-collect-status-bar-item .glyph {
365 -webkit-mask-position: -128px -24px;
368 .timeline-frames-status-bar-item .glyph {
369 -webkit-mask-position: -160px -48px;
372 .timeline-flame-chart-status-bar-item .glyph {
373 -webkit-mask-position: -192px -48px;
376 #resources-container-content {
389 .memory-graph-label {
393 color: rgb(50%, 50%, 50%);
397 #memory-graphs-canvas-container {
403 #memory-counters-graph {
407 #memory-graphs-canvas-container .memory-counter-marker {
416 #memory-graphs-container .split-view-contents-first {
417 background-color: #eee;
421 #memory-graphs-container .sidebar-tree-section {
423 padding: 5px 0 0 5px;
426 .memory-counter-sidebar-info {
432 .memory-counter-sidebar-info .swatch {
433 background-image: none;
434 border: 1px solid rgba(0,0,0,0.3);
438 .memory-counter-sidebar-info .title {
442 .memory-counter-value {
446 #counter-values-bar {
448 border-bottom: solid 1px lightgray;
454 .timeline .resources-event-divider {
457 pointer-events: auto;
461 .timeline .resources-event-divider::before {
465 background-color: rgb(163, 109, 0);
471 .timeline .resources-event-divider:hover::before {
476 .timeline .resources-event-divider.resources-red-divider::before {
477 background-color: rgb(255, 0, 0);
480 .timeline .resources-event-divider.resources-blue-divider::before {
481 background-color: rgb(0, 0, 255);
484 .timeline .resources-event-divider.resources-orange-divider::before {
485 background-color: rgb(255, 178, 23);
488 .timeline .resources-event-divider.resources-green-divider::before {
489 background-color: rgb(0, 130, 0);
492 .resources-divider:last-child {
493 border-color: transparent;
496 .timeline .resources-event-divider.timeline-frame-divider {
497 background-color: rgba(180, 180, 180, 0.8);
501 pointer-events: none;
504 .timeline-frame-container {
507 background-color: rgb(220, 220, 220);
512 pointer-events: auto;
515 .timeline-frame-strip {
521 .timeline-frame-strip.selected {
522 background-color: rgb(56, 121, 217);
526 #timeline-grid-header {
527 pointer-events: none;
531 #timeline-graph-records-header {
532 pointer-events: none;
535 justify-content: center;
538 .timeline-utilization-strip {
546 .timeline-utilization-strip .timeline-graph-bar {
547 border-color: rgb(192, 192, 192);
548 background-color: rgba(0, 0, 0, 0.1);
553 .timeline-utilization-strip.gpu .timeline-graph-bar {
554 background-color: #00a;
560 .timeline-utilization-strip.gpu .timeline-graph-bar.gpu-task-foreign {
561 background-color: #aaa;
564 .timeline-cpu-curtain-left, .timeline-cpu-curtain-right {
565 background-color: rgba(210, 210, 210, 0.5);
572 .timeline-cpu-curtain-left {
576 .timeline-cpu-curtain-right {
580 .image-preview-container {
581 background: transparent;
586 .image-preview-container img {
589 background-image: url(Images/checker.png);
590 -webkit-user-select: text;
591 -webkit-user-drag: auto;
598 .timeline-filters-header {
607 .timeline-details .record-title {
609 padding: 5px 10px 5px 10px;
613 .timeline-details-title {
614 border-bottom: 1px solid #B8B8B8;
621 .timeline-details-row-title {
627 .timeline-details-row-data {
631 .timeline-details-view {
636 .timeline-details-view-body {
640 background-color: #eee;
643 .timeline-details-view-block {
646 flex-direction: column;
649 .timeline-details-view-row {
651 border-bottom: 1px solid #e1e1e1;
654 .timeline-details-view-row-title {
656 color: rgb(48, 57, 66);
663 .timeline-details-view-row-value {
665 border-left: 1px solid #e1e1e1;
668 -webkit-user-select: text;
671 .timeline-details-view-row-details {
675 .timeline-details-view-pie-chart {
676 margin: 8px 10px 8px 0;
679 .timeline-details-view-pie-chart {
680 margin: 8px 10px 8px 0;
683 .timeline-details-view-row-details .image-preview-container {
687 .timeline-details-view-row-details table {
691 .timeline-details-view-row-details table td {
696 .timeline-details-view-row-details table td .section {
700 .timeline-details-view-row-details table td .section > .header .title {
704 .timeline-details-view-row-stack-trace {
705 padding: 4px 0 4px 20px;
708 .timeline-details-view-row-stack-trace div {
710 text-overflow: ellipsis;
714 .timeline-details-view-row-stack-trace .webkit-html-external-link,
715 .timeline-details-view-row-stack-trace .webkit-html-resource-link {
716 color: #333 !important;
719 .timeline-aggregated-info {
725 .timeline-range-summary {
730 .timeline-range-summary > div {
734 .timeline-aggregated-info-legend > div {
737 text-overflow: ellipsis;
740 .timeline-flamechart {
744 .timeline-progress-pane {
751 background-color: rgba(255, 255, 255, 0.8);
755 justify-content: center;
759 .layer-tree.outline-disclosure {
763 .layer-tree.outline-disclosure > ol,
764 .profiler-log-view > ol {
768 .layer-tree.outline-disclosure ol.children,
769 .profiler-log-view ol.children {
774 .layer-tree.outline-disclosure li,
775 .profiler-log-view li {
778 text-overflow: ellipsis;
784 .layer-tree.outline-disclosure .dimmed {
790 -webkit-user-select: none;
793 .layers-3d-view canvas {
797 .transform-control-panel {
802 .transform-control-panel .status-bar-item > .glyph {
803 -webkit-mask-image: url(Images/transformControls.png);
804 -webkit-mask-size: 96px 24px;
808 @media (-webkit-min-device-pixel-ratio: 1.5) {
809 .transform-control-panel .status-bar-item > .glyph {
810 -webkit-mask-image: url(Images/transformControls_2x.png);
814 .transform-control-panel .transform-mode-rotate .glyph {
815 -webkit-mask-position: -64px 0px;
818 .transform-control-panel .transform-reset .glyph {
819 -webkit-mask-position: -32px 0px;
822 .layer-details-view .empty-view {
826 .layer-details-view table td {
830 .layer-details-view table td:first-child {
834 .layer-details-view .scroll-rect.active {
835 background-color: rgba(100, 100, 100, 0.2);
838 .paint-profiler-overview .progress-banner {
840 background-color: rgba(255, 255, 255, 0.8);
844 justify-content: center;
848 .paint-profiler-canvas-container {
853 .paint-profiler-overview {
854 background-color: #eee;
857 .paint-profiler-pie-chart {
865 .profiler-log-view.outline-disclosure,
866 .layer-tree.outline-disclosure {
871 .profiler-log-view.outline-disclosure li.parent::before,
872 .layer-tree.outline-disclosure li.parent::before {
876 .paint-profiler-canvas-container canvas {
878 background-color: white;
884 .paint-profiler-canvas-container .overview-grid-dividers-background,
885 .paint-profiler-canvas-container .overview-grid-window {
890 .paint-profiler-canvas-container .overview-grid-window-resizer {
894 .profiler-log-view .console-formatted-string {
898 .profiler-log-view.section .properties {
900 padding-right: 0px !important;
903 .paint-profiler-image-view {
907 .paint-profiler-image-view img {
908 border: solid 1px black;
909 -webkit-transform-origin: 0px 0px;
912 .layer-details-view ul {
914 -webkit-padding-start: 0;
915 -webkit-margin-before: 0;
916 -webkit-margin-after: 0;
919 .timeline-layers-view > .split-view-contents-first,
920 .timeline-layers-view-properties > .split-view-contents-second {
921 background-color: #eee;
924 .timeline-layers-view-properties table {
926 border-collapse: collapse;
929 .timeline-layers-view-properties td {
930 border: 1px solid #e1e1e1;
934 .timeline-paint-profiler-log-split .split-view-contents-first {
935 background-color: #eee;