@import url("resource://devtools/client/shared/components/tree/tree-view.css");
@import url(variables.css); /* No idea why this is needed but we get error messages without it */
+@import "resource://devtools/client/shared/components/tabs/tabs.css";
+@import "resource://devtools/client/shared/components/tabs/tabbar.css";
window {
padding: 0;
margin-inline-end: 4px;
}
-.side-menu-widget-item.selected .requests-security-state-icon {
+.side-menu-widget-item.selected .requests-security-state-icon,
+.request-list-item.selected .requests-security-state-icon {
/* filter: brightness(1.3);*/
}
justify-content: center;
}
-.request-list-item.selected .requests-menu-transferred.theme-comment {
- color: var(--theme-selection-color);
-}
-
.requests-menu-cause {
max-width: 8em;
width: 8vw;
width: 8vw;
}
-.side-menu-widget-item.selected .requests-menu-transferred.theme-comment {
+.side-menu-widget-item.selected .requests-menu-transferred.theme-comment,
+.request-list-item.selected .requests-menu-transferred.theme-comment {
color: var(--theme-selection-color);
}
border-radius: 20px;
border: 1px solid #000000;
transition: background-color 0.5s ease-in-out;
+ box-sizing: border-box;
}
.side-menu-widget-item.selected .requests-menu-status-icon,
/* Response tabpanel */
-#response-content-info-header {
+#response-content-info-header,
+.response-error-header {
margin: 0;
padding: 3px 8px;
background-color: var(--theme-highlight-red);
margin-bottom: 10px;
}
+.response-image-box {
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+ overflow-y: auto;
+ padding: 10px;
+}
+
+.response-image {
+ background: #FFFFFF;
+ border: 1px dashed #A09090;
+ margin-bottom: 10px;
+ max-width: 300px;
+ max-height: 100px;
+}
+
/* Preview tabpanel */
#preview-tabpanel {
/* Timings tabpanel */
-#timings-tabpanel .tabpanel-summary-container {
+#timings-tabpanel .tabpanel-summary-container,
+.timings-container {
display: flex;
}
-#timings-tabpanel .tabpanel-summary-label {
+#timings-tabpanel .tabpanel-summary-label,
+.timings-label {
width: 10em;
}
-#timings-tabpanel .requests-menu-timings-container {
+#timings-tabpanel .requests-menu-timings-container,
+.requests-menu-timings-container {
display: flex;
flex: 1;
align-items: center;
}
-#timings-tabpanel .requests-menu-timings-offset {
+#timings-tabpanel .requests-menu-timings-offset,
+.requests-menu-timings-offset {
transition: width 0.2s ease-out;
}
-#timings-tabpanel .requests-menu-timings-box {
+#timings-tabpanel .requests-menu-timings-box,
+.requests-menu-timings-box {
border: none;
min-width: 1px;
transition: width 0.2s ease-out;
/* Security tabpanel */
+/* Overwrite tree-view cell colon `:` for security panel and tree section */
+.security-panel .treeTable .treeLabelCell::after,
+.treeTable .tree-section .treeLabelCell::after {
+ content: "";
+}
+
+/* Layout additional warning icon in tree value cell */
+.security-info-value {
+ display: flex;
+}
+
.security-info-section {
padding-inline-start: 1em;
}
/* Performance analysis view */
+#network-statistics-view {
+ display: -moz-box;
+}
+
#network-statistics-toolbar {
/* Make the toolbar invisible, it only hold the back button */
-moz-binding: url("chrome://global/content/bindings/toolbar.xml#toolbar");
/* Responsive sidebar */
@media (max-width: 700px) {
+ #toolbar-spacer,
+ #details-pane-toggle,
+ #details-pane.pane-collapsed,
+ #requests-menu-network-summary-button > .summary-info-text {
+ display: none;
+ }
+
#requests-menu-toolbar {
height: 22px;
}
}
}
+.textbox-input {
+ text-overflow: ellipsis;
+ border: none;
+ background: none;
+ color: inherit;
+ width: 100%;
+}
+
/* Overwrite tree-view cell colon and use l10n string instead */
.treeTable .treeLabelCell::after {
content: "";
}
+.treeTable .textbox-input:focus {
+/* outline: 0;
+ box-shadow: var(--theme-focus-box-shadow-textbox);*/
+}
+
+.panel-container,
+.properties-view {
+ display: flex;
+ flex-direction: column;
+ flex-grow: 1;
+ height: 100%;
+}
+
/* Layout additional warning icon in tree value cell */
.security-info-value {
display: flex;
box-shadow: var(--theme-focus-box-shadow-textbox);
}
-.treeTable .treeLabel {
- font-weight: 600;
+.properties-view .searchbox-section {
+ flex: 0 1 auto;
}
-/* Customize default tree table style to align with devtools theme */
-.theme-light .treeTable .treeLabel,
-.theme-light .treeTable .treeRow.hasChildren > .treeLabelCell > .treeLabel:hover {
- color: var(--theme-highlight-red);
+.properties-view .devtools-searchbox {
+ padding: 0;
}
-.theme-dark .treeTable .treeLabel,
-.theme-dark .treeTable .treeRow.hasChildren > .treeLabelCell > .treeLabel:hover {
- color: var(--theme-highlight-purple);
+.properties-view .devtools-searchbox input {
+ margin: 1px 3px;
+}
+
+.tree-container {
+ position: relative;
+ height: 100%;
+}
+
+/* Make treeTable fill parent element and scrollable */
+.tree-container .treeTable {
+ position: absolute;
+ display: block;
+ overflow-y: auto;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+}
+
+/* Apply flex to table tbody in order to fill available vertical space */
+.tree-container .treeTable tbody {
+ display: flex;
+ flex-direction: column;
+ /* Apply flex to table will create an anonymous table element outside of tbody
+ * See also http://stackoverflow.com/a/30851678
+ * Therefore, we set height with this magic number in order to remove the
+ * redundant scrollbar when source editor appears.
+ */
+ height: calc(100% - 4px);
+}
+
+.tree-container .treeTable tr {
+ display: block;
+}
+/* Make right td fill available horizontal space */
+.tree-container .treeTable td:last-child {
+ width: 100%;
+}
+
+/* If there is a source editor shows up in the last row of TreeView,
+ * it should occupy the available vertical space.
+ */
+.tree-container .treeTable .editor-row-container,
+.tree-container .treeTable tr:last-child td[colspan="2"] {
+ display: block;
+ height: 100%;
+}
+
+.properties-view .devtools-searchbox,
+.tree-container .treeTable .tree-section {
+ width: 100%;
+ background-color: var(--theme-toolbar-background);
+}
+
+.tree-container .treeTable tr.tree-section:not(:first-child) td:not([class=""]) {
+ border-top: 1px solid var(--theme-splitter-color);
+}
+
+.properties-view .devtools-searchbox,
+.tree-container .treeTable tr.tree-section:not(:last-child) td:not([class=""]) {
+ border-bottom: 1px solid var(--theme-splitter-color);
+}
+
+.tree-container .treeTable .tree-section > * {
+ vertical-align: middle;
+}
+
+.tree-container .treeTable .treeRow.tree-section > .treeLabelCell > .treeLabel,
+.tree-container .treeTable .treeRow.tree-section > .treeLabelCell > .treeLabel:hover {
+ color: var(--theme-body-color-alt);
+}
+
+.tree-container .treeTable .treeValueCell {
+ /* FIXME: Make value cell can be reduced to shorter width */
+ max-width: 0;
+ padding-inline-end: 5px;
+}
+
+.headers-summary input:not([type="button"]) {
+ width: 100%;
+ background: none;
+ border: none;
+ color: inherit;
+ margin-inline-end: 2px;
}
-.theme-firebug .treeTable .treeLabel {
+.headers-summary input:not([type="button"]):focus {
+/* outline: none;
+ box-shadow: var(--theme-focus-box-shadow-textbox);*/
+ transition: all 0.2s ease-in-out;
+}
+
+.headers-summary-label,
+.tree-container .objectBox {
+ white-space: nowrap;
+}
+
+.headers-summary,
+.response-summary {
+ display: flex;
+ align-items: center;
+}
+
+.headers-summary .tool-button {
+/* border: 1px solid transparent;
color: var(--theme-body-color);
+ transition: background 0.05s ease-in-out;*/
+ margin-inline-end: 6px;
+ padding: 0 5px;
+}
+
+.headers-summary .requests-menu-status-icon {
+ min-width: 10px;
+}
+
+.headers-summary .raw-headers-container {
+ display: flex;
+ width: 100%;
+}
+
+.headers-summary .raw-headers {
+ width: 50%;
+ padding: 0px 4px;
+}
+
+.headers-summary .raw-headers textarea {
+ width: 100%;
+ height: 50vh;
+ font: message-box;
+ resize: none;
+ box-sizing: border-box;
+}
+
+.headers-summary .raw-headers .tabpanel-summary-label {
+ padding: 0 0 4px 0;
+}
+
+.empty-notice {
+ color: var(--theme-body-color-alt);
+ padding: 3px 8px;
+}
+
+.response-summary {
+ display: flex;
+}
+
+.editor-container,
+.editor-mount,
+.panel-container iframe {
+ border: none;
+ width: 100%;
+ height: 100%;
+}
+
+.treeTable .treeLabel {
+ font-weight: 600;
+}
+
+/* Customize default tree table style to align with devtools theme */
+.treeTable .treeLabel,
+.treeTable .treeRow.hasChildren > .treeLabelCell > .treeLabel:hover {
+ color: var(--theme-highlight-purple);
}
.treeTable .treeRow.hasChildren > .treeLabelCell > .treeLabel:hover {
-moz-box-orient: vertical;
-moz-box-flex: 1;
}
+
+/*
+ * FIXME: normal html block element cannot fill outer XUL element
+ * This workaround should be removed after netmonitor is migrated to react
+ */
+#react-details-panel-hook {
+ display: flex;
+ flex-direction: column;
+}
+
+#network-statistics-charts,
+#primed-cache-chart,
+#empty-cache-chart {
+ display: -moz-box;
+ -moz-box-flex: 1;
+}