[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