first step to sync LCARStrek with browser winstripe changes in Firefox 20 cycle
[themes.git] / LCARStrek / browser / devtools / debugger.css
index e3b494c5497ce7ebe8c9075abae341ad1005f27a..d761845648a296e6099a6c5e7daf8abc12d1d6fe 100644 (file)
 /* -*- Mode: javascript; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
 /* vim: set ft=javascript ts=2 et sw=2 tw=80: */
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1/GPL 2.0/LGPL 2.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is mozilla.org code.
- *
- * The Initial Developer of the Original Code is
- *   Mozilla Foundation
- * Portions created by the Initial Developer are Copyright (C) 2011
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *   Dave Camp <dcamp@mozilla.com>
- *   Victor Porof <vporof@mozilla.com>
- *   Panos Astithas <past@mozilla.com>
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either the GNU General Public License Version 2 or later (the "GPL"), or
- * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- * in which case the provisions of the GPL or the LGPL are applicable instead
- * of those above. If you wish to allow use of your version of this file only
- * under the terms of either the GPL or the LGPL, and not to allow others to
- * use your version of this file under the terms of the MPL, indicate your
- * decision by deleting the provisions above and replace them with the notice
- * and other provisions required by the GPL or the LGPL. If you do not delete
- * the provisions above, a recipient may use your version of this file under
- * the terms of any one of the MPL, the GPL or the LGPL.
- *
- * ***** END LICENSE BLOCK ***** */
+/* 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/. */
 
 window {
   padding: 0;
 }
 
 #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 {
@@ -139,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;
 }
 
 /**
@@ -160,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
  */
@@ -184,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;
 }
 
@@ -252,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;
 }
 
@@ -267,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);
 }
 
@@ -336,17 +588,3 @@ a {
 
 #debugger-controls {
 }
-
-/**
- * Display helpers
- */
-
-.unselectable {
-  padding-top: 2px;
-  padding-bottom: 2px;
-}
-
-.info {
-  padding-top: 2px;
-  padding-bottom: 2px;
-}