UNPKG

chrome-devtools-frontend

Version:
509 lines (430 loc) • 12.2 kB
/* * Copyright (C) 2006, 2007, 2008 Apple Inc. All rights reserved. * Copyright (C) 2009 Anthony Ricaud <rik@webkit.org> * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of * its contributors may be used to endorse or promote products derived * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ .timeline-toolbar-container { display: flex; align-items: flex-start; flex: none; background-color: var(--sys-color-cdt-base-container); border-bottom: 1px solid var(--sys-color-divider); & > :first-child { flex: 1 1 auto; } } .timeline-settings-pane { display: grid; grid-template-columns: 50% 50%; flex: none; background-color: var(--sys-color-cdt-base-container); border-bottom: 1px solid var(--sys-color-divider); & > div { margin-left: 5px; display: flex; align-items: center; gap: 5px; & > select { height: var(--sys-size-9); min-width: var(--sys-size-14); border: none; } } } #timeline-overview-panel { flex: none; position: relative; border-bottom: 1px solid var(--sys-color-divider); } #timeline-overview-grid { background-color: var(--sys-color-cdt-base-container); } #timeline-overview-grid .timeline-grid-header { height: 12px; } #timeline-overview-grid .resources-dividers-label-bar { pointer-events: auto; height: 12px; } #timeline-overview-grid .resources-divider-label { top: 1px; } .timeline-details-split { flex: auto; } .timeline.panel .status-pane-container { z-index: 1000; display: flex; align-items: center; pointer-events: none; } .timeline.panel .status-pane-container.tinted { background-color: var(--sys-color-cdt-base-container); pointer-events: auto; } .timeline-landing-page.legacy > div > p { flex: none; white-space: pre-line; line-height: 18px; } .popover ul { margin: 0; padding: 0; list-style-type: none; } #memory-graphs-canvas-container { overflow: hidden; flex: auto; position: relative; .no-events-found { position: absolute; font: var(--sys-typescale-body4-regular); left: var(--sys-size-5); bottom: var(--sys-size-5); p { margin: 0; } } } #memory-counters-graph { flex: auto; } #memory-graphs-canvas-container .memory-counter-marker { position: absolute; border-radius: 3px; width: 5px; height: 5px; margin-left: -3px; margin-top: -2px; } #memory-graphs-container .timeline-memory-header { flex: 0 0 26px; background-color: var(--sys-color-surface2); border-bottom: 1px solid var(--sys-color-divider); justify-content: space-between; } #memory-graphs-container .timeline-memory-header::after { content: ""; /* stylelint-disable-next-line custom-property-pattern */ background-image: var(--image-file-toolbarResizerVertical); background-repeat: no-repeat; background-position: right center, center; flex: 20px 0 0; margin: 0 4px; } .timeline-memory-toolbar { flex-shrink: 1; } .memory-counter-value { margin: 8px; } #counter-values-bar { flex: 0 0 20px; border-top: solid 1px var(--sys-color-divider); width: 100%; overflow: hidden; line-height: 18px; } .timeline-flamechart { overflow: hidden; } .brick-game { background-color: var(--sys-color-neutral-container); position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: 9999; /* A high value to ensure it's on top */ } .game-close-button { display: flex; align-items: center; justify-content: center; width: 25px; height: 25px; position: absolute; right: 15px; top: 15px; border-radius: 50%; cursor: pointer; } .scorePanel { display: flex; align-items: center; justify-content: center; flex-direction: column; white-space: pre-line; padding: 15px; position: absolute; left: 15px; bottom: 15px; border: double 7px transparent; border-radius: 20px; background-origin: border-box; background-clip: content-box, border-box; font-weight: 200; } .confetti-100 { display: block; top: 0; left: 0; width: 100%; height: 100%; } .confetti-100 > .confetti-100-particle { opacity: 0%; position: fixed; animation: confetti-100-animation 1s none ease-out; font-size: 30px; } @keyframes confetti-100-animation { 0% { opacity: 100%; transform: translateY(0%) translateY(0%) rotate(0deg); } 100% { opacity: 0%; /* stylelint-disable-next-line custom-property-pattern */ transform: translateY(var(--to-Y)) translateX(var(--to-X)) rotate(var(--rotation)); } } @media (prefers-reduced-motion) { .confetti-100 > .confetti-100-particle { animation-name: dissolve; } } .timeline-layers-view-properties table { width: 100%; border-collapse: collapse; } .timeline-layers-view-properties td { border: 1px solid var(--sys-color-divider); line-height: 22px; } .timeline-filmstrip-preview > img { max-width: 500px; max-height: 300px; cursor: pointer; border: 1px solid var(--sys-color-divider); } .timeline-details .filter-input-field { width: 120px; } .timeline-stack-view-header { height: 27px; background-color: var(--sys-color-cdt-base-container); padding: 6px 10px; color: var(--sys-color-on-surface); white-space: nowrap; border-bottom: 1px solid var(--sys-color-divider); } .timeline-landing-page { position: absolute; background-color: var(--sys-color-cdt-base-container); } .timeline-landing-page.legacy { justify-content: center; align-items: center; overflow: auto; font-size: 13px; color: var(--sys-color-on-surface-subtle); } .timeline-landing-page.legacy > div { max-width: 450px; margin: 10px; } .timeline-paint-profiler-log-split > div:last-child { background-color: var(--color-background-elevation-1); z-index: 0; } .timeline-layers-view > div:last-child, .timeline-layers-view-properties > div:last-child { background-color: var(--color-background-elevation-1); } .timeline.panel .status-pane-container > div { pointer-events: auto; } .timeline-tree-view .data-grid .name-container div { flex: none; } devtools-performance-third-party-tree-view { .background-bar-container { /* Dont need the bars in 3p table */ display: none; } .timeline-tree-view devtools-toolbar { border: 0; } .timeline-tree-view .data-grid .odd { background: none; } .timeline-tree-view .data-grid { border-width: 0 !important; /* stylelint-disable-line declaration-no-important */ th { background-color: var(--sys-color-cdt-base-container); font-weight: var(--ref-typeface-weight-medium); /* Center to give some gap against sorting triangle */ text-align: center; &.site-column { text-align: left; } } tr .numeric-column, tr .site-column { border-left: none; border-bottom: var(--sys-size-1) solid var(--sys-color-divider); /* Don't let devtools-button size mess with things */ contain: strict; padding: 0; line-height: 21px; } .bottom-filler-td, th.sortable { border: none; } tr { height: 22px; } devtools-button { display: inline-flex; visibility: hidden; margin: 0 8px 0 4px; vertical-align: top; } tr.revealed:hover, tr.selected { devtools-button { visibility: visible; } } /* Default data-grid has this element on the edge of the rows, we don't need them for the 3P table. So for now set display to none. */ .corner, &.data-grid-fits-viewport .corner { display: none; } .data-grid-resizer:hover { background: linear-gradient(to right, transparent, transparent 2px, var(--sys-color-divider) 2px, var(--sys-color-divider) 3px, transparent 3px) no-repeat 0 0 / 100% 100%; } } .widget.vbox.timeline-tree-view { /* See column width comments in populateColumns() */ max-width: min(100%, 550px); min-width: 350px; /* Lower than this, there's not enough room for the entity name */ padding: 0 0 0 var(--sys-size-6); border-left: var(--sys-size-1) solid var(--sys-color-divider); } /* While timeline treeview name-container uses flexbox to layout, it's overkill for this table's purposes. By not using it, we can benefit from text-overflow:ellipsis applying correctly to names and entity-badges */ .timeline-tree-view .data-grid .name-container { display: block; padding-left: 2px; .activity-name { display: inline; } .activity-icon-container { display: none; } .entity-badge { margin-left: var(--sys-size-4); font-weight: var(--ref-typeface-weight-medium); padding: 0 var(--sys-size-2); background-color: var(--sys-color-tonal-container); border-radius: var(--sys-shape-corner-extra-small); height: 16px; line-height: 16px; font-size: var(--sys-typescale-body5-size); display: inline-block; } } } devtools-feedback-button { float: right; } devtools-toolbar { .history-dropdown-button { width: var(--sys-size-23); height: var(--sys-size-9); border-radius: var(--sys-shape-corner-extra-small); text-align: left; display: flex; padding-right: var(--sys-size-5); &:hover { background-color: var(--sys-color-state-hover-on-subtle); } &:active { background-color: var(--sys-color-state-ripple-neutral-on-subtle); } &:hover:active { background: linear-gradient(var(--sys-color-state-hover-on-subtle), var(--sys-color-state-hover-on-subtle)), linear-gradient(var(--sys-color-state-ripple-neutral-on-subtle), var(--sys-color-state-ripple-neutral-on-subtle)); } &:focus-visible { outline: var(--sys-size-2) solid var(--sys-color-state-focus-ring); } &[disabled] { pointer-events: none; color: var(--sys-color-state-disabled); background-color: var(--sys-color-state-disabled-container); .content::after { background-color: var(--sys-color-state-disabled); } } & > .content { margin-left: 5px; padding-right: 5px; overflow: hidden; text-overflow: ellipsis; flex: 1 1; min-width: 35px; &::after { float: right; user-select: none; mask-image: var(--image-file-triangle-down); width: 14px; height: 14px; content: ""; position: absolute; background-color: var(--icon-default); right: var(--sys-size-3); top: var(--sys-size-3); } } } @media (forced-colors: active) { .history-dropdown-button[disabled] { opacity: 100%; } .history-dropdown-button > .content::after { background-color: ButtonText; } .history-dropdown-button[disabled] > .content::after { background-color: GrayText; } } }