Drop support for Firefox 30 or older versions.
Because Firefox 31 becomes new ESR.
This commit is contained in:
parent
fffcd3172f
commit
503803c076
@ -34,11 +34,9 @@ skin treestyletab classic/1.0 skin/classic/treestyletab/
|
|||||||
skin treestyletab-group classic/1.0 skin/classic/treestyletab-group-basic/
|
skin treestyletab-group classic/1.0 skin/classic/treestyletab-group-basic/
|
||||||
skin treestyletab-group classic/1.0 skin/classic/treestyletab-group-aero/ os=WINNT osversion>=6
|
skin treestyletab-group classic/1.0 skin/classic/treestyletab-group-aero/ os=WINNT osversion>=6
|
||||||
|
|
||||||
override chrome://treestyletab/skin/platform-base.css chrome://treestyletab/skin/dummy.css os=Darwin
|
override chrome://treestyletab/skin/platform-base.css chrome://treestyletab/skin/Darwin-base.css os=Darwin
|
||||||
override chrome://treestyletab/skin/platform-base.css chrome://treestyletab/skin/Darwin-base.css os=Darwin appversion>=29.0a1
|
|
||||||
override chrome://treestyletab/skin/platform-base.css chrome://treestyletab/skin/Linux-base.css os=Linux
|
override chrome://treestyletab/skin/platform-base.css chrome://treestyletab/skin/Linux-base.css os=Linux
|
||||||
override chrome://treestyletab/skin/platform-base.css chrome://treestyletab/skin/dummy.css os=WINNT
|
override chrome://treestyletab/skin/platform-base.css chrome://treestyletab/skin/WINNT-base.css os=WINNT
|
||||||
override chrome://treestyletab/skin/platform-base.css chrome://treestyletab/skin/WINNT-base.css os=WINNT appversion>=29.0a1
|
|
||||||
override chrome://treestyletab/skin/platform-styled.css chrome://treestyletab/skin/Darwin-styled.css os=Darwin
|
override chrome://treestyletab/skin/platform-styled.css chrome://treestyletab/skin/Darwin-styled.css os=Darwin
|
||||||
override chrome://treestyletab/skin/platform-styled.css chrome://treestyletab/skin/dummy.css os=Linux
|
override chrome://treestyletab/skin/platform-styled.css chrome://treestyletab/skin/dummy.css os=Linux
|
||||||
override chrome://treestyletab/skin/platform-styled.css chrome://treestyletab/skin/WINNT-styled.css os=WINNT
|
override chrome://treestyletab/skin/platform-styled.css chrome://treestyletab/skin/WINNT-styled.css os=WINNT
|
||||||
@ -46,12 +44,10 @@ override chrome://treestyletab/skin/platform-styled.css chrome://treestyletab/sk
|
|||||||
override chrome://treestyletab/skin/ui.css chrome://treestyletab/skin/ui-base.css
|
override chrome://treestyletab/skin/ui.css chrome://treestyletab/skin/ui-base.css
|
||||||
override chrome://treestyletab/skin/ui.css chrome://treestyletab/skin/ui-australis.css appversion>=29.0a1
|
override chrome://treestyletab/skin/ui.css chrome://treestyletab/skin/ui-australis.css appversion>=29.0a1
|
||||||
|
|
||||||
override chrome://treestyletab/skin/Linux-tabs-on-bottom.css chrome://treestyletab/skin/dummy.css os=Linux appversion>=29.0a1
|
|
||||||
|
|
||||||
override chrome://treestyletab/skin/square/platform.css chrome://treestyletab/skin/square/Darwin.css os=Darwin
|
override chrome://treestyletab/skin/square/platform.css chrome://treestyletab/skin/square/Darwin.css os=Darwin
|
||||||
override chrome://treestyletab/skin/square/platform.css chrome://treestyletab/skin/square/Linux.css os=Linux
|
override chrome://treestyletab/skin/square/platform.css chrome://treestyletab/skin/square/Linux.css os=Linux
|
||||||
override chrome://treestyletab/skin/square/platform.css chrome://treestyletab/skin/dummy.css os=WINNT
|
override chrome://treestyletab/skin/square/platform.css chrome://treestyletab/skin/dummy.css os=WINNT
|
||||||
override chrome://treestyletab/skin/square/disable-closebox-bg.css chrome://treestyletab/skin/dummy.css os=Linux appversion>=29.0b4
|
override chrome://treestyletab/skin/square/disable-closebox-bg.css chrome://treestyletab/skin/dummy.css os=Linux
|
||||||
|
|
||||||
override chrome://treestyletab/skin/metal/platform.css chrome://treestyletab/skin/metal/Darwin.css os=Darwin
|
override chrome://treestyletab/skin/metal/platform.css chrome://treestyletab/skin/metal/Darwin.css os=Darwin
|
||||||
override chrome://treestyletab/skin/metal/platform.css chrome://treestyletab/skin/dummy.css os=WINNT
|
override chrome://treestyletab/skin/metal/platform.css chrome://treestyletab/skin/dummy.css os=WINNT
|
||||||
@ -61,8 +57,7 @@ override chrome://treestyletab/skin/platform-config.css chrome://treestyletab/sk
|
|||||||
override chrome://treestyletab/skin/platform-config.css chrome://treestyletab/skin/Linux-config.css os=Linux
|
override chrome://treestyletab/skin/platform-config.css chrome://treestyletab/skin/Linux-config.css os=Linux
|
||||||
override chrome://treestyletab/skin/platform-config.css chrome://treestyletab/skin/dummy.css os=WINNT
|
override chrome://treestyletab/skin/platform-config.css chrome://treestyletab/skin/dummy.css os=WINNT
|
||||||
|
|
||||||
override chrome://treestyletab/content/base-toolbar-binding.xml chrome://global/content/bindings/toolbar.xml
|
override chrome://treestyletab/content/base-toolbar-binding.xml chrome://browser/content/customizableui/toolbar.xml
|
||||||
override chrome://treestyletab/content/base-toolbar-binding.xml chrome://browser/content/customizableui/toolbar.xml appversion>=29.0a1
|
|
||||||
|
|
||||||
|
|
||||||
resource treestyletab-modules modules/
|
resource treestyletab-modules modules/
|
||||||
|
@ -60,10 +60,8 @@ var TreeStyleTabWindowHelper = {
|
|||||||
if ('BrowserOpenTab' in window) {
|
if ('BrowserOpenTab' in window) {
|
||||||
eval('window.BrowserOpenTab = '+
|
eval('window.BrowserOpenTab = '+
|
||||||
window.BrowserOpenTab.toSource().replace(
|
window.BrowserOpenTab.toSource().replace(
|
||||||
// loadOneTab => Firefox 10 or olders
|
'openUILinkIn(',
|
||||||
// openUILinkIn => Firefox 11 or later
|
'gBrowser.treeStyleTab.onBeforeNewTabCommand(); $&'
|
||||||
/(gBrowser\.loadOneTab\(|openUILinkIn\(.+\,\s*"tab"\))/,
|
|
||||||
'gBrowser.treeStyleTab.onBeforeNewTabCommand(); $1'
|
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@ -198,23 +196,14 @@ var TreeStyleTabWindowHelper = {
|
|||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
if ('BrowserSearch' in window) {
|
if ('BrowserSearch' in window &&
|
||||||
if ('_loadSearch' in BrowserSearch) {
|
'_loadSearch' in BrowserSearch) {
|
||||||
eval('BrowserSearch._loadSearch = '+
|
eval('BrowserSearch._loadSearch = '+
|
||||||
BrowserSearch._loadSearch.toSource().replace(
|
BrowserSearch._loadSearch.toSource().replace(
|
||||||
'openLinkIn(',
|
'openLinkIn(',
|
||||||
'TreeStyleTabService.onBeforeBrowserSearch(arguments[0], useNewTab); $&'
|
'TreeStyleTabService.onBeforeBrowserSearch(arguments[0], useNewTab); $&'
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
}
|
|
||||||
else if ('loadSearch' in BrowserSearch) { // Firefox 24 and olders
|
|
||||||
eval('BrowserSearch.loadSearch = '+
|
|
||||||
BrowserSearch.loadSearch.toSource().replace(
|
|
||||||
'openLinkIn(',
|
|
||||||
'TreeStyleTabService.onBeforeBrowserSearch(arguments[0], useNewTab); $&'
|
|
||||||
)
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if ('openLinkIn' in window) {
|
if ('openLinkIn' in window) {
|
||||||
|
@ -1,7 +1,8 @@
|
|||||||
# History
|
# History
|
||||||
|
|
||||||
- master/HEAD
|
- master/HEAD
|
||||||
* Restore tab position for "Undo Close Tab" command correctly on Firefox 29 and newer versions.
|
* Drop support for Firefox 30 and older versions
|
||||||
|
* Restore tab position for "Undo Close Tab" command correctly.
|
||||||
* Works on Nightly 33.0a1 with the preference `dom.compartment_per_addon`=`true`.
|
* Works on Nightly 33.0a1 with the preference `dom.compartment_per_addon`=`true`.
|
||||||
* Update tabbar appearance correctly, after toolbar customization.
|
* Update tabbar appearance correctly, after toolbar customization.
|
||||||
* Update fr-FR locale, by AxlMun. Thanks!
|
* Update fr-FR locale, by AxlMun. Thanks!
|
||||||
|
@ -1,7 +1,8 @@
|
|||||||
# 更新履歴
|
# 更新履歴
|
||||||
|
|
||||||
- master/HEAD
|
- master/HEAD
|
||||||
* Firefox 29以降において、閉じたタブを開き直したときの位置がおかしくなる問題を修正
|
* Firefox 30およびそれ以前のバージョンへの対応を終了
|
||||||
|
* 閉じたタブを開き直したときの位置がおかしくなる問題を修正
|
||||||
* Nightly 33.0a1において `dom.compartment_per_addon`=`true` に設定した場合でも動作するように暫定的に対処
|
* Nightly 33.0a1において `dom.compartment_per_addon`=`true` に設定した場合でも動作するように暫定的に対処
|
||||||
* ツールバーカスタマイズを終えた後にタブバーの外観が壊れていたのを修正
|
* ツールバーカスタマイズを終えた後にタブバーの外観が壊れていたのを修正
|
||||||
* fr-FR ロケール更新(by AxlMun. Thanks!)
|
* fr-FR ロケール更新(by AxlMun. Thanks!)
|
||||||
|
@ -207,7 +207,7 @@
|
|||||||
|
|
||||||
<em:targetApplication>
|
<em:targetApplication>
|
||||||
<RDF:Description em:id="{ec8030f7-c20a-464f-9b0e-13a3a9e97384}"
|
<RDF:Description em:id="{ec8030f7-c20a-464f-9b0e-13a3a9e97384}"
|
||||||
em:minVersion="24.0"
|
em:minVersion="31.0"
|
||||||
em:maxVersion="33.0a1" />
|
em:maxVersion="33.0a1" />
|
||||||
</em:targetApplication>
|
</em:targetApplication>
|
||||||
</RDF:Description>
|
</RDF:Description>
|
||||||
|
@ -520,13 +520,6 @@ TreeStyleTabBrowser.prototype = inherit(TreeStyleTabWindow.prototype, {
|
|||||||
|
|
||||||
var baseX = this.tabStrip.boxObject.screenX - this.document.documentElement.boxObject.screenX;
|
var baseX = this.tabStrip.boxObject.screenX - this.document.documentElement.boxObject.screenX;
|
||||||
|
|
||||||
/**
|
|
||||||
* Hacks for Firefox 9 or olders.
|
|
||||||
* In a box with "direction: rtr", we have to position tabs
|
|
||||||
* by margin-right, because the basic position becomes
|
|
||||||
* "top-right" instead of "top-left".
|
|
||||||
*/
|
|
||||||
var remainder = maxWidth - (maxCol * width);
|
|
||||||
var shrunkenOffset = (this.position == 'right' && tabbarPlaceHolderWidth) ?
|
var shrunkenOffset = (this.position == 'right' && tabbarPlaceHolderWidth) ?
|
||||||
tabbarWidth - tabbarPlaceHolderWidth :
|
tabbarWidth - tabbarPlaceHolderWidth :
|
||||||
0 ;
|
0 ;
|
||||||
@ -968,35 +961,6 @@ TreeStyleTabBrowser.prototype = inherit(TreeStyleTabWindow.prototype, {
|
|||||||
if (!aTab.linkedBrowser.__treestyletab__toBeRestored)
|
if (!aTab.linkedBrowser.__treestyletab__toBeRestored)
|
||||||
aTab.linkedBrowser.__treestyletab__toBeRestored = utils.isTabNotRestoredYet(aTab);
|
aTab.linkedBrowser.__treestyletab__toBeRestored = utils.isTabNotRestoredYet(aTab);
|
||||||
|
|
||||||
/**
|
|
||||||
* XXX Dirty hack for Firefox 28 and older, because
|
|
||||||
* there is no way to know when the tab is readied to be restored...
|
|
||||||
*/
|
|
||||||
var b = aTab.linkedBrowser;
|
|
||||||
if (!utils.shouldUseMessageManager && !b.__treestyletab__stop) {
|
|
||||||
let self = this;
|
|
||||||
b.__treestyletab__stop = b.stop;
|
|
||||||
b.stop = function TSTBrowser_stopHook(...aArgs) {
|
|
||||||
try {
|
|
||||||
var stack = Components.stack;
|
|
||||||
while (stack)
|
|
||||||
{
|
|
||||||
if (stack.name == 'sss_restoreHistoryPrecursor' ||
|
|
||||||
stack.name == 'ssi_restoreHistoryPrecursor' ||
|
|
||||||
stack.filename == 'resource:///modules/sessionstore/SessionStore.jsm') {
|
|
||||||
self.onRestoreTabContentStarted(aTab);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
stack = stack.caller;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
catch(e) {
|
|
||||||
dump(e+'\n'+e.stack+'\n');
|
|
||||||
}
|
|
||||||
return this.__treestyletab__stop.apply(this, aArgs);
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
this.initTabAttributes(aTab);
|
this.initTabAttributes(aTab);
|
||||||
this.initTabContents(aTab);
|
this.initTabContents(aTab);
|
||||||
|
|
||||||
@ -6642,16 +6606,13 @@ TreeStyleTabBrowser.prototype = inherit(TreeStyleTabWindow.prototype, {
|
|||||||
var tabsToRestore = 0; // it is the number of pending tabs.
|
var tabsToRestore = 0; // it is the number of pending tabs.
|
||||||
if (utils.SessionStoreInternal &&
|
if (utils.SessionStoreInternal &&
|
||||||
utils.SessionStoreInternal._browserEpochs) {
|
utils.SessionStoreInternal._browserEpochs) {
|
||||||
// for Firefox 29 and later
|
|
||||||
// (after https://bugzilla.mozilla.org/show_bug.cgi?id=942374)
|
|
||||||
let browserEpochs = utils.SessionStoreInternal._browserEpochs;
|
let browserEpochs = utils.SessionStoreInternal._browserEpochs;
|
||||||
tabsToRestore = tabs.filter(function(aTab) {
|
tabsToRestore = tabs.filter(function(aTab) {
|
||||||
return browserEpochs.has(aTab.linkedBrowser.permanentKey);
|
return browserEpochs.has(aTab.linkedBrowser.permanentKey);
|
||||||
}).length;
|
}).length;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
// for Firefox 24 and old versions
|
Components.utils.reportError(new Error('There is no property named "_browserEpochs"!!'));
|
||||||
tabsToRestore = this.window.__SS_tabsToRestore;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
dump('TSTBrowser::restoreTree\n');
|
dump('TSTBrowser::restoreTree\n');
|
||||||
|
@ -244,22 +244,6 @@ let TreeStyleTabUtils = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
|
|
||||||
get shouldUseMessageManager()
|
|
||||||
{
|
|
||||||
if (this._shouldUseMessageManager !== null)
|
|
||||||
return this._shouldUseMessageManager;
|
|
||||||
|
|
||||||
try { // detect Firefox 29 and later
|
|
||||||
Cu.import('resource:///modules/sessionstore/ContentRestore.jsm', {});
|
|
||||||
this._shouldUseMessageManager = true;
|
|
||||||
}
|
|
||||||
catch(e) {
|
|
||||||
this._shouldUseMessageManager = false;
|
|
||||||
}
|
|
||||||
return this._shouldUseMessageManager;
|
|
||||||
},
|
|
||||||
_shouldUseMessageManager: undefined,
|
|
||||||
|
|
||||||
isTabNotRestoredYet : function utils_isTabNotRestoredYet(aTab)
|
isTabNotRestoredYet : function utils_isTabNotRestoredYet(aTab)
|
||||||
{
|
{
|
||||||
var browser = aTab.linkedBrowser;
|
var browser = aTab.linkedBrowser;
|
||||||
@ -304,26 +288,11 @@ let TreeStyleTabUtils = {
|
|||||||
|
|
||||||
getShortcutOrURI : function utils_getShortcutOrURI(aBrowserWindow, aURI)
|
getShortcutOrURI : function utils_getShortcutOrURI(aBrowserWindow, aURI)
|
||||||
{
|
{
|
||||||
if (aBrowserWindow.getShortcutOrURI) // Firefox 24 and older
|
|
||||||
return aBrowserWindow.getShortcutOrURI(aURI);
|
|
||||||
|
|
||||||
var getShortcutOrURIAndPostData = aBrowserWindow.getShortcutOrURIAndPostData;
|
|
||||||
var done = false;
|
var done = false;
|
||||||
if (getShortcutOrURIAndPostData.length == 2) {
|
aBrowserWindow.getShortcutOrURIAndPostData(aURI, function(aData) {
|
||||||
// Firefox 31 and later, after https://bugzilla.mozilla.org/show_bug.cgi?id=989984
|
aURI = aData.url;
|
||||||
getShortcutOrURIAndPostData(aURI, function(aData) {
|
done = true;
|
||||||
aURI = aData.url;
|
});
|
||||||
done = true;
|
|
||||||
});
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
// Firefox 25-30
|
|
||||||
Task.spawn(function() {
|
|
||||||
var data = yield getShortcutOrURIAndPostData(aURI);
|
|
||||||
aURI = data.url;
|
|
||||||
done = true;
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
// this should be rewritten in asynchronous style...
|
// this should be rewritten in asynchronous style...
|
||||||
var thread = Cc['@mozilla.org/thread-manager;1'].getService().mainThread;
|
var thread = Cc['@mozilla.org/thread-manager;1'].getService().mainThread;
|
||||||
|
@ -365,9 +365,7 @@ TreeStyleTabWindow.prototype = inherit(TreeStyleTabBase, {
|
|||||||
w.addEventListener('beforecustomization', this, true);
|
w.addEventListener('beforecustomization', this, true);
|
||||||
w.addEventListener('aftercustomization', this, false);
|
w.addEventListener('aftercustomization', this, false);
|
||||||
|
|
||||||
// for Firefox 29 and later, after https://bugzilla.mozilla.org/show_bug.cgi?id=942374
|
w.messageManager.addMessageListener('SessionStore:restoreTabContentStarted', this);
|
||||||
if (w.messageManager && utils.shouldUseMessageManager)
|
|
||||||
w.messageManager.addMessageListener('SessionStore:restoreTabContentStarted', this);
|
|
||||||
|
|
||||||
this.fullscreenObserver = new FullscreenObserver(this.window);
|
this.fullscreenObserver = new FullscreenObserver(this.window);
|
||||||
this.initUIShowHideObserver();
|
this.initUIShowHideObserver();
|
||||||
@ -499,9 +497,7 @@ TreeStyleTabWindow.prototype = inherit(TreeStyleTabBase, {
|
|||||||
w.removeEventListener('beforecustomization', this, true);
|
w.removeEventListener('beforecustomization', this, true);
|
||||||
w.removeEventListener('aftercustomization', this, false);
|
w.removeEventListener('aftercustomization', this, false);
|
||||||
|
|
||||||
// for Firefox 29 and later, after https://bugzilla.mozilla.org/show_bug.cgi?id=942374
|
w.messageManager.removeMessageListener('SessionStore:restoreTabContentStarted', this);
|
||||||
if (w.messageManager && utils.shouldUseMessageManager)
|
|
||||||
w.messageManager.removeMessageListener('SessionStore:restoreTabContentStarted', this);
|
|
||||||
|
|
||||||
this.fullscreenObserver.destroy();
|
this.fullscreenObserver.destroy();
|
||||||
delete this.fullscreenObserver;
|
delete this.fullscreenObserver;
|
||||||
@ -859,7 +855,6 @@ TreeStyleTabWindow.prototype = inherit(TreeStyleTabBase, {
|
|||||||
prefs.getPref('browser.ctrlTab.previews');
|
prefs.getPref('browser.ctrlTab.previews');
|
||||||
},
|
},
|
||||||
|
|
||||||
// for Firefox 29 and later, after https://bugzilla.mozilla.org/show_bug.cgi?id=942374
|
|
||||||
receiveMessage : function TSTWindow_receiveMessage(aMessage)
|
receiveMessage : function TSTWindow_receiveMessage(aMessage)
|
||||||
{
|
{
|
||||||
var browser = aMessage.target;
|
var browser = aMessage.target;
|
||||||
@ -1409,8 +1404,7 @@ TreeStyleTabWindow.prototype = inherit(TreeStyleTabBase, {
|
|||||||
var checked = { value:true };
|
var checked = { value:true };
|
||||||
var w = this.window;
|
var w = this.window;
|
||||||
w.focus();
|
w.focus();
|
||||||
var message = utils.tabbrowserBundle.getFormattedString('tabs.closeWarningMultipleTabs', [aTabsCount]) || // Firefox 28 and older
|
var message = w.PluralForm.get(aTabsCount, utils.tabbrowserBundle.getString('tabs.closeWarningMultiple')).replace('#1', aTabsCount);
|
||||||
w.PluralForm.get(aTabsCount, utils.tabbrowserBundle.getString('tabs.closeWarningMultiple')).replace('#1', aTabsCount) ; // Firefox 29 and later
|
|
||||||
var shouldClose = Services.prompt.confirmEx(w,
|
var shouldClose = Services.prompt.confirmEx(w,
|
||||||
utils.tabbrowserBundle.getString('tabs.closeWarningTitle'),
|
utils.tabbrowserBundle.getString('tabs.closeWarningTitle'),
|
||||||
message,
|
message,
|
||||||
|
@ -1,5 +1,3 @@
|
|||||||
@import url("./Linux-tabs-on-bottom.css");
|
|
||||||
|
|
||||||
@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
|
@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
|
||||||
|
|
||||||
/* splitter for floating & autohide tab bar */
|
/* splitter for floating & autohide tab bar */
|
||||||
|
@ -1,7 +0,0 @@
|
|||||||
@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
|
|
||||||
|
|
||||||
/* bottom border of the "Tabs on Bottom" toolbox */
|
|
||||||
#main-window[treestyletab-mode="vertical"]:not([disablechrome])
|
|
||||||
#navigator-toolbox:not([tabsontop="true"]) {
|
|
||||||
border-bottom: 1px solid ThreeDShadow;
|
|
||||||
}
|
|
Loading…
Reference in New Issue
Block a user