+/* vim:set ts=2 sw=2 sts=2 et: */
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * 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/. */
+
+/**
+ * JIT View
+ */
+
+#jit-optimizations-view {
+ width: 350px;
+ min-width: 200px;
+ white-space: nowrap;
+ --jit-tree-row-height: 14;
+ --jit-tree-header-height: 16;
+}
+
+/* Override layout styles applied by minimal-xul.css */
+#jit-optimizations-view div {
+ display: block;
+}
+#jit-optimizations-view span {
+ display: inline-block;
+}
+
+#jit-optimizations-view > div {
+ /* For elements that need to flex to fill the available space and/or
+ * scroll on overflow, we need to use the old flexbox model, since the
+ * parent nodes are in the XUL namespace. The new flexbox model can't
+ * properly compute dimensions and will ignore `flex: ${number}` properties,
+ * since no other parent node has a flex display. */
+ display: -moz-box;
+ -moz-box-flex: 1;
+ -moz-box-orient: vertical;
+}
+
+#jit-optimizations-view .optimization-header,
+#jit-optimizations-view .tree * {
+ /* We can, however, display child nodes as flex to take advantage of
+ * horizontal/vertical inlining. */
+ display: flex;
+}
+
+#jit-optimizations-view .optimization-header {
+ height: var(--jit-tree-header-height);
+ padding: 2px 5px;
+ background-color: var(--theme-tab-toolbar-background);
+}
+
+#jit-optimizations-view .header-title {
+ font-weight: bold;
+ padding-inline-end: 7px;
+}
+
+#jit-optimizations-view .tree {
+ display: -moz-box;
+ -moz-box-flex: 1;
+ -moz-box-orient: vertical;
+ overflow: auto;
+ background-color: var(--theme-body-background);
+}
+
+#jit-optimizations-view .tree-node {
+ height: var(--jit-tree-row-height);
+}
+
+#jit-optimizations-view .tree-node button {
+ display: none;
+}
+
+#jit-optimizations-view .optimization-outcome.success {
+ color: var(--theme-highlight-green);
+}
+#jit-optimizations-view .optimization-outcome.failure {
+ color: var(--theme-highlight-red);
+}
+
+.opt-icon::before {
+ background-image: url(chrome://devtools/skin/images/webconsole.svg);
+}
+
+.opt-icon::before {
+ display: inline-block;
+ content: "";
+ background-repeat: no-repeat;
+ background-size: 72px 60px;
+ /* show grey "i" bubble by default */
+ background-position: -36px -36px;
+ width: 10px;
+ height: 10px;
+ max-height: 12px;
+}
+
+.opt-icon::before {
+ margin: 1px 6px 0 0;
+}
+
+.opt-icon.warning::before {
+ background-position: -24px -24px;
+}
+
+/* Frame Component */
+.focused .frame-link-filename,
+.focused .frame-link-column,
+.focused .frame-link-line,
+.focused .frame-link-host,
+.focused .frame-link-colon {
+ color: var(--theme-selection-color);
+}
+
+.frame-link {
+ margin-inline-start: 7px;
+}
+
+.frame-link-filename {
+ color: var(--theme-highlight-blue);
+ cursor: pointer;
+}
+
+.frame-link-filename:hover {
+ text-decoration: underline;
+}
+
+.frame-link-column,
+.frame-link-line,
+.frame-link-colon {
+ color: var(--theme-highlight-orange);
+}
+
+.frame-link-host {
+ margin-inline-start: 5px;
+ font-size: 90%;
+ color: var(--theme-content-color2);
+}
+
+.frame-link-function-display-name {
+ margin-inline-end: 5px;
+}