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