[Pkg-mozext-commits] [compactheader] 379/441: Version 2.0.7beta3: Add a new option to darken the header pane, if the message pane has focus. Updated test infrastructure.

David Prévot taffit at moszumanska.debian.org
Wed Mar 18 12:29:19 UTC 2015


This is an automated email from the git hooks/post-receive script.

taffit pushed a commit to branch master
in repository compactheader.

commit 76650e5069eaf0e8e4223da0da1bf99f846c96aa
Author: Joachim Herb <Joachim.Herb at gmx.de>
Date:   Wed Jan 2 18:36:36 2013 +0100

    Version 2.0.7beta3: Add a new option to darken the header pane, if the message pane has focus. Updated test infrastructure.
---
 .../CompactHeader/content/compactHeaderOverlay.js  |  70 +++++++-
 chrome/CompactHeader/content/preferences.xul       |   5 +
 chrome/CompactHeader/locale/cs/preferences.dtd     |   5 +-
 chrome/CompactHeader/locale/da/preferences.dtd     |   3 +-
 chrome/CompactHeader/locale/de/preferences.dtd     |   3 +-
 chrome/CompactHeader/locale/en-US/preferences.dtd  |   3 +-
 chrome/CompactHeader/locale/es-ES/preferences.dtd  |   3 +-
 chrome/CompactHeader/locale/fr/preferences.dtd     |   3 +-
 chrome/CompactHeader/locale/it/preferences.dtd     |   3 +-
 chrome/CompactHeader/locale/ja/preferences.dtd     |   3 +-
 chrome/CompactHeader/locale/pl/preferences.dtd     |   3 +-
 chrome/CompactHeader/locale/ru/preferences.dtd     |   3 +-
 chrome/CompactHeader/locale/sr/preferences.dtd     |   3 +-
 chrome/CompactHeader/locale/tr/preferences.dtd     |   3 +-
 chrome/CompactHeader/locale/zh-CN/preferences.dtd  |   3 +-
 defaults/preferences/prefs.js                      |   1 +
 install.rdf                                        |   4 +-
 .../test-compactheader-dark-on-focus.js            | 194 +++++++++++++++++++++
 test/executeTests.pl                               |  46 +++--
 test/shared-modules/test-compactheader-helpers.js  |  20 ++-
 test/testapps.csv                                  |  12 +-
 21 files changed, 353 insertions(+), 40 deletions(-)

diff --git a/chrome/CompactHeader/content/compactHeaderOverlay.js b/chrome/CompactHeader/content/compactHeaderOverlay.js
index f98e442..5af95bb 100644
--- a/chrome/CompactHeader/content/compactHeaderOverlay.js
+++ b/chrome/CompactHeader/content/compactHeaderOverlay.js
@@ -804,15 +804,82 @@ org.mozdev.compactHeader.pane = function() {
     }
 
     var multiMessage = document.getElementById("multimessage");
-    if (multiMessage){
+    if (multiMessage) {
       org.mozdev.compactHeader.debug.log("multiMessage " + multiMessage);
       multiMessage.addEventListener("DOMContentLoaded", multiMessageLoaded, true);
     }
 
+    addMessagePaneBoxFocusHandler();
     setDblClickHeaderEventHandler();
     org.mozdev.compactHeader.debug.log("coheInitializeOverlay stop");
   };
 
+  function addMessagePaneBoxFocusHandler() {
+    let messagepanebox = document.getElementById("messagepanebox");
+    if (messagepanebox) {
+      messagepanebox.addEventListener("focus", messagePaneBoxFocus, true);
+      messagepanebox.addEventListener("blur", messagePaneBoxBlur, true);
+    }
+  }
+
+  var msgHeaderViewBackground;
+
+  function messagePaneBoxFocus(event) {
+    org.mozdev.compactHeader.debug.log("messagePaneBoxFocus start");
+    let msgHeaderView = document.getElementById("msgHeaderView");
+    let wintype = document.documentElement.getAttribute("windowtype");
+//    let tabmail = document.getElementById("tabmail");
+    if (cohePrefBranch.getBoolPref("header.darkenonfocus") &&
+        msgHeaderView && wintype && wintype == "mail:3pane" ) {
+//          && tabmail && tabmail.tabContainer.selectedIndex == 0) {
+      org.mozdev.compactHeader.debug.log("background: " +
+          msgHeaderViewBackground);
+      if (typeof msgHeaderViewBackground === "undefined") {
+        var style =
+          document.defaultView.getComputedStyle(msgHeaderView, null);
+        msgHeaderViewBackground = style.getPropertyValue("background-color");
+      }
+      org.mozdev.compactHeader.debug.log("style: " + style);
+      org.mozdev.compactHeader.debug.log("background: " +
+        msgHeaderViewBackground);
+      let newColor = darkenColor(msgHeaderViewBackground);
+      msgHeaderView.style.backgroundColor = newColor;
+      //       msgHeaderView.setAttribute('style', 'background-color:darkblue;');
+    }
+    org.mozdev.compactHeader.debug.log("messagePaneBoxFocus stop");
+  }
+
+  function darkenColor(color) {
+    var digits = /(.*?)rgb\((\d+), (\d+), (\d+)\)/.exec(color);
+
+    var red = parseInt(digits[2]);
+    var green = parseInt(digits[3]);
+    var blue = parseInt(digits[4]);
+
+    let factor = 0.9;
+
+    red = red * factor;
+    green = green * factor;
+    blue = blue * factor;
+
+    var rgb = blue | (green << 8) | (red << 16);
+    return digits[1] + '#' + rgb.toString(16);
+}
+
+  function messagePaneBoxBlur(event) {
+    let msgHeaderView = document.getElementById("msgHeaderView");
+    let wintype = document.documentElement.getAttribute("windowtype");
+    let tabmail = document.getElementById("tabmail");
+//    if (msgHeaderView && wintype && wintype == "mail:3pane" &&
+//        tabmail && tabmail.tabContainer.selectedIndex == 0) {
+    if (msgHeaderView) {
+      if (!(typeof msgHeaderViewBackground === "undefined")) {
+        msgHeaderView.style.backgroundColor = msgHeaderViewBackground;
+        msgHeaderViewBackground = undefined;
+      }
+    }
+  }
+
   function setDblClickHeaderEventHandler() {
     var msgHeaderViewDeck = document.getElementById("msgHeaderViewDeck");
     if (msgHeaderViewDeck){
@@ -823,6 +890,7 @@ org.mozdev.compactHeader.pane = function() {
         msgHeaderViewDeck.removeEventListener("dblclick", org.mozdev.compactHeader.pane.coheToggleHeaderView, true);
     }
   }
+
   function multiMessageLoaded() {
     org.mozdev.compactHeader.debug.log("multiMessageLoaded start");
     org.mozdev.compactHeader.toolbar.setCurrentToolboxPosition(gCoheCollapsedHeaderViewMode);
diff --git a/chrome/CompactHeader/content/preferences.xul b/chrome/CompactHeader/content/preferences.xul
index d59ba3b..67e9461 100644
--- a/chrome/CompactHeader/content/preferences.xul
+++ b/chrome/CompactHeader/content/preferences.xul
@@ -34,6 +34,8 @@
                   name="extensions.CompactHeader.headersize.flatButtons" type="bool"/>
       <preference id="CompactHeader_dblclick_header"
                   name="extensions.CompactHeader.header.doubleclick" type="bool"/>
+      <preference id="CompactHeader_darken_on_focus"
+                  name="extensions.CompactHeader.header.darkenonfocus" type="bool"/>
       <preference id="CompactHeader_position"
                   name="extensions.CompactHeader.toolbox.position" type="string"/>
     </preferences>
@@ -53,6 +55,9 @@
     <checkbox id="CompactHeader_checkbox_dblclick_header"
               preference="CompactHeader_dblclick_header"
               label="&CompactHeader_menu.dblclick_header.caption;"/>
+    <checkbox id="CompactHeader_checkbox_darken_on_focus"
+              preference="CompactHeader_darken_on_focus"
+              label="&CompactHeader_menu.darken_on_focus.caption;"/>
     <groupbox id="CompactHeader_radiobox.ToolbarPosition">
       <caption label="&CompactHeader_radiobox.ToolbarPosition.caption;"/>
       <radiogroup id="CompactHeader_hdrToolbox.pos"
diff --git a/chrome/CompactHeader/locale/cs/preferences.dtd b/chrome/CompactHeader/locale/cs/preferences.dtd
index 758674c..d14c248 100644
--- a/chrome/CompactHeader/locale/cs/preferences.dtd
+++ b/chrome/CompactHeader/locale/cs/preferences.dtd
@@ -33,7 +33,7 @@
  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 ***** 
+ ***** END LICENSE BLOCK *****
 -->
 <!ENTITY CompactHeader_dialog.title "CompactHeader Nastavení">
 <!ENTITY CompactHeader_checkbox.Compact.TwolineView.caption "Zobrazit dva řádky v kompaktním zobrazení">
@@ -45,4 +45,5 @@
 <!ENTITY CompactHeader_radiobox.ToolbarPosition.top "střed">
 <!ENTITY CompactHeader_radiobox.ToolbarPosition.left "vlevo">
 <!ENTITY CompactHeader_radiobox.ToolbarPosition.none "neviditelný">
-<!ENTITY CompactHeader_menu.dblclick_header.caption "Toggle header by double click">
\ No newline at end of file
+<!ENTITY CompactHeader_menu.dblclick_header.caption "Toggle header by double click">
+<!ENTITY CompactHeader_menu.darken_on_focus.caption "Darken header if message pane has focus">
\ No newline at end of file
diff --git a/chrome/CompactHeader/locale/da/preferences.dtd b/chrome/CompactHeader/locale/da/preferences.dtd
index 2ebff1e..e7df4b1 100644
--- a/chrome/CompactHeader/locale/da/preferences.dtd
+++ b/chrome/CompactHeader/locale/da/preferences.dtd
@@ -33,7 +33,7 @@
  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 ***** 
+ ***** END LICENSE BLOCK *****
 -->
 <!ENTITY CompactHeader_dialog.title "CompactHeader Indstillinger">
 <!ENTITY CompactHeader_checkbox.Compact.TwolineView.caption "Vis to linjer i sammenfoldet visning">
@@ -46,3 +46,4 @@
 <!ENTITY CompactHeader_radiobox.ToolbarPosition.left "venstre">
 <!ENTITY CompactHeader_radiobox.ToolbarPosition.none "usynlig">
 <!ENTITY CompactHeader_menu.dblclick_header.caption "Vis/skjul meddelelseshovedet med dobbeltklik">
+<!ENTITY CompactHeader_menu.darken_on_focus.caption "Darken header if message pane has focus">
\ No newline at end of file
diff --git a/chrome/CompactHeader/locale/de/preferences.dtd b/chrome/CompactHeader/locale/de/preferences.dtd
index f780410..a3e08e7 100644
--- a/chrome/CompactHeader/locale/de/preferences.dtd
+++ b/chrome/CompactHeader/locale/de/preferences.dtd
@@ -45,4 +45,5 @@
 <!ENTITY CompactHeader_radiobox.ToolbarPosition.top   "oben">
 <!ENTITY CompactHeader_radiobox.ToolbarPosition.left  "links">
 <!ENTITY CompactHeader_radiobox.ToolbarPosition.none  "unsichtbar">
-<!ENTITY CompactHeader_menu.dblclick_header.caption "Umschalten der Kopfzeilen mit Doppelklick">
\ No newline at end of file
+<!ENTITY CompactHeader_menu.dblclick_header.caption "Umschalten der Kopfzeilen mit Doppelklick">
+<!ENTITY CompactHeader_menu.darken_on_focus.caption "Kopfzeile dunkel, falls Fokus auf Meldungsfläche">
\ No newline at end of file
diff --git a/chrome/CompactHeader/locale/en-US/preferences.dtd b/chrome/CompactHeader/locale/en-US/preferences.dtd
index f059356..74969bf 100644
--- a/chrome/CompactHeader/locale/en-US/preferences.dtd
+++ b/chrome/CompactHeader/locale/en-US/preferences.dtd
@@ -45,4 +45,5 @@
 <!ENTITY CompactHeader_radiobox.ToolbarPosition.top   "top">
 <!ENTITY CompactHeader_radiobox.ToolbarPosition.left  "left">
 <!ENTITY CompactHeader_radiobox.ToolbarPosition.none  "invisible">
-<!ENTITY CompactHeader_menu.dblclick_header.caption "Toggle header by double click">
\ No newline at end of file
+<!ENTITY CompactHeader_menu.dblclick_header.caption "Toggle header by double click">
+<!ENTITY CompactHeader_menu.darken_on_focus.caption "Darken header if message pane has focus">
\ No newline at end of file
diff --git a/chrome/CompactHeader/locale/es-ES/preferences.dtd b/chrome/CompactHeader/locale/es-ES/preferences.dtd
index edbe44c..e2d8533 100644
--- a/chrome/CompactHeader/locale/es-ES/preferences.dtd
+++ b/chrome/CompactHeader/locale/es-ES/preferences.dtd
@@ -33,7 +33,7 @@
  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 ***** 
+ ***** END LICENSE BLOCK *****
 -->
 <!ENTITY CompactHeader_dialog.title "Preferencias de CompactHeader">
 <!ENTITY CompactHeader_checkbox.Compact.TwolineView.caption "Usar dos filas para la vista compacta">
@@ -46,3 +46,4 @@
 <!ENTITY CompactHeader_radiobox.ToolbarPosition.left "Izquierda">
 <!ENTITY CompactHeader_radiobox.ToolbarPosition.none "Invisible">
 <!ENTITY CompactHeader_menu.dblclick_header.caption "Alternar la vista de las cabeceras mediante doble clic">
+<!ENTITY CompactHeader_menu.darken_on_focus.caption "Darken header if message pane has focus">
\ No newline at end of file
diff --git a/chrome/CompactHeader/locale/fr/preferences.dtd b/chrome/CompactHeader/locale/fr/preferences.dtd
index e9469a0..60d2ead 100644
--- a/chrome/CompactHeader/locale/fr/preferences.dtd
+++ b/chrome/CompactHeader/locale/fr/preferences.dtd
@@ -45,4 +45,5 @@
 <!ENTITY CompactHeader_radiobox.ToolbarPosition.top   "haut">
 <!ENTITY CompactHeader_radiobox.ToolbarPosition.left  "gauche">
 <!ENTITY CompactHeader_radiobox.ToolbarPosition.none  "invisible">
-<!ENTITY CompactHeader_menu.dblclick_header.caption "Toggle header by double click">
\ No newline at end of file
+<!ENTITY CompactHeader_menu.dblclick_header.caption "Toggle header by double click">
+<!ENTITY CompactHeader_menu.darken_on_focus.caption "Darken header if message pane has focus">
\ No newline at end of file
diff --git a/chrome/CompactHeader/locale/it/preferences.dtd b/chrome/CompactHeader/locale/it/preferences.dtd
index dcbe392..e8f056e 100644
--- a/chrome/CompactHeader/locale/it/preferences.dtd
+++ b/chrome/CompactHeader/locale/it/preferences.dtd
@@ -45,4 +45,5 @@
 <!ENTITY CompactHeader_radiobox.ToolbarPosition.top   "alto">
 <!ENTITY CompactHeader_radiobox.ToolbarPosition.left  "sinistra">
 <!ENTITY CompactHeader_radiobox.ToolbarPosition.none  "invisibile">
-<!ENTITY CompactHeader_menu.dblclick_header.caption "Toggle header by double click">
\ No newline at end of file
+<!ENTITY CompactHeader_menu.dblclick_header.caption "Toggle header by double click">
+<!ENTITY CompactHeader_menu.darken_on_focus.caption "Darken header if message pane has focus">
\ No newline at end of file
diff --git a/chrome/CompactHeader/locale/ja/preferences.dtd b/chrome/CompactHeader/locale/ja/preferences.dtd
index 8d14426..3fa63b9 100644
--- a/chrome/CompactHeader/locale/ja/preferences.dtd
+++ b/chrome/CompactHeader/locale/ja/preferences.dtd
@@ -34,7 +34,7 @@
  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 ***** 
+ ***** END LICENSE BLOCK *****
 -->
 <!ENTITY CompactHeader_dialog.title "CompactHeader 設定">
 <!ENTITY CompactHeader_checkbox.Compact.TwolineView.caption "2 行表示">
@@ -47,3 +47,4 @@
 <!ENTITY CompactHeader_radiobox.ToolbarPosition.left "左">
 <!ENTITY CompactHeader_radiobox.ToolbarPosition.none "非表示">
 <!ENTITY CompactHeader_menu.dblclick_header.caption "ダブルクリックでヘッダ表示を切り替える">
+<!ENTITY CompactHeader_menu.darken_on_focus.caption "Darken header if message pane has focus">
\ No newline at end of file
diff --git a/chrome/CompactHeader/locale/pl/preferences.dtd b/chrome/CompactHeader/locale/pl/preferences.dtd
index c65e794..7cfaa37 100644
--- a/chrome/CompactHeader/locale/pl/preferences.dtd
+++ b/chrome/CompactHeader/locale/pl/preferences.dtd
@@ -45,4 +45,5 @@
 <!ENTITY CompactHeader_radiobox.ToolbarPosition.top   "na górze">
 <!ENTITY CompactHeader_radiobox.ToolbarPosition.left  "po lewej">
 <!ENTITY CompactHeader_radiobox.ToolbarPosition.none  "niewidoczny">
-<!ENTITY CompactHeader_menu.dblclick_header.caption "Toggle header by double click">
\ No newline at end of file
+<!ENTITY CompactHeader_menu.dblclick_header.caption "Toggle header by double click">
+<!ENTITY CompactHeader_menu.darken_on_focus.caption "Darken header if message pane has focus">
\ No newline at end of file
diff --git a/chrome/CompactHeader/locale/ru/preferences.dtd b/chrome/CompactHeader/locale/ru/preferences.dtd
index 7a45851..d854e3b 100644
--- a/chrome/CompactHeader/locale/ru/preferences.dtd
+++ b/chrome/CompactHeader/locale/ru/preferences.dtd
@@ -33,7 +33,7 @@
  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 ***** 
+ ***** END LICENSE BLOCK *****
 
 -->
 <!ENTITY CompactHeader_dialog.title "Настройки CompactHeader">
@@ -47,3 +47,4 @@
 <!ENTITY CompactHeader_radiobox.ToolbarPosition.left "слева">
 <!ENTITY CompactHeader_radiobox.ToolbarPosition.none "невидимa">
 <!ENTITY CompactHeader_menu.dblclick_header.caption "Переключение режима двойным щелчком мышки">
+<!ENTITY CompactHeader_menu.darken_on_focus.caption "Darken header if message pane has focus">
\ No newline at end of file
diff --git a/chrome/CompactHeader/locale/sr/preferences.dtd b/chrome/CompactHeader/locale/sr/preferences.dtd
index 3c88705..b7baaf6 100644
--- a/chrome/CompactHeader/locale/sr/preferences.dtd
+++ b/chrome/CompactHeader/locale/sr/preferences.dtd
@@ -33,7 +33,7 @@
  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 ***** 
+ ***** END LICENSE BLOCK *****
 
 -->
 <!ENTITY CompactHeader_dialog.title "CompactHeader - опције">
@@ -47,3 +47,4 @@
 <!ENTITY CompactHeader_radiobox.ToolbarPosition.left "лево">
 <!ENTITY CompactHeader_radiobox.ToolbarPosition.none "невидљива">
 <!ENTITY CompactHeader_menu.dblclick_header.caption "Дуплим кликом пребацуј између заглавља">
+<!ENTITY CompactHeader_menu.darken_on_focus.caption "Darken header if message pane has focus">
\ No newline at end of file
diff --git a/chrome/CompactHeader/locale/tr/preferences.dtd b/chrome/CompactHeader/locale/tr/preferences.dtd
index 8bbe602..4126b1f 100644
--- a/chrome/CompactHeader/locale/tr/preferences.dtd
+++ b/chrome/CompactHeader/locale/tr/preferences.dtd
@@ -33,7 +33,7 @@
  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 ***** 
+ ***** END LICENSE BLOCK *****
 -->
 <!ENTITY CompactHeader_dialog.title "CompactHeader Tercihleri">
 <!ENTITY CompactHeader_checkbox.Compact.TwolineView.caption "Kompakt görünümde iki satır göster">
@@ -46,3 +46,4 @@
 <!ENTITY CompactHeader_radiobox.ToolbarPosition.left "sol">
 <!ENTITY CompactHeader_radiobox.ToolbarPosition.none "görünmez">
 <!ENTITY CompactHeader_menu.dblclick_header.caption "Başlığı çift tıklamayla aç-kapat">
+<!ENTITY CompactHeader_menu.darken_on_focus.caption "Darken header if message pane has focus">
\ No newline at end of file
diff --git a/chrome/CompactHeader/locale/zh-CN/preferences.dtd b/chrome/CompactHeader/locale/zh-CN/preferences.dtd
index dda12d8..004ad71 100644
--- a/chrome/CompactHeader/locale/zh-CN/preferences.dtd
+++ b/chrome/CompactHeader/locale/zh-CN/preferences.dtd
@@ -33,7 +33,7 @@
  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 ***** 
+ ***** END LICENSE BLOCK *****
 
 -->
 <!ENTITY CompactHeader_dialog.title "CompactHeader 首选项">
@@ -47,3 +47,4 @@
 <!ENTITY CompactHeader_radiobox.ToolbarPosition.left "左">
 <!ENTITY CompactHeader_radiobox.ToolbarPosition.none "不可见">
 <!ENTITY CompactHeader_menu.dblclick_header.caption "双击切换标题头">
+<!ENTITY CompactHeader_menu.darken_on_focus.caption "Darken header if message pane has focus">
\ No newline at end of file
diff --git a/defaults/preferences/prefs.js b/defaults/preferences/prefs.js
index 75baead..98c53e4 100644
--- a/defaults/preferences/prefs.js
+++ b/defaults/preferences/prefs.js
@@ -8,6 +8,7 @@ pref("extensions.CompactHeader.headersize.flatButtons", false);
 pref("extensions.CompactHeader.toolbox.position", "top");
 
 pref("extensions.CompactHeader.header.doubleclick", true);
+pref("extensions.CompactHeader.header.darkenonfocus", false);
 
 pref("extensions.CompactHeader.version", "0");
 pref("extensions.CompactHeader.firstrun", true);
diff --git a/install.rdf b/install.rdf
index 90d527b..c991558 100644
--- a/install.rdf
+++ b/install.rdf
@@ -6,7 +6,7 @@
 
 	<RDF:Description about="urn:mozilla:install-manifest">
 		<em:name>CompactHeader</em:name>
-		<em:version>2.0.7beta2</em:version>
+		<em:version>2.0.7beta3</em:version>
 		<em:description>Add ability to reduce header size to one or two lines. Linkify subjects in RSS feeds.</em:description>
 		<em:creator>Joachim Herb</em:creator>
 		<em:contributor>Zamula</em:contributor>
@@ -24,7 +24,7 @@
 			<RDF:Description>
 				<em:id>{3550f703-e582-4d05-9a08-453d09bdfdc6}</em:id>
 				<em:minVersion>8.0</em:minVersion>
-				<em:maxVersion>18.0a1</em:maxVersion>
+				<em:maxVersion>20.0a1</em:maxVersion>
 			</RDF:Description>
 		</em:targetApplication>
 	</RDF:Description>
diff --git a/test/compactheader/test-compactheader-dark-on-focus.js b/test/compactheader/test-compactheader-dark-on-focus.js
new file mode 100644
index 0000000..30d069f
--- /dev/null
+++ b/test/compactheader/test-compactheader-dark-on-focus.js
@@ -0,0 +1,194 @@
+/* ***** 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 Thunderbird Mail Client.
+ *
+ * The Initial Developer of the Original Code is
+ * the Mozilla Foundation.
+ * Portions created by the Initial Developer are Copyright (C) 2009
+ * the Initial Developer. All Rights Reserved.
+ *
+ * Contributor(s):
+ *   Joachim Herb <Joachim.Herb at gmx.de>
+ *
+ * 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 ***** */
+
+var MODULE_NAME = 'test-compactheader-dark-on-focus';
+
+var RELATIVE_ROOT = '../shared-modules';
+var MODULE_REQUIRES = ['folder-display-helpers', 'window-helpers',
+                       'address-book-helpers', 'mouse-event-helpers',
+                       'compactheader-helpers'];
+
+const DARKEN_PREF="extensions.CompactHeader.header.darkenonfocus";
+
+var elib = {};
+Cu.import('resource://mozmill/modules/elementslib.js', elib);
+var controller = {};
+Cu.import('resource://mozmill/modules/controller.js', controller);
+
+// The WindowHelper module
+var WindowHelper;
+
+var folder1;
+var normalBackground;
+
+function setupModule(module) {
+  let fdh = collector.getModule('folder-display-helpers');
+  fdh.installInto(module);
+  WindowHelper = collector.getModule('window-helpers');
+  WindowHelper.installInto(module);
+  let abh = collector.getModule('address-book-helpers');
+  abh.installInto(module);
+  let meh = collector.getModule('mouse-event-helpers');
+  meh.installInto(module);
+  let meh = collector.getModule('mouse-event-helpers');
+  meh.installInto(module);
+  let chh = collector.getModule('compactheader-helpers');
+  chh.installInto(module);
+
+  folder1 = create_folder("DarkenTest1");
+
+  let msg = create_message({cc: msgGen.makeNamesAndAddresses(3),
+    to: msgGen.makeNamesAndAddresses(1)
+  });
+
+  add_message_to_folder(folder1, msg);
+  let curMessage = select_message_in_folder(folder1, 0, mc);
+  let msgHeaderView = mc.window.document.getElementById("msgHeaderView");
+  normalBackground = mc.window.getComputedStyle(msgHeaderView)
+                       .getPropertyValue("background-color");
+  mc.sleep(1000);
+}
+
+function teardownModule() {
+  Services.prefs.clearUserPref(DARKEN_PREF);
+  let abwc = openAddressBook();
+  close3PaneWindow();
+  mc = open3PaneWindow();
+  abwc.window.close();
+}
+
+function test_normal_background() {
+  let curMessage = select_message_in_folder(folder1, 0, mc);
+  set_pane_layout(kClassicMailLayout);
+  assert_pane_layout(kClassicMailLayout);
+  sub_test_background(normalBackground, mc, mc.eid('threadTree'));
+  sub_test_background(normalBackground, mc, mc.eid('messagepane'));
+
+  set_pane_layout(kWideMailLayout);
+  assert_pane_layout(kWideMailLayout);
+  sub_test_background(normalBackground, mc, mc.eid('threadTree'));
+  sub_test_background(normalBackground, mc, mc.eid('messagepane'));
+
+  set_pane_layout(kClassicMailLayout);
+  assert_pane_layout(kClassicMailLayout);
+  sub_test_background(normalBackground, mc, mc.eid('threadTree'));
+  sub_test_background(normalBackground, mc, mc.eid('messagepane'));
+}
+
+function test_darken_background() {
+  let abwc = openAddressBook();
+  close3PaneWindow();
+  mc = open3PaneWindow();
+  abwc.window.close();
+
+  let darkenBackground = darkenColor(normalBackground, 0.9);
+
+  let curMessage = select_message_in_folder(folder1, 0, mc);
+  expand_and_assert_header(mc);
+  open_preferences_dialog(mc, set_preferences_darken);
+
+  sub_test_background(normalBackground, mc, mc.eid('displayDeck'));
+
+  sub_test_background(darkenBackground, mc, mc.eid('messagepane'));
+
+  set_pane_layout(kWideMailLayout);
+  assert_pane_layout(kWideMailLayout);
+  sub_test_background(normalBackground, mc, mc.eid('threadTree'));
+  sub_test_background(darkenBackground, mc, mc.eid('messagepane'));
+
+  let msgc = open_selected_message_in_new_window();
+  sub_test_background(normalBackground, msgc, msgc.eid('messagepane'));
+  close_window(msgc);
+
+  sub_test_background(normalBackground, mc, mc.eid('threadTree'));
+  sub_test_background(darkenBackground, mc, mc.eid('messagepane'));
+
+  open_preferences_dialog(mc, set_preferences_non_darken);
+  sub_test_background(normalBackground, mc, mc.eid('threadTree'));
+  sub_test_background(normalBackground, mc, mc.eid('messagepane'));
+
+  set_pane_layout(kClassicMailLayout);
+  assert_pane_layout(kClassicMailLayout);
+  sub_test_background(normalBackground, mc, mc.eid('threadTree'));
+  sub_test_background(normalBackground, mc, mc.eid('messagepane'));
+}
+
+function sub_test_background(aColor, aController, aTarget) {
+  expand_and_assert_header(aController);
+  mc.click(aTarget);
+  let msgHeaderView = aController.window.document.getElementById("msgHeaderView");
+  let background =  aController.window.getComputedStyle(msgHeaderView)
+                             .getPropertyValue("background-color");
+
+  assert_equals(darkenColor(aColor, 1), darkenColor(background, 1));
+
+  open_preferences_dialog(aController, set_preferences_twoline);
+  aController.sleep(10);
+  collapse_and_assert_header(aController);
+  mc.click(aTarget);
+  msgHeaderView = aController.window.document.getElementById("msgHeaderView");
+  background =  aController.window.getComputedStyle(msgHeaderView)
+                         .getPropertyValue("background-color");
+  assert_equals(darkenColor(aColor, 1), darkenColor(background, 1));
+
+  open_preferences_dialog(aController, set_preferences_oneline);
+  aController.sleep(10);
+  collapse_and_assert_header(aController);
+  mc.click(aTarget);
+  msgHeaderView = aController.window.document.getElementById("msgHeaderView");
+  background =  aController.window.getComputedStyle(msgHeaderView)
+                         .getPropertyValue("background-color");
+  assert_equals(darkenColor(aColor, 1), darkenColor(background, 1));
+}
+
+function darkenColor(color, factor) {
+  if (color.substr(0, 1) === '#') {
+    return color;
+  }
+  var digits = /(.*?)rgb\((\d+), (\d+), (\d+)\)/.exec(color);
+
+  var red = parseInt(digits[2]);
+  var green = parseInt(digits[3]);
+  var blue = parseInt(digits[4]);
+
+  red = red * factor;
+  green = green * factor;
+  blue = blue * factor;
+
+  var rgb = blue | (green << 8) | (red << 16);
+  return digits[1] + '#' + rgb.toString(16);
+}
diff --git a/test/executeTests.pl b/test/executeTests.pl
index 3c7f4c0..8d1de50 100644
--- a/test/executeTests.pl
+++ b/test/executeTests.pl
@@ -47,10 +47,15 @@ use Getopt::Long;
 my $file = 'testapps.csv';
 my $xpiversion = `grep 'version>' ../install.rdf | sed -e 's/.*version>\\(.*\\)<\\/em.*/\\1/'`;
 chomp($xpiversion);
-my $xpi = "../../../AMO/CompactHeader-${xpiversion}.xpi";
+my $xpi = getcwd . "/../AMO/CompactHeader-${xpiversion}.xpi";
+
 print "xpi: $xpi\n";
 
-my $ftpdir = "ftp";
+my $ftpdir = "/tmp/compactheader/ftp";
+mkdir "$ftpdir";
+copy($xpi, $ftpdir);
+$xpi = "../../ftp/CompactHeader-${xpiversion}.xpi";
+print "xpi: $xpi\n";
 
 my ($ostype,$hosttype,$version,$ftppath,$app,$tests,$lightning,$checksum);
 my ($unpack, $unpackargs, $unpacktargetargs, $appbin, $virtualpython);
@@ -64,7 +69,6 @@ GetOptions('version:s' => \$testversion,
 
 open (F, $file) || die ("Could not open $file!");
 
-mkdir "$ftpdir";
 
 if ($^O eq "msys") {
   $unpack = "unzip";
@@ -92,12 +96,8 @@ my $mnenhy = "https://addons.mozilla.org/thunderbird/downloads/latest/2516/addon
 my %testSpecs;
 
 system "wget", "-q", "-P", "$ftpdir", "-N", "$dispMUA";
-my @dispMUAfiles = glob("$ftpdir/display_*");
-$dispMUAfile = $dispMUAfiles[-1];
 
 system "wget", "-q", "-P", "$ftpdir", "-N", "$mnenhy";
-my @mnenhyfiles = glob("$ftpdir/mnenhy-*");
-$mnenhyfile = $mnenhyfiles[-1];
 
 while (my $line = <F>)
 {
@@ -118,7 +118,8 @@ while (my $line = <F>)
     foreach my $file (@files) {
       unlink($file);
     }
-    # print "wget -r -l1 --no-parent --follow-ftp -A$checksums $ftppath -nd -P $ftpdir 2>&1\n";
+    #print "wget -r -l1 --no-parent --follow-ftp -A$checksum $ftppath -nd -P $ftpdir 2>&1\n";
+    #print "wget -r -l1 --no-parent --follow-ftp -A$checksum $ftppath -nd -P \"$ftpdir\";\n";
     `wget -r -l1 --no-parent --follow-ftp -A$checksum $ftppath -nd -P "$ftpdir" 2>&1`;
     @files = glob("$ftpdir/thunderbird*$checksum");
 
@@ -153,7 +154,7 @@ while (my $line = <F>)
 
       print "child: $ostype\t$hosttype\t$ftppath\t$app\t$tests\n";
 
-      my $testdir = "test-$version";
+      my $testdir = "/tmp/compactheader/test-$version";
 
       mkdir "$testdir";
       system "wget", "-q", "-P", "$ftpdir/$ostype-$hosttype-$version", "-N", "$ftppath/$app";
@@ -208,7 +209,7 @@ foreach my $pid (@children) {
 
   print "$pid\t$ostype\t$hosttype\t$version\t$appbin\t$tests\n";
 
-  my $testdir = "test-$version";
+  my $testdir = "/tmp/compactheader/test-$version";
   chdir "$testdir/mozmill";
   #system "pwd";
 
@@ -217,7 +218,10 @@ foreach my $pid (@children) {
 
   no warnings;
   if (int($version) >= 9) {
-  use warnings;
+    use warnings;
+    print "\n";
+    print getcwd;
+    print "... installing mozmill\n";
     `python resources/installmozmill.py ../mozmill-virtualenv`;
     $python = "$virtualpython";
   }
@@ -225,22 +229,32 @@ foreach my $pid (@children) {
     $python = "python"
   }
 
+  my @dispMUAfiles = glob("../../ftp/display_*");
+  $dispMUAfile = $dispMUAfiles[-1];
+  my @mnenhyfiles = glob("$ftpdir/mnenhy-*");
+  $mnenhyfile = $mnenhyfiles[-1];
+
   # We have out own tests for this, so delete it
   unlink("message-header/test-header-toolbar.js");
   my @compatibility_apps = (
-    glob("../../ftp//$ostype-$hosttype-$version/lightning*.xpi"),
-    "../../$dispMUAfile",
-#    "../../$mnenhyfile" # activate when mozmill can handle this addon:
+    glob("../../ftp/$ostype-$hosttype-$version/lightning*.xpi"),
+    "$dispMUAfile",
+#    "$mnenhyfile" # activate when mozmill can handle this addon:
   );
 
   my $comp_apps = join(",", @compatibility_apps);
-
   print $comp_apps;
-#    print "$python runtest.py --binary=../thunderbird/$appbin -a $xpi -t compactheader 2>&1\n";
+  print "\n";
+
+  print "\n$python runtest.py --binary=../thunderbird/$appbin -a $xpi -t compactheader 2>&1\n";
   $log = $log . `$python runtest.py --binary=../thunderbird/$appbin -a $xpi -t compactheader 2>&1`;
+  print "\n$python runtest.py --binary=../thunderbird/$appbin -a $xpi -t message-header 2>&1\n";
   $log = $log . `$python runtest.py --binary=../thunderbird/$appbin -a $xpi -t message-header 2>&1`;
+  print "\n$python runtest.py --binary=../thunderbird/$appbin -a $xpi -t folder-display 2>&1\n";
   $log = $log . `$python runtest.py --binary=../thunderbird/$appbin -a $xpi -t folder-display 2>&1`;
+  print "\n$python runtest.py --binary=../thunderbird/$appbin -a $xpi,$comp_apps -t compactheader/test-compactheader-toolbar.js 2>&1\n";
   $log = $log . `$python runtest.py --binary=../thunderbird/$appbin -a $xpi,$comp_apps -t compactheader/test-compactheader-toolbar.js 2>&1`;
+  print "\n$python runtest.py --binary=../thunderbird/$appbin -a $xpi,$comp_apps -t compactheader/test-compactheader-preferences.js 2>&1\n";
   $log = $log . `$python runtest.py --binary=../thunderbird/$appbin -a $xpi,$comp_apps -t compactheader/test-compactheader-preferences.js 2>&1`;
 
   chdir "$currentdir";
diff --git a/test/shared-modules/test-compactheader-helpers.js b/test/shared-modules/test-compactheader-helpers.js
index 114913a..8a69413 100644
--- a/test/shared-modules/test-compactheader-helpers.js
+++ b/test/shared-modules/test-compactheader-helpers.js
@@ -85,6 +85,8 @@ function installInto(module) {
   module.subtest_change_twoline = subtest_change_twoline;
   module.set_preferences_twoline = set_preferences_twoline;
   module.set_preferences_oneline = set_preferences_oneline;
+  module.set_preferences_darken = set_preferences_darken;
+  module.set_preferences_non_darken = set_preferences_non_darken;
   module.subtest_change_dblclick = subtest_change_dblclick;
   module.subtest_change_no_dblclick = subtest_change_no_dblclick;
   module.assert_collapsed = assert_collapsed;
@@ -418,6 +420,22 @@ function set_preferences_oneline(aController) {
   close_preferences_dialog(aController);
 }
 
+function set_preferences_darken(aController) {
+  let checkboxDarken = aController.eid("CompactHeader_checkbox_darken_on_focus");
+  if (!checkboxDarken.node.getAttribute("checked")) {
+    aController.click(checkboxDarken);
+  }
+  close_preferences_dialog(aController);
+}
+
+function set_preferences_non_darken(aController) {
+  let checkboxDarken = aController.eid("CompactHeader_checkbox_darken_on_focus");
+  if (checkboxDarken.node.getAttribute("checked")) {
+    aController.click(checkboxDarken);
+  }
+  close_preferences_dialog(aController);
+}
+
 function isVisible(aElem) {
   if (aElem.hidden || aElem.collapsed)
     return false;
@@ -437,7 +455,7 @@ function subtest_change_no_dblclick(aController) {
   if (dblClickNode.hasAttribute("checked")) {
     aController.click(dblClick);
   }
-  
+
   close_preferences_dialog(aController);
 }
 
diff --git a/test/testapps.csv b/test/testapps.csv
index b87cac0..d518c28 100644
--- a/test/testapps.csv
+++ b/test/testapps.csv
@@ -1,10 +1,10 @@
-"msys","i686","https://ftp.mozilla.org/pub/mozilla.org/thunderbird/nightly/latest-candidate-comm-release/win32/en-US/","thunderbird-_VER_.zip","thunderbird-_VER_.tests.zip",".checksums","https://addons.mozilla.org/thunderbird/downloads/latest/2313/platform:5/addon-2313-latest.xpi"
-"linux","i686","https://ftp.mozilla.org/pub/mozilla.org/thunderbird/nightly/latest-candidate-comm-release/linux-i686/en-US/","thunderbird-_VER_.tar.bz2","thunderbird-_VER_.tests.zip",".checksums","https://addons.mozilla.org/thunderbird/downloads/latest/2313/platform:2/addon-2313-latest.xpi"
-"linux","x86_64","https://ftp.mozilla.org/pub/mozilla.org/thunderbird/nightly/latest-candidate-comm-release/linux-x86_64/en-US/","thunderbird-_VER_.tar.bz2","thunderbird-_VER_.tests.zip",".checksums","https://addons.mozilla.org/thunderbird/downloads/latest/2313/platform:2/addon-2313-latest.xpi"
+"msys","i686","https://ftp.mozilla.org/pub/mozilla.org/thunderbird/nightly/17.0esr-candidates/build4/win32/en-US/","thunderbird-_VER_.zip","thunderbird-_VER_.tests.zip",".checksums","https://addons.mozilla.org/thunderbird/downloads/latest/2313/platform:5/addon-2313-latest.xpi"
+"linux","i686","https://ftp.mozilla.org/pub/mozilla.org/thunderbird/nightly/17.0esr-candidates/build4/linux-i686/en-US/","thunderbird-_VER_.tar.bz2","thunderbird-_VER_.tests.zip",".checksums","https://addons.mozilla.org/thunderbird/downloads/latest/2313/platform:2/addon-2313-latest.xpi"
+"linux","x86_64","https://ftp.mozilla.org/pub/mozilla.org/thunderbird/nightly/17.0esr-candidates/build4/linux-x86_64/en-US/","thunderbird-_VER_.tar.bz2","thunderbird-_VER_.tests.zip",".checksums","https://addons.mozilla.org/thunderbird/downloads/latest/2313/platform:2/addon-2313-latest.xpi"
 
-"msys","i686","https://ftp.mozilla.org/pub/mozilla.org/thunderbird/nightly/latest-candidate-comm-beta/win32/en-US/","thunderbird-_VER_.zip","thunderbird-_VER_.tests.zip",".checksums","https://ftp.mozilla.org/pub/mozilla.org/calendar/lightning/nightly/1.3b1-candidates/build1/win32/lightning.xpi"
-"linux","i686","https://ftp.mozilla.org/pub/mozilla.org/thunderbird/nightly/latest-candidate-comm-beta/linux-i686/en-US/","thunderbird-_VER_.tar.bz2","thunderbird-_VER_.tests.zip",".checksums","https://ftp.mozilla.org/pub/mozilla.org/calendar/lightning/nightly/1.3b1-candidates/build1/linux/lightning.xpi"
-"linux","x86_64","https://ftp.mozilla.org/pub/mozilla.org/thunderbird/nightly/latest-candidate-comm-beta/linux-x86_64/en-US/","thunderbird-_VER_.tar.bz2","thunderbird-_VER_.tests.zip",".checksums","https://ftp.mozilla.org/pub/mozilla.org/calendar/lightning/nightly/1.3b1-candidates/build1/linux/lightning.xpi"
+"msys","i686","https://ftp.mozilla.org/pub/mozilla.org/thunderbird/nightly/18.0b1-candidates/build1/win32/en-US/","thunderbird-_VER_.zip","thunderbird-_VER_.tests.zip",".checksums","https://ftp.mozilla.org/pub/mozilla.org/calendar/lightning/nightly/1.3b1-candidates/build1/win32/lightning.xpi"
+"linux","i686","https://ftp.mozilla.org/pub/mozilla.org/thunderbird/nightly/18.0b1-candidates/build1/linux-i686/en-US/","thunderbird-_VER_.tar.bz2","thunderbird-_VER_.tests.zip",".checksums","https://ftp.mozilla.org/pub/mozilla.org/calendar/lightning/nightly/1.3b1-candidates/build1/linux/lightning.xpi"
+"linux","x86_64","https://ftp.mozilla.org/pub/mozilla.org/thunderbird/nightly/18.0b1-candidates/build1/linux-x86_64/en-US/","thunderbird-_VER_.tar.bz2","thunderbird-_VER_.tests.zip",".checksums","https://ftp.mozilla.org/pub/mozilla.org/calendar/lightning/nightly/1.3b1-candidates/build1/linux/lightning.xpi"
 
 "msys","i686","https://ftp.mozilla.org/pub/mozilla.org/thunderbird/nightly/latest-comm-aurora/","thunderbird-_VER_.en-US.win32.zip","thunderbird-_VER_.en-US.win32.tests.zip",".en-US.win32.checksums","https://ftp.mozilla.org/pub/mozilla.org/calendar/lightning/nightly/latest-comm-aurora/win32-xpi/lightning.xpi"
 "linux","i686""https://ftp.mozilla.org/pub/mozilla.org/thunderbird/nightly/latest-comm-aurora/","thunderbird-_VER_.en-US.linux-i686.tar.bz2","thunderbird-_VER_.en-US.linux-i686.tests.zip",".en-US.linux-i686.checksums","https://ftp.mozilla.org/pub/mozilla.org/calendar/lightning/nightly/latest-comm-miramar/linux-xpi/lightning.xpi"

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-mozext/compactheader.git



More information about the Pkg-mozext-commits mailing list