[Pkg-mozext-commits] [tabmixplus] 23/44: Don't call browser.reload when browser.__SS_restoreState is TAB_STATE_RESTORING, if reload start when the tab is restoring it can override the restore to a blank tab

David Prévot taffit at moszumanska.debian.org
Wed Oct 15 02:10:03 UTC 2014


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

taffit pushed a commit to branch master
in repository tabmixplus.

commit 493da7ec087975ffcc15663d1b35eecc95e9c56b
Author: onemen <tabmix.onemen at gmail.com>
Date:   Sat Oct 11 09:32:41 2014 +0300

    Don't call browser.reload when browser.__SS_restoreState is TAB_STATE_RESTORING, if reload start when the tab is restoring it can override the restore to a blank tab
---
 chrome/content/click/click.js             |  5 +++--
 chrome/content/minit/tablib.js            | 33 ++++++++++++++-----------------
 chrome/content/overlay/tabContextMenu.xul |  3 ++-
 3 files changed, 20 insertions(+), 21 deletions(-)

diff --git a/chrome/content/click/click.js b/chrome/content/click/click.js
index 9aef45b..053eb2e 100644
--- a/chrome/content/click/click.js
+++ b/chrome/content/click/click.js
@@ -136,7 +136,8 @@ var TabmixTabClickOptions = {
         gBrowser.duplicateTab(aTab);
         break;
       case 4 :
-        gBrowser.reloadTab(aTab);
+        if (aTab.linkedBrowser.__SS_restoreState != 2)
+          gBrowser.reloadTab(aTab);
         break;
       case 5 :
         gBrowser.protectTab(aTab);
@@ -145,7 +146,7 @@ var TabmixTabClickOptions = {
         gBrowser.lockTab(aTab);
         break;
       case 7 :
-        gBrowser.reloadAllTabs(aTab);
+        tablib.reloadTabs(gBrowser.visibleTabs);
         break;
       case 8:
         gBrowser.removeAllTabsBut(aTab);
diff --git a/chrome/content/minit/tablib.js b/chrome/content/minit/tablib.js
index 2d57c43..6ac946f 100644
--- a/chrome/content/minit/tablib.js
+++ b/chrome/content/minit/tablib.js
@@ -1101,11 +1101,7 @@ var tablib = {
       if ( aTab._tPos > this.mCurrentTab._tPos )
         this.selectedTab = aTab;
       let tabPos = childNodes.indexOf(aTab);
-      for (let i = tabPos - 1; i >= 0; i-- ) {
-        try {
-          this.getBrowserForTab(childNodes[i]).reload();
-        } catch (e) {  }
-      }
+      tablib.reloadTabs(childNodes.slice(0, tabPos).reverse());
     }
 
     gBrowser.reloadRightTabs = function (aTab) {
@@ -1115,11 +1111,7 @@ var tablib = {
       if ( aTab._tPos < this.mCurrentTab._tPos )
         this.selectedTab = aTab;
       let tabPos = childNodes.indexOf(aTab);
-      for (let i = childNodes.length - 1; i > tabPos; i-- ) {
-        try {
-          this.getBrowserForTab(childNodes[i]).reload();
-        } catch (e) {  }
-      }
+      tablib.reloadTabs(childNodes.slice(tabPos + 1));
     }
 
     gBrowser.reloadAllTabsBut = function (aTab) {
@@ -1127,14 +1119,7 @@ var tablib = {
         aTab = this.mCurrentTab;
       else
         this.selectedTab = aTab;
-      var childNodes = this.visibleTabs;
-      for (var i = childNodes.length - 1; i >= 0; --i) {
-        if (childNodes[i] == aTab)
-           continue;
-        try {
-          this.getBrowserForTab(childNodes[i]).reload();
-        } catch (e) {  }
-      }
+      tablib.reloadTabs(this.visibleTabs, aTab);
     }
 
     gBrowser.lockTab = function (aTab) {
@@ -1806,6 +1791,18 @@ var tablib = {
     if (entry.URI)
       return TMP_Places.getTitleFromBookmark(entry.URI.spec, entry.title);
     return entry.title;
+  },
+
+  reloadTabs: function(tabs, skipTab) {
+    let l = tabs.length;
+    for (let i = 0; i < l; i++) {
+      let tab = tabs[i];
+      if (tab == skipTab || tab.linkedBrowser.__SS_restoreState == 2)
+        continue;
+      try {
+        tab.linkedBrowser.reload();
+      } catch (ex) {  }
+    }
   }
 
 } // end tablib
diff --git a/chrome/content/overlay/tabContextMenu.xul b/chrome/content/overlay/tabContextMenu.xul
index 0d53b4f..50bcd59 100644
--- a/chrome/content/overlay/tabContextMenu.xul
+++ b/chrome/content/overlay/tabContextMenu.xul
@@ -51,8 +51,9 @@
            <menupopup onpopupshowing="Tabmix.autoReload.onPopupShowing(this, TabContextMenu.contextTab);"/>
         </menu>
 <!--
-        <menuitem id="context_reloadAllTabs"/>
+        replace "context_reloadAllTabs" oncommand
 -->
+        <menuitem id="context_reloadAllTabs" oncommand="tablib.reloadTabs(gBrowser.visibleTabs);" />
         <menuitem id="tm-reloadOther" insertafter="context_reloadAllTabs"
                  label="&reloadother.label;" accesskey="&reloadother.accesskey;"
                  oncommand="gBrowser.reloadAllTabsBut(TabContextMenu.contextTab);" />

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