* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+/* === file identical to profiler.inc.css === */
+
+/* CSS Variables specific to this panel that aren't defined by the themes */
+.theme-dark,
+.theme-light {
+ --cell-border-color: #9C9CFF;
+ --focus-cell-border-color: #9C9CFF;
+ --row-alt-background-color: #402800;
+ --row-hover-background-color: #795900;
+}
+
window {
padding: 0;
}
-.devtools-toolbar {
- border-bottom: none;
+/* Reload and waiting notices */
+
+.notice-container {
+ margin-top: -50vh;
+ font-size: 120%;
+ background-color: var(--theme-toolbar-background);
+ color: var(--theme-body-color);
+}
+
+#empty-notice button,
+#recording-notice button {
+ min-width: 30px;
+ min-height: 28px;
+ margin: 0;
+ list-style-image: url("profiler-stopwatch.svg");
+}
+
+#empty-notice button[checked],
+#recording-notice button[checked] {
+ list-style-image: url("profiler-stopwatch-checked.svg");
+}
+
+#empty-notice button .button-text,
+#recording-notice button .button-text {
+ display: none;
+}
+
+#loading-notice {
+ font-size: 250%;
+ color: #9C9CFF;
+}
+
+/* Recordings pane */
+
+#recordings-pane > tabs,
+#recordings-pane .devtools-toolbar {
+ -moz-border-end-width: 1px;
+}
+
+#recordings-pane > tabs,
+#recordings-pane .devtools-toolbar {
+ -moz-border-end-color: var(--theme-splitter-color);
+}
+
+#record-button {
+ list-style-image: url("profiler-stopwatch.svg");
+}
+
+#record-button[checked] {
+ list-style-image: url("profiler-stopwatch-checked.svg");
+}
+
+#record-button[locked] {
+ pointer-events: none;
+}
+
+/* Recording items */
+
+.recording-item {
+ padding: 4px;
+}
+
+.recording-item-title {
+ font-size: 110%;
+}
+
+.recording-item-footer {
+ padding-top: 4px;
+ font-size: 90%;
+}
+
+.recording-item-save {
+ text-decoration: underline;
+ cursor: pointer;
+}
+
+.recording-item-duration,
+.recording-item-save {
+ color: var(--theme-body-color-alt);
+}
+
+#recordings-list .selected label {
+ /* Text inside a selected item should not be custom colored. */
+ color: inherit !important;
+}
+
+/* Profile pane */
+
+#profile-content tabs {
+ -moz-box-align: stretch;
+ height: 24px;
+ font: inherit;
+}
+
+#profile-content tab {
+ -moz-box-flex: 0;
+ background-color: transparent;
+ border: none;
+ border-radius: 0;
+ padding: 0;
+ text-shadow: none;
+ transition-duration: 0.25s;
+ transition-timing-function: ease-in-out;
+ transition-property: opacity, transform;
+}
+
+#profile-content tab {
+ color: var(--theme-body-color);
+}
+
+#profile-content tab:not([selected]) {
+ cursor: pointer;
+}
+
+#profile-content tab[covered] {
+ opacity: 0;
+ transform: translateY(100%);
+}
+
+#profile-content tab {
+ -moz-appearance: none;
+ -moz-border-end: 1px solid var(--theme-splitter-color);
+}
+
+#profile-content tab:hover {
+ background-color: var(--theme-hover-background);
+ color: var(--theme-hover-color);
+}
+
+#profile-content tab[selected] {
+ background-color: var(--theme-selection-background);
+ color: var(--theme-selection-color);
}
-.profile-name {
- font-size: 13px;
- padding: 8px;
+#profile-content tabpanel {
+ -moz-box-orient: vertical;
+ transform: translateZ(1px); /* Make sure the tabpanel appears above the tab */
}
-#profiles-list > li {
- width: 180px;
+#profile-newtab-button {
+ -moz-appearance: none;
+ background-color: transparent;
+ background-position: 4px 2px;
+ background-size: 54px 20px;
+ min-width: 26px;
+ margin: 0;
+ border: none;
cursor: pointer;
}
-.splitview-nav-container button {
- color: #FF9F00;
- background-clip: padding-box;
- border-bottom: 1px solid #A09090;
- -moz-padding-end: 8px;
+#profile-newtab-button {
+ background-color: #C09070;
+}
+
+#profile-newtab-button {
+ background-image: url("newtab.png");
+}
+
+@media (min-resolution: 2dppx) {
+ #profile-newtab-button {
+ background-image: url("newtab@2x.png");
+ }
+}
+
+/* Profile call tree */
+
+.call-tree-headers-container {
+ border-top: 1px solid var(--theme-splitter-color);
+}
+
+.call-tree-cells-container {
+ /* Hack: force hardware acceleration */
+ transform: translateZ(1px);
+ overflow: auto;
+}
+
+.call-tree-cells-container[categories-hidden] .call-tree-category {
+ display: none;
+}
+
+.call-tree-header[type="duration"],
+.call-tree-cell[type="duration"],
+.call-tree-header[type="self-duration"],
+.call-tree-cell[type="self-duration"] {
+ width: 9em;
+}
+
+.call-tree-header[type="percentage"],
+.call-tree-cell[type="percentage"],
+.call-tree-header[type="self-percentage"],
+.call-tree-cell[type="self-percentage"] {
+ width: 6em;
+}
+
+.call-tree-header[type="samples"],
+.call-tree-cell[type="samples"] {
+ width: 5em;
+}
+
+.call-tree-header[type="function"],
+.call-tree-cell[type="function"] {
+ -moz-box-flex: 1;
+}
+
+.call-tree-header,
+.call-tree-cell {
-moz-box-align: center;
+ overflow: hidden;
+ padding: 1px 4px;
+ color: var(--theme-body-color);
+}
+
+.call-tree-header:not(:last-child),
+.call-tree-cell:not(:last-child) {
+ -moz-border-end-width: 1px;
+ -moz-border-end-style: solid;
+}
+
+.call-tree-header,
+.call-tree-cell {
+ -moz-border-end-color: var(--cell-border-color);
+}
+
+.call-tree-header:not(:last-child) {
+ text-align: center;
+}
+
+.call-tree-cell:not(:last-child) {
+ text-align: end;
+}
+
+.call-tree-header {
+ background-color: var(--theme-contrastsidebar-background);
+ color: var(--theme-contrastsidebar-color);
+}
+
+.call-tree-item:last-child:not(:focus) {
+ border-bottom: 1px solid var(--cell-border-color);
+}
+
+.call-tree-item:nth-child(2n) {
+ background-color: var(--row-alt-background-color);
+}
+
+.call-tree-item:hover {
+ background-color: var(--row-hover-background-color);
+}
+
+.call-tree-item:focus {
+ background-color: var(--theme-selection-background);
+ color: var(--theme-selection-color);
+}
+
+.call-tree-item:focus label {
+ color: var(--theme-selection-color) !important;
+}
+
+.call-tree-item:focus .call-tree-cell {
+ -moz-border-end-color: var(--focus-cell-border-color);
+}
+
+.call-tree-item:not([origin="content"]) .call-tree-name,
+.call-tree-item:not([origin="content"]) .call-tree-url,
+.call-tree-item:not([origin="content"]) .call-tree-line {
+ /* Style chrome and non-JS nodes differently. */
+ opacity: 0.6;
+}
+
+.call-tree-url {
+ -moz-margin-start: 4px !important;
+ cursor: pointer;
+}
+
+.call-tree-url:hover {
+ text-decoration: underline;
+}
+
+.call-tree-url {
+ color: var(--theme-highlight-blue);
+}
+
+.call-tree-line {
+ color: var(--theme-content-color2);
+}
+
+.call-tree-host {
+ -moz-margin-start: 8px !important;
+ font-size: 90%;
+}
+
+.call-tree-host {
+ color: var(--theme-highlight-pink);
+}
+
+.call-tree-url[value=""],
+.call-tree-line[value=""],
+.call-tree-host[value=""] {
+ display: none;
+}
+
+.call-tree-zoom {
+ -moz-appearance: none;
+ background-color: transparent;
+ background-position: center;
+ background-repeat: no-repeat;
+ background-size: 11px;
+ min-width: 11px;
+ -moz-margin-start: 8px !important;
+ cursor: zoom-in;
+ opacity: 0;
+}
+
+.call-tree-zoom {
+ background-image: url("magnifying-glass.png");
+}
+
+@media (min-resolution: 2dppx) {
+ .call-tree-zoom {
+ background-image: url("magnifying-glass@2x.png");
+ }
+}
+
+.call-tree-item:hover .call-tree-zoom {
+ transition: opacity 0.3s ease-in;
+ opacity: 1;
+}
+
+.call-tree-item:hover .call-tree-zoom:hover {
+ opacity: 0;
+}
+
+.call-tree-category {
+ transform: scale(0.75);
+ transform-origin: center right;
}