From 631a3e024d7d46cd3075d6685505f98b71ebd7f5 Mon Sep 17 00:00:00 2001
From: teramako
Date: Wed, 3 Apr 2013 21:18:05 +0900
Subject: fix: unload-tab.js
---
unload-tab.js | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
(limited to 'unload-tab.js')
diff --git a/unload-tab.js b/unload-tab.js
index 951c2b9..f4c4b6f 100644
--- a/unload-tab.js
+++ b/unload-tab.js
@@ -3,7 +3,7 @@
* unload[tab] num
*/
-var INFO =
+var INFO = xml`
Unload the tab contents.
-;
+`;
if (!("SS" in this)) {
XPCOMUtils.defineLazyServiceGetter(this, "SS", "@mozilla.org/browser/sessionstore;1", "nsISessionStore");
--
cgit v1.2.3
From 604b2aff3749f93c7efe9a691558b40d82003c64 Mon Sep 17 00:00:00 2001
From: teramako
Date: Wed, 3 Apr 2013 21:18:22 +0900
Subject: dont create new tab
---
unload-tab.js | 32 +++++++++++++++++---------------
1 file changed, 17 insertions(+), 15 deletions(-)
(limited to 'unload-tab.js')
diff --git a/unload-tab.js b/unload-tab.js
index f4c4b6f..1bee8f4 100644
--- a/unload-tab.js
+++ b/unload-tab.js
@@ -5,7 +5,7 @@
var INFO = xml`
teramako
@@ -25,20 +25,22 @@ if (!("SS" in this)) {
}
function unloadTab (aTab) {
- var state = SS.getTabState(aTab);
- var tab = gBrowser.addTab(null, { skipAnimation: true });
- SS.setTabState(tab, state);
- if (aTab.pinned) {
- gBrowser.pinTab(tab);
- } else {
- let objState = JSON.parse(state);
- if (objState.hidden) {
- gBrowser.hideTab(tab);
- TabView.moveTabTo(tab, JSON.parse(objState.extData["tabview-tab"]).groupID);
- }
- }
- gBrowser.moveTabTo(tab, aTab._tPos + 1)
- gBrowser.removeTab(aTab);
+ var browser = aTab.linkedBrowser,
+ state = SS.getTabState(aTab),
+ shistory = browser.sessionHistory,
+ icon = aTab.getAttribute("image");
+
+ browser.addEventListener("load", function onload(){
+ this.removeEventListener("load", onload, true);
+ if (shistory.count > 1)
+ shistory.PurgeHistory(shistory.count -1);
+
+ aTab.ownerDocument.defaultView.setTimeout(function(){
+ aTab.setAttribute("image", icon);
+ }, 0);
+ SS.setTabState(aTab, state);
+ }, true);
+ browser.loadURI("about:blank");
}
commands.addUserCommand(["unload[tab]"], "Unload Tabs",
--
cgit v1.2.3