[Pkg-mozext-commits] [compactheader] 272/441: Remove all event linstener on DOMAttrModified.

David Prévot taffit at moszumanska.debian.org
Wed Mar 18 12:29:09 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 9726ef7835db48f5ddd3fe6ad3c124a84312edaf
Author: Joachim.Herb at gmx.de <Joachim.Herb at gmx.de>
Date:   Fri Aug 26 00:00:38 2011 +0200

    Remove all event linstener on DOMAttrModified.
    
    --HG--
    branch : review_requests
---
 .../CompactHeader/content/compactHeaderOverlay.js  |  77 ++++++------
 chrome/CompactHeader/content/toolbar.js            | 130 ++++++++-------------
 test/compactheader/test-compactheader-toolbar.js   |   1 +
 3 files changed, 92 insertions(+), 116 deletions(-)

diff --git a/chrome/CompactHeader/content/compactHeaderOverlay.js b/chrome/CompactHeader/content/compactHeaderOverlay.js
index 505141d..9704122 100644
--- a/chrome/CompactHeader/content/compactHeaderOverlay.js
+++ b/chrome/CompactHeader/content/compactHeaderOverlay.js
@@ -105,6 +105,7 @@ org.mozdev.compactHeader.pane = function() {
   };
 
   var coheFirstTime = true;
+  var headerFirstTime = true;
 
   function coheOutputSubject(headerEntry, headerValue) {
     var subjectBox;
@@ -190,7 +191,7 @@ org.mozdev.compactHeader.pane = function() {
   }
 
   pub.coheOnLoadMsgHeaderPane = function() {
-    org.mozdev.compactHeader.debug.log("start coheOnLoadMsgHeaderPane");
+    org.mozdev.compactHeader.debug.log("coheOnLoadMsgHeaderPane start");
 
     coheInitializeHeaderViewTables();
 
@@ -206,22 +207,7 @@ org.mozdev.compactHeader.pane = function() {
     gCoheCollapsedHeaderViewMode =
       deckHeaderView.selectedPanel == document.getElementById('cohe_collapsedHeaderView');
 
-    var headerViewToolbox = document.getElementById("header-view-toolbox");
-    if (headerViewToolbox) {
-      headerViewToolbox.addEventListener("DOMAttrModified",
-        org.mozdev.compactHeader.toolbar.onDoCustomizationHeaderViewToolbox, false);
-    }
-
-    var mailToolbox = document.getElementById("mail-toolbox");
-    if (mailToolbox) {
-      mailToolbox.addEventListener("DOMAttrModified",
-        org.mozdev.compactHeader.toolbar.onDoCustomizationHeaderViewToolbox, false);
-    }
-    var dispMUAicon = document.getElementById("dispMUAicon");
-    if (dispMUAicon) {
-      dispMUAicon.addEventListener("DOMAttrModified",
-        org.mozdev.compactHeader.toolbar.onChangeDispMUAicon, false);
-    }
+    org.mozdev.compactHeader.debug.log("coheOnLoadMsgHeaderPane 1");
 
     // work around XUL deck bug where collapsed header view, if it's the persisted
     // default, wouldn't be sized properly because of the larger expanded
@@ -239,23 +225,16 @@ org.mozdev.compactHeader.pane = function() {
       document.getElementById('cohe_collapsed2LHeadersBox').collapsed = true;
     }
 
+    org.mozdev.compactHeader.debug.log("coheOnLoadMsgHeaderPane 2");
+
     if (coheFirstTime)
     {
+      org.mozdev.compactHeader.debug.log("coheFirstTime");
       coheFirstTime = false;
       gMessageListeners.push(coheMessageListener);
       org.mozdev.customizeHeaderToolbar.messenger.loadToolboxData();
       org.mozdev.compactHeader.toolbar.fillToolboxPalette();
       org.mozdev.customizeHeaderToolbar.messenger.saveToolboxData();
-      var toolbox = document.getElementById("header-view-toolbox");
-      toolbox.customizeDone = function(aEvent) {
-        MailToolboxCustomizeDone(aEvent, "CustomizeHeaderToolbar");
-        document.getElementById("header-view-toolbox").removeAttribute("doCustomization");
-        enableButtons();
-        org.mozdev.compactHeader.toolbar.CHTUpdateReplyButton();
-        org.mozdev.compactHeader.toolbar.CHTUpdateJunkButton();
-        org.mozdev.compactHeader.buttons.coheToggleStar();
-        org.mozdev.customizeHeaderToolbar.messenger.saveToolboxData();
-      };
 
       let collapsed2LtoCcBccBox = document.getElementById("cohe_collapsed2LtoCcBccBox");
       if (collapsed2LtoCcBccBox) {
@@ -268,26 +247,29 @@ org.mozdev.compactHeader.pane = function() {
       }
     }
 
+    org.mozdev.compactHeader.debug.log("coheOnLoadMsgHeaderPane 2a");
+
     if (cohe.firstrun) {
       coheCheckFirstRun();
     }
 
+    org.mozdev.compactHeader.debug.log("coheOnLoadMsgHeaderPane 3");
+
     coheToggleHeaderContent();
-    var dispMUA = document.getElementById('dispMUA');
-    if (dispMUA) {
-      dispMUA.collapsed = true;
-    }
+
+    org.mozdev.compactHeader.debug.log("coheOnLoadMsgHeaderPane 4");
+
     org.mozdev.compactHeader.toolbar.setButtonStyle();
     org.mozdev.customizeHeaderToolbar.messenger.saveToolboxData();
     org.mozdev.compactHeader.toolbar.dispMUACheck();
-    org.mozdev.compactHeader.debug.log("stop coheOnLoadMsgHeaderPane");
+    org.mozdev.compactHeader.debug.log("coheOnLoadMsgHeaderPane stop");
   }
 
   var coheMessageListener =
   {
     onStartHeaders:
     function cML_onStartHeaders () {
-        gCoheBuiltCollapsedView = false;
+      gCoheBuiltCollapsedView = false;
     },
 
     onEndHeaders:
@@ -296,7 +278,9 @@ org.mozdev.compactHeader.pane = function() {
       coheUpdateMessageHeaders();
     },
 
-    onEndAttachments: function cML_onEndAttachments(){}
+    onEndAttachments: function cML_onEndAttachments() {
+      setTimeout(org.mozdev.compactHeader.toolbar.onChangeDispMUAicon, 50);
+    }
   };
 
   pub.coheOnUnloadMsgHeaderPane = function()
@@ -366,7 +350,7 @@ org.mozdev.compactHeader.pane = function() {
 
   function enableButtons() {
     var hdrToolbar = document.getElementById("header-view-toolbar");
-    if (toolbar) {
+    if (hdrToolbar) {
       var buttons = hdrToolbar.querySelectorAll("[disabled*='true']");
       for (var i=0; i<buttons.length; i++) {
         buttons[i].removeAttribute("disabled");
@@ -510,6 +494,29 @@ org.mozdev.compactHeader.pane = function() {
       }
     }
 
+    if (headerFirstTime) {
+      org.mozdev.compactHeader.debug.log("headerFirstTime");
+      headerFirstTime = false;
+      var toolbox = document.getElementById("header-view-toolbox");
+      var mailToolbox = document.getElementById("mail-toolbox");
+      var oldCustomizeDone = toolbox.customizeDone;
+      var oldCustomizeDoneMailToolbox = mailToolbox.customizeDone;
+      toolbox.customizeDone = function(aEvent) {
+        org.mozdev.compactHeader.debug.log("customizeDone start");
+        oldCustomizeDone(aEvent);
+        org.mozdev.compactHeader.debug.log("customizeDone 0");
+        org.mozdev.compactHeader.toolbar.onDoCustomizationHeaderViewToolbox("doCustomization");
+        org.mozdev.compactHeader.debug.log("customizeDone stop");
+      };
+      mailToolbox.customizeDone = function(aEvent) {
+        org.mozdev.compactHeader.debug.log("customizeDone start");
+        oldCustomizeDoneMailToolbox(aEvent);
+        org.mozdev.compactHeader.debug.log("customizeDone 0");
+        org.mozdev.compactHeader.toolbar.onDoCustomizationHeaderViewToolbox("doCustomization");
+        org.mozdev.compactHeader.debug.log("customizeDone stop");
+      };
+    }
+
     if (gCoheCollapsedHeaderViewMode)
      gCoheBuiltCollapsedView = true;
 
diff --git a/chrome/CompactHeader/content/toolbar.js b/chrome/CompactHeader/content/toolbar.js
index 129e389..2d5ce6a 100644
--- a/chrome/CompactHeader/content/toolbar.js
+++ b/chrome/CompactHeader/content/toolbar.js
@@ -306,92 +306,47 @@ org.mozdev.compactHeader.toolbar = function() {
     org.mozdev.compactHeader.debug.log("dispMUACheck stop");
   };
 
-  pub.onChangeDispMUAicon = function(event) {
-    if (event.attrName == "src") {
-      org.mozdev.compactHeader.debug.log("onChangeDispMUAicon start");
-      var imageSrc = document.getElementById("dispMUAicon").getAttribute("src");
-      var IconContainerDispMUA = null;
-      /* toolbar button */
-      if (IconContainerDispMUA = document.getElementById("cohe_button-dispMUA")) {
-        IconContainerDispMUA.setAttribute("image", imageSrc);
-      }
-      /* expanded view 48 * 48 */
-      if (IconContainerDispMUA = document.getElementById("cohe_dispMUAiconExp")) {
-        IconContainerDispMUA.setAttribute("src", imageSrc);
-      }
-      /* two line view 32 * 32 */
-      if (IconContainerDispMUA = document.getElementById("cohe_dispMUAicon2line")) {
-        IconContainerDispMUA.setAttribute("src", imageSrc);
-      }
-      /* compact view 24 * 24 */
-      if (IconContainerDispMUA = document.getElementById("cohe_dispMUAiconCompact")) {
-        IconContainerDispMUA.setAttribute("src", imageSrc);
-      }
-      org.mozdev.compactHeader.debug.log("onChangeDispMUAicon stop");
+  pub.onChangeDispMUAicon = function() {
+    org.mozdev.compactHeader.debug.log("onChangeDispMUAicon start");
+    var imageSrc = document.getElementById("dispMUAicon").getAttribute("src");
+    var IconContainerDispMUA = null;
+    /* toolbar button */
+    if (IconContainerDispMUA = document.getElementById("cohe_button-dispMUA")) {
+      IconContainerDispMUA.setAttribute("image", imageSrc);
     }
-    else if (event.attrName == "tooltiptext") {
-      org.mozdev.compactHeader.debug.log("onChangeDispMUAicon start");
-      var tooltipText = document.getElementById("dispMUAicon").getAttribute("tooltiptext");
-      var buttonDispMUA = document.getElementById("cohe_button-dispMUA");
-      if (buttonDispMUA) {
-        buttonDispMUA.setAttribute("tooltiptext", tooltipText);
-      }
-      /* expanded view 48 * 48 */
-      if (IconContainerDispMUA = document.getElementById("cohe_dispMUAiconExp")) {
-        IconContainerDispMUA.setAttribute("tooltiptext", tooltipText);
-      }
-      /* two line view 32 * 32 */
-      if (IconContainerDispMUA = document.getElementById("cohe_dispMUAicon2line")) {
-        IconContainerDispMUA.setAttribute("tooltiptext", tooltipText);
-      }
-      /* compact view 24 * 24 */
-      if (IconContainerDispMUA = document.getElementById("cohe_dispMUAiconCompact")) {
-        IconContainerDispMUA.setAttribute("tooltiptext", tooltipText);
-      }
-      org.mozdev.compactHeader.debug.log("onChangeDispMUAicon stop");
+    /* expanded view 48 * 48 */
+    if (IconContainerDispMUA = document.getElementById("cohe_dispMUAiconExp")) {
+      IconContainerDispMUA.setAttribute("src", imageSrc);
     }
-  };
-
-//  function onChangeHeaderToolbar(event) {
-//    if (event.attrName == "currentset") {
-//      if (document.getElementById("button-dispMUA")) {
-//        gDBView.reloadMessage();
-//      }
-//      dispMUACheck();
-//      org.mozdev.compactHeader.buttons.coheToggleStar();
-//    }
-//  }
-  pub.onDoCustomizationHeaderViewToolbox = function(event) {
-    if (event.attrName == "doCustomization") {
-      org.mozdev.compactHeader.debug.log("onDoCustomizationHeaderViewToolbox start" + event);
-      org.mozdev.compactHeader.toolbar.dispMUACheck(document);
-      org.mozdev.compactHeader.buttons.coheToggleStar();
-      var dispMUAicon = document.getElementById("dispMUAicon");
-      if (dispMUAicon) {
-        var evt1 = document.createEvent("MutationEvents");
-        evt1.initMutationEvent("DOMAttrModified",
-            true, false, dispMUAicon,
-            dispMUAicon.getAttribute("src"),
-            dispMUAicon.getAttribute("src"),
-            "src",
-            evt1.MODIFICATION
-        );
-        dispMUAicon.dispatchEvent(evt1);
-        var evt2 = document.createEvent("MutationEvents");
-        evt2.initMutationEvent("DOMAttrModified",
-            true, false, dispMUAicon,
-            dispMUAicon.getAttribute("tooltiptext"),
-            dispMUAicon.getAttribute("tooltiptext"),
-            "tooltiptext",
-            evt2.MODIFICATION
-        );
-        dispMUAicon.dispatchEvent(evt2);
-      }
-      org.mozdev.compactHeader.debug.log("onDoCustomizationHeaderViewToolbox done");
+    /* two line view 32 * 32 */
+    if (IconContainerDispMUA = document.getElementById("cohe_dispMUAicon2line")) {
+      IconContainerDispMUA.setAttribute("src", imageSrc);
+    }
+    /* compact view 24 * 24 */
+    if (IconContainerDispMUA = document.getElementById("cohe_dispMUAiconCompact")) {
+      IconContainerDispMUA.setAttribute("src", imageSrc);
     }
+    org.mozdev.compactHeader.debug.log("onChangeDispMUAicon 1");
+    var tooltipText = document.getElementById("dispMUAicon").getAttribute("tooltiptext");
+    var buttonDispMUA = document.getElementById("cohe_button-dispMUA");
+    if (buttonDispMUA) {
+      buttonDispMUA.setAttribute("tooltiptext", tooltipText);
+    }
+    /* expanded view 48 * 48 */
+    if (IconContainerDispMUA = document.getElementById("cohe_dispMUAiconExp")) {
+      IconContainerDispMUA.setAttribute("tooltiptext", tooltipText);
+    }
+    /* two line view 32 * 32 */
+    if (IconContainerDispMUA = document.getElementById("cohe_dispMUAicon2line")) {
+      IconContainerDispMUA.setAttribute("tooltiptext", tooltipText);
+    }
+    /* compact view 24 * 24 */
+    if (IconContainerDispMUA = document.getElementById("cohe_dispMUAiconCompact")) {
+      IconContainerDispMUA.setAttribute("tooltiptext", tooltipText);
+    }
+    org.mozdev.compactHeader.debug.log("onChangeDispMUAicon stop");
   };
 
-
   function removeButtonDispMUA() {
     org.mozdev.compactHeader.debug.log("removeButtonDispMUA start");
     if (!document.getElementById("dispMUA")) {
@@ -505,6 +460,19 @@ org.mozdev.compactHeader.toolbar = function() {
     org.mozdev.compactHeader.debug.log("stop populateEmptyToolbar");
   };
 
+  pub.onDoCustomizationHeaderViewToolbox = function(event) {
+    org.mozdev.compactHeader.debug.log("onDoCustomizationHeaderViewToolbox start" + event);
+    org.mozdev.compactHeader.toolbar.CHTUpdateReplyButton();
+    org.mozdev.compactHeader.toolbar.CHTUpdateJunkButton();
+    org.mozdev.customizeHeaderToolbar.messenger.saveToolboxData();
+    org.mozdev.compactHeader.toolbar.dispMUACheck();
+    org.mozdev.compactHeader.buttons.coheToggleStar();
+    var dispMUAicon = document.getElementById("dispMUAicon");
+    if (dispMUAicon) {
+      org.mozdev.compactHeader.toolbar.onChangeDispMUAicon();
+    }
+    org.mozdev.compactHeader.debug.log("onDoCustomizationHeaderViewToolbox done");
+  };
 
   return pub;
 }();
diff --git a/test/compactheader/test-compactheader-toolbar.js b/test/compactheader/test-compactheader-toolbar.js
index b696173..284063b 100644
--- a/test/compactheader/test-compactheader-toolbar.js
+++ b/test/compactheader/test-compactheader-toolbar.js
@@ -477,6 +477,7 @@ function test_customize_header_toolbar_add_all_buttons(){
 
   // Reopen customization dialog and
   // all buttons are still in the palette
+  select_message_in_folder(folder, 1, mc);
   let ctc = open_header_pane_toolbar_customization(mc);
 
   let backButtons = new Array;

-- 
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