[Pkg-mozext-commits] [tabmixplus] 25/51: Move our gBrowser.tabContainer event handlers to Tabmix.tabsUtils

David Prévot taffit at moszumanska.debian.org
Mon Feb 2 18:36:49 UTC 2015


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

taffit pushed a commit to branch master
in repository tabmixplus.

commit 84193068a7b184189f71df61feaab9df4137fcfb
Author: onemen <tabmix.onemen at gmail.com>
Date:   Sat Jan 3 20:00:54 2015 +0200

    Move our gBrowser.tabContainer event handlers to Tabmix.tabsUtils
---
 chrome/content/tab/tab.js           | 45 ++++++++++++++++++++++++++++++++++++-
 chrome/content/tab/tabbrowser_4.xml | 45 -------------------------------------
 2 files changed, 44 insertions(+), 46 deletions(-)

diff --git a/chrome/content/tab/tab.js b/chrome/content/tab/tab.js
index 2683149..cf21c8b 100644
--- a/chrome/content/tab/tab.js
+++ b/chrome/content/tab/tab.js
@@ -563,7 +563,11 @@ Tabmix.tabsUtils = {
     return (this.tabstripInnerbox = elm);
   },
 
+  events: ["MozMouseHittest", "dblclick", "click", "dragstart",
+           "drop", "dragend", "dragexit"],
+
   init: function() {
+    TMP_eventListener.toggleEventListener(this.tabBar, this.events, true, this);
     // add dragover event handler to TabsToolbar to capture dragging over
     // tabbar margin area, filter out events that are out of the tabbar
     this.tabBar.parentNode.addEventListener("dragover", this, true);
@@ -633,6 +637,9 @@ Tabmix.tabsUtils = {
   },
 
   onUnload: function() {
+    if (!this.initialized)
+      return;
+    TMP_eventListener.toggleEventListener(this.tabBar, this.events, false, this);
     if (this.tabBar.parentNode)
       this.tabBar.parentNode.removeEventListener("dragover", this, true);
     delete this.tabstripInnerbox;
@@ -641,13 +648,49 @@ Tabmix.tabsUtils = {
 
   handleEvent: function(aEvent) {
     switch (aEvent.type) {
+      case "MozMouseHittest":
+        if (aEvent.button === 0 && (Tabmix.keyModifierDown || aEvent.detail > 0))
+          aEvent.stopPropagation();
+        break;
+      case "dblclick":
+        if (Tabmix.prefs.getBoolPref("tabbar.click_dragwindow") &&
+            Tabmix.prefs.getBoolPref("tabbar.dblclick_changesize") &&
+            !TabmixSvc.isMac && aEvent.target.localName == "tabs") {
+          let displayAppButton = !(document.getElementById("titlebar") ||
+                                   document.getElementById("appmenu-toolbar-button")).hidden;
+          let tabsOnTop = !window.TabsOnTop || TabsOnTop.enabled;
+          if (TabsInTitlebar.enabled ||
+              (displayAppButton && tabsOnTop && this.tabBar.parentNode._dragBindingAlive))
+            return;
+        }
+        TabmixTabClickOptions.onTabBarDblClick(aEvent);
+        break;
+      case "click":
+        TabmixTabClickOptions.onTabClick(aEvent);
+        break;
+      case "dragstart":
+        if (this.tabBar.useTabmixDragstart(aEvent))
+          TMP_tabDNDObserver.onDragStart(aEvent);
+        break;
       case "dragover":
         let target = aEvent.target.localName;
         if (target != "tab" && target != "tabs")
           return;
-        if (gBrowser.tabContainer.useTabmixDnD(aEvent))
+        if (this.tabBar.useTabmixDnD(aEvent))
           TMP_tabDNDObserver.onDragOver(aEvent);
         break;
+      case "drop":
+        if (this.tabBar.useTabmixDnD(aEvent))
+          TMP_tabDNDObserver.onDrop(aEvent);
+        break;
+      case "dragend":
+        if (this.tabBar.orient == "horizontal")
+          TMP_tabDNDObserver.onDragEnd(aEvent);
+        break;
+      case "dragexit":
+        if (this.tabBar.useTabmixDnD(aEvent))
+          TMP_tabDNDObserver.onDragExit(aEvent);
+        break;
     }
   },
 
diff --git a/chrome/content/tab/tabbrowser_4.xml b/chrome/content/tab/tabbrowser_4.xml
index a2637ef..960504a 100644
--- a/chrome/content/tab/tabbrowser_4.xml
+++ b/chrome/content/tab/tabbrowser_4.xml
@@ -433,51 +433,6 @@
       <property name="realCollapsedTabs" readonly="true" onget="return 0;"/>
 
     </implementation>
-
-    <handlers>
-      <handler event="MozMouseHittest" button="0"  phase="capturing"><![CDATA[
-        if (Tabmix.keyModifierDown || event.detail > 0)
-          event.stopPropagation();
-      ]]></handler>
-
-      <handler event="dblclick" phase="capturing"><![CDATA[
-        if (Tabmix.prefs.getBoolPref("tabbar.click_dragwindow") &&
-            Tabmix.prefs.getBoolPref("tabbar.dblclick_changesize") &&
-            !TabmixSvc.isMac && event.target.localName == "tabs") {
-          let displayAppButton = !(document.getElementById("titlebar") || document.getElementById("appmenu-toolbar-button")).hidden;
-          let tabsOnTop = !window.TabsOnTop || TabsOnTop.enabled;
-          if (TabsInTitlebar.enabled ||
-              (displayAppButton && tabsOnTop && this.parentNode._dragBindingAlive))
-            return;
-        }
-        TabmixTabClickOptions.onTabBarDblClick(event);
-      ]]></handler>
-
-      <handler event="click" phase="capturing"><![CDATA[
-        TabmixTabClickOptions.onTabClick(event);
-      ]]></handler>
-
-      <handler event="dragstart" phase="capturing"><![CDATA[
-        if (this.useTabmixDragstart(event))
-          TMP_tabDNDObserver.onDragStart(event);
-      ]]></handler>
-
-      <handler event="drop" phase="capturing"><![CDATA[
-        if (this.useTabmixDnD(event))
-          TMP_tabDNDObserver.onDrop(event);
-      ]]></handler>
-
-      <handler event="dragend" phase="capturing"><![CDATA[
-        if (this.orient == "horizontal")
-          TMP_tabDNDObserver.onDragEnd(event);
-      ]]></handler>
-
-      <handler event="dragexit" phase="capturing"><![CDATA[
-        if (this.useTabmixDnD(event))
-          TMP_tabDNDObserver.onDragExit(event);
-      ]]></handler>
-    </handlers>
-
   </binding>
 
 </bindings>

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



More information about the Pkg-mozext-commits mailing list