first step to sync LCARStrek with browser winstripe changes in Firefox 20 cycle
[themes.git] / LCARStrek / browser / devtools / debugger.css
index 2e2978305e12d843638ea1e62818ed28844f4a4d..d761845648a296e6099a6c5e7daf8abc12d1d6fe 100644 (file)
@@ -9,90 +9,211 @@ window {
 }
 
 #body {
-  /* background: #000000; */
+  background-color: #000000;
+}
+
+/**
+ * Debugger content
+ */
+
+#chrome-globals, #sources {
+  width: 200px;
 }
 
-div,
-span,
-a {
-  font: inherit;
+/**
+ * This hardcoded width likely due to a toolkit Windows specific bug.
+ * See http://hg.mozilla.org/mozilla-central/annotate/f38d6df93cad/toolkit/themes/winstripe/global/textbox-aero.css#l7
+ */
+#searchbox {
+  width: 200px;
 }
 
 /**
- * Debugger toolbar
+ * Lists and headers
  */
 
-#dbg-toolbar {
-  /*padding: 2px;*/
+.list-item {
+  padding: 2px;
 }
 
-#dbg-toolbar > button {
-  text-align: center;
+.list-item:not(.selected):not(.empty):hover {
+  /* background: #cddae5; */
 }
 
-.devtools-closebutton {
-  list-style-image: url("chrome://navigator/skin/icons/win-close.gif");
+.list-item.selected {
+  background: #008484;
+  color: #FFCF00;
 }
 
-.devtools-closebutton:hover {
-  list-style-image: url("chrome://navigator/skin/icons/win-close-hover.gif");
+.list-item.empty {
+  color: #8050B0;
+  /* padding: 4px; */
 }
 
 /**
- * Debugger content
+ * Sources searching
  */
 
-#dbg-content {
-  /* padding: 6px; */
+#globalsearch {
+  background-color: #000000;
+  min-height: 10px;
 }
 
-#dbg-content > * > .vbox {
-  background-color: #000000;
+#globalsearch > vbox:not(:empty) {
+  min-height: 10px;
+  max-height: 150px;
+}
+
+.dbg-source-results:not(:last-child) {
+  border-bottom: 1px dotted #9C9CFF;
+}
+
+.dbg-results-header {
+  -moz-padding-start: 6px;
+}
+
+.dbg-results-header .location {
+  font-weight: 600;
+}
+
+.dbg-results-header .match-count {
+  -moz-padding-start: 6px;
+  color: #8050B0;
+}
+
+.dbg-results-container .line-number {
+  background: #000000;
+  min-width: 40px;
+  -moz-padding-end: 4px;
+  -moz-border-end: 1px dotted #9C9CFF;
+  text-align: end;
+  font: 8pt monospace;
+  color: #FF9F00;
+}
+
+.dbg-results-container .line-contents {
+  -moz-padding-start: 4px;
+  font: 8pt monospace;
+}
+
+.dbg-results-container .line-contents:hover {
+  background: #000000;
+}
+
+.dbg-results-container .line-contents > .string {
+  padding: 1px;
+}
+
+.dbg-results-container .line-contents > .string[match=true] {
+  background: #E7ADE7;
+  color: #000000;
+  padding: 0;
   border: 1px solid #9C9CFF;
+  border-radius: 4px;
+  cursor: pointer;
+  transition: transform 0.25s ease-in-out;
 }
 
-#dbg-content > * > .title {
-  /* text-shadow: 0 1px #fff; */
+.dbg-results-container .line-contents > .string[match=true][focused] {
+  transition-duration: 0.1s;
+  transform: scale(1.75, 1.75);
 }
 
-.devtools-side-splitter {
-  border: none;
+/**
+ * Searchbox panel
+ */
+
+#searchbox-panel .description {
+  margin: -6px 0 8px;
+}
+
+#searchbox-panel button.operator {
+  min-width: 0;
+  margin: 0;
+  padding: 0;
+  font: 9pt "Liberation Mono", Consolas, "Courier New", monospace;
+}
+
+#searchbox-panel label.operator {
+  -moz-padding-start: 6px;
+  padding-bottom: 1px;
 }
 
 /**
- * Debugger statusbar
+ * Filtered sources panel
  */
 
-#dbg-statusbar {
-/*  font: -moz-list; */
-  padding: 2px;
-  -moz-padding-start: 5px;
+#filtered-sources-panel {
+  padding: 4px;
+}
+
+.dbg-source-item {
+  border: 1px solid #A09090;
+  border-top-color: #8050B0;
+}
+
+.dbg-source-item.selected {
+}
+
+.dbg-source-item:first-of-type {
+  border-top-color: #9C9CFF;
+  border-radius: 4px 4px 0 0;
+}
+
+.dbg-source-item:last-of-type {
+  border-radius: 0 0 4px 4px;
+}
+
+.dbg-source-item:only-of-type {
+  border-radius: 4px 4px 4px 4px;
+}
+
+.dbg-source-item:not(:hover) {
+/*  text-shadow: 0 1px #fff;*/
+}
+
+.dbg-source-item-name {
+  color: #9C9CFF;
+  font-weight: 600;
+}
+
+.dbg-source-item-details {
+  color: #FF9F00;
 }
 
 /**
- * Lists and headers
+ * Stack frames and breakpoints pane
  */
 
-.list-item {
-  padding: 2px;
-/*  font: -moz-list; */
+#stackframes\+breakpoints {
+  background-color: #000000;
+  min-width: 50px;
 }
 
-.list-item.selected {
-  background: #008484;
-  color: #FFCF00;
+#stackframes\+breakpoints[animated] {
+  transition: margin 0.25s ease-in-out;
 }
 
-.list-item.empty {
-  color: #8050B0;
+/**
+ * Variables and watch expressions pane
+ */
+
+#variables\+expressions {
+  background-color: #000000;
+  min-width: 50px;
+}
+
+#variables\+expressions[animated] {
+  transition: margin 0.25s ease-in-out;
 }
 
 /**
- * Stack frames
+ * Stack frames view
  */
 
 #stackframes {
   /* background-color: white; */
+  min-height: 10px;
 }
 
 .dbg-stackframe {
@@ -104,20 +225,84 @@ a {
   font-weight: 600;
 }
 
+.dbg-stackframe-details {
+  -moz-padding-start: 4px;
+}
+
 /**
- * Properties elements
+ * Breakpoints view
  */
 
-#variables {
-/*  background-color: white; */
+#breakpoints {
+  background-color: #000000;
+  min-height: 10px;
+}
+
+#breakpoints > vbox:not(:empty) {
+  min-height: 10px;
+  max-height: 200px;
+}
+
+.dbg-breakpoint:not(:last-child) {
+  border-bottom: 1px solid #008484;
+}
+
+.dbg-breakpoint-info {
+  font-weight: 600;
+}
+
+.dbg-breakpoint-text {
+  font: 12px "Liberation Mono", Consolas, "Courier New", monospace;
+}
+
+#conditional-breakpoint-panel .description {
+  margin: -6px 0 8px 0;
+}
+
+#conditional-breakpoint-panel textbox {
+  margin: 0 0 -2px 0;
 }
 
 /**
- * Generic element details container
+ * Watch expressions view
  */
 
-.details {
-  -moz-margin-start: 10px;
+#expressions {
+  background-color: #000000;
+  min-height: 10px;
+}
+
+.dbg-expression {
+  height: 20px;
+  -moz-padding-start: 8px;
+}
+
+.dbg-expression-arrow {
+  width: 10px;
+  height: auto;
+  background: url("chrome://browser/skin/devtools/commandline.png") 0px 4px no-repeat;
+}
+
+.dbg-expression-input {
+  font: 9pt monospace;
+}
+
+.dbg-expression-delete {
+  -moz-image-region: rect(0, 32px, 16px, 16px);
+}
+
+/**
+ * Variables view
+ */
+
+#variables {
+/*  background-color: white; */
+  min-height: 10px;
+}
+
+.dbg-variables-delete:not(:hover) {
+  -moz-image-region: rect(0, 32px, 16px, 16px);
+  opacity: 0.5;
 }
 
 /**
@@ -125,23 +310,20 @@ a {
  */
 
 .scope > .title {
-  margin-top: 1px;
-  -moz-padding-start: 2px;
   background: #E7ADE7;
   border-radius: 5px;
   color: #000000;
 }
 
-.scope > .title > .name {
-  padding-top: 2px;
-  padding-bottom: 2px;
-}
-
 .scope > .details {
   -moz-margin-start: 2px;
   -moz-margin-end: 2px;
 }
 
+.scope > .details.nonenum:not(:empty) {
+  border-top: 1px solid #9C9CFF;
+}
+
 /**
  * Variable element
  */
@@ -149,62 +331,171 @@ a {
 .variable {
   -moz-margin-start: 1px;
   -moz-margin-end: 1px;
-  border-bottom: 1px dotted #008484;
+  border-bottom: 1px solid #008484;
+  background: #000000;
+  transition: background 1s ease-in-out;
+}
+
+.variable[changed] {
+  background: #FFCF00;
+  transition-duration: 0.4s;
 }
 
 .variable > .title > .name {
-  padding-top: 2px;
-  padding-bottom: 2px;
   color: #FF9F00;
   font-weight: 600;
 }
 
+.variable > .title > .value {
+  -moz-padding-start: 6px;
+  -moz-padding-end: 4px;
+}
+
+.variable:not([non-header]) > .details {
+  -moz-margin-start: 10px;
+}
+
 /**
  * Property element
  */
 
-.property > .title > .key {
-  padding-top: 2px;
-  padding-bottom: 2px;
+.property {
+  transition: background 1s ease-in-out;
+  background: #000000;
+  border-radius: 8px;
+}
+
+.property[changed] {
+  transition-duration: 0.4s;
+  background: rgba(255, 207, 0, 0.8);
+}
+
+.property > .title > .name {
   color: #E7ADE7;
 }
 
 .property > .title > .value {
-  padding-top: 2px;
-  padding-bottom: 2px;
+  -moz-padding-start: 6px;
+  -moz-padding-end: 4px;
+}
+
+.property:not([non-header]) > .details {
+  -moz-margin-start: 10px;
 }
 
 /**
- * Property colors
+ * Non enumerable, configurable and writable variables and properties.
+ */
+
+.variable[proto] > .title > .name,
+.property[proto] > .title > .name,
+.variable[non-enumerable]:not([self]):not([exception]) > .title > .name,
+.property[non-enumerable]:not([self]):not([exception]) > .title > .name {
+  opacity: 0.5;
+}
+
+.variable[non-configurable] > .title > .name,
+.property[non-configurable] > .title > .name {
+  border-bottom: 1px dashed #9C9CFF;
+}
+
+.variable[non-configurable][non-writable] > .title > .name,
+.property[non-configurable][non-writable] > .title > .name {
+  border-bottom: 1px dashed #FF0000;
+}
+
+.variable[non-writable] > .title:after,
+.property[non-writable] > .title:after {
+  content: " ";
+  display: inline-block;
+  width: 16px;
+  height: 16px;
+  background: url("chrome://browser/skin/identity-icons-https.png") no-repeat;
+  opacity: 0.5;
+}
+
+/*
+@media (min-resolution: 2dppx) {
+  .variable[non-writable] > .title:after,
+  .property[non-writable] > .title:after {
+    background-image: url("chrome://browser/skin/identity-icons-https@2x.png");
+    background-size: 32px;
+  }
+}
+*/
+
+.variable[exception] > .title > .name,
+.property[exception] > .title > .name {
+  color: #FF0000;
+}
+
+.variable > tooltip > label,
+.property > tooltip > label {
+  margin: 0 2px 0 2px;
+}
+
+.variable[non-enumerable] > tooltip > label[value="enumerable"],
+.property[non-enumerable] > tooltip > label[value="enumerable"],
+.variable[non-configurable] > tooltip > label[value="configurable"],
+.property[non-configurable] > tooltip > label[value="configurable"],
+.variable[non-writable] > tooltip > label[value="writable"],
+.property[non-writable] > tooltip > label[value="writable"] {
+  text-decoration: line-through;
+}
+
+/**
+ * Variables and properties editing
+ */
+
+#variables .element-value-input {
+  -moz-margin-start: 5px !important;
+}
+
+#variables .element-name-input {
+  -moz-margin-start: -1px !important;
+  color: #E7ADE7;
+  font-weight: 600;
+}
+
+/**
+ * Variables and properties searching
+ */
+
+.variables-searchinput.devtools-searchinput {
+  min-height: 24px;
+}
+
+.variable[non-match],
+.property[non-match] {
+  border: none;
+  margin: 0;
+}
+
+/**
+ * Token value colors
  */
 
 .token-undefined {
-  -moz-padding-start: 6px;
   color: #8050B0;
 }
 
 .token-null {
-  -moz-padding-start: 6px;
   color: #008484;
 }
 
 .token-boolean {
-  -moz-padding-start: 6px;
   color: #FFCF00;
 }
 
 .token-number {
-  -moz-padding-start: 6px;
   color: #E7ADE7;
 }
 
 .token-string {
-  -moz-padding-start: 6px;
   color: #9C9CFF;
 }
 
 .token-other {
-  -moz-padding-start: 6px;
   color: #FF9F00;
 }
 
@@ -217,6 +508,7 @@ a {
   height: 9px;
   -moz-margin-start: 5px;
   -moz-margin-end: 5px;
+  margin-top: -2px;
   background: url("chrome://global/skin/tree/twisty-closed.gif") center center no-repeat;
 }
 
@@ -232,35 +524,30 @@ a {
   background-image: url("chrome://global/skin/tree/twisty-open-selected.gif");
 }
 
+.arrow[invisible] {
+  visibility: hidden;
+}
+
 /**
- * Animations
+ * Toolbar Controls
  */
 
-.details[open] {
-  -moz-animation-duration: 0.25s;
-  -moz-animation-name: showblock;
+#toggle-panes {
+  list-style-image: url("chrome://browser/skin/devtools/debugger-expand.png");
+  -moz-image-region: rect(0px, 16px, 16px, 0px);
 }
 
-@-moz-keyframes showblock {
-  from {
-    opacity: 0;
-    -moz-transform-origin: top;
-    -moz-transform: scaleY(0);
-  }
-
-  to {
-    opacity: 1;
-    -moz-transform-origin: top;
-    -moz-transform: scaleY(1);
-  }
+#toggle-panes:not([panesHidden]) {
+  list-style-image: url("chrome://browser/skin/devtools/debugger-collapse.png");
 }
 
-/**
- * Toolbar Controls
- */
+#toggle-panes:hover,
+#toggle-panes:hover:active {
+  -moz-image-region: rect(0px, 32px, 16px, 16px);
+}
 
 #resume {
-  list-style-image: url("chrome://browser/skin/devtools/debugger-pause.png");
+  list-style-image: url("chrome://browser/skin/devtools/debugger-play.png");
   -moz-image-region: rect(0px, 16px, 16px, 0px);
 }
 
@@ -301,17 +588,3 @@ a {
 
 #debugger-controls {
 }
-
-/**
- * Display helpers
- */
-
-.unselectable {
-  padding-top: 2px;
-  padding-bottom: 2px;
-}
-
-.info {
-  padding-top: 2px;
-  padding-bottom: 2px;
-}