diff --git a/content/treestyletab/res/tabsDragUtils.js b/content/treestyletab/res/tabsDragUtils.js index 16f05481..51854f5a 100644 --- a/content/treestyletab/res/tabsDragUtils.js +++ b/content/treestyletab/res/tabsDragUtils.js @@ -13,7 +13,7 @@ http://github.com/piroor/fxaddonlibs/blob/master/tabsDragUtils.js */ (function() { - const currentRevision = 7; + const currentRevision = 8; if (!('piro.sakura.ne.jp' in window)) window['piro.sakura.ne.jp'] = {}; @@ -192,7 +192,7 @@ if (aTabBrowserChild.tabbrowser) // tabs, Firefox 4.0 or later return aTabBrowserChild.tabbrowser; - if (aTabBrowserChild.id == 'TabsToolbar') // tabs toolbar, Firefox 4.0 or later + if (aTabBrowserChild.localName == 'toolbar') // tabs toolbar, Firefox 4.0 or later return aTabBrowserChild.getElementsByTagName('tabs')[0].tabbrowser; var b = aTabBrowserChild.ownerDocument.evaluate( diff --git a/content/treestyletab/treestyletab.css b/content/treestyletab/treestyletab.css index c95ab65a..4ba880cb 100644 --- a/content/treestyletab/treestyletab.css +++ b/content/treestyletab/treestyletab.css @@ -78,13 +78,13 @@ .tabbrowser-strip[treestyletab-tabbar-autohide="hidden"]+splitter, .tabbrowser-strip[collapsed="true"] + splitter:not([state="collapsed"]), .treestyletab-tabbar-toggler, -#TabsToolbar[treestyletab-tabbar-autohide="hidden"] > *, -#TabsToolbar .treestyletab-splitter, +.treestyletab-tabbar-toolbar[treestyletab-tabbar-autohide="hidden"] > *, +.treestyletab-tabbar-toolbar .treestyletab-splitter, #treestyletab-tabbar-resizer-box, tabbrowser[treestyletab-tabbar-autohide-mode="1"][tabcontainer] - .tabbrowser-strip[treestyletab-tabbar-placeholder="true"], + .tabbrowser-strip.treestyletab-tabbar-placeholder, tabbrowser[treestyletab-tabbar-autohide-mode="1"][tabcontainer] - .tabbrowser-strip[treestyletab-tabbar-placeholder="true"]+splitter { + .tabbrowser-strip.treestyletab-tabbar-placeholder+splitter { visibility: collapse; } @@ -92,22 +92,22 @@ tabbrowser[treestyletab-tabbar-autohide-mode="1"][tabcontainer] .treestyletab-tabbar-toggler, tabbrowser[treestyletab-tabbar-autohide-mode="1"][treestyletab-tabbar-autohide="hidden"] .treestyletab-tabbar-toggler, -#TabsToolbar[treestyletab-mode="vertical"][treestyletab-tabbar-autohide][treestyletab-tabbar-autohide-state="expanded"] +.treestyletab-tabbar-toolbar[treestyletab-mode="vertical"][treestyletab-tabbar-autohide][treestyletab-tabbar-autohide-state="expanded"] #treestyletab-tabbar-resizer-box, -#TabsToolbar[treestyletab-mode="vertical"][treestyletab-tabbar-autohide][treestyletab-tabbar-autohide-state="expanded"]:not([treestyletab-tabbar-fixed="true"]) +.treestyletab-tabbar-toolbar[treestyletab-mode="vertical"][treestyletab-tabbar-autohide][treestyletab-tabbar-autohide-state="expanded"]:not([treestyletab-tabbar-fixed="true"]) .treestyletab-splitter { visibility: visible; } /* put resizer under tabs, and raise up tabs */ -#TabsToolbar[treestyletab-mode="vertical"][treestyletab-tabbar-autohide][treestyletab-tabbar-autohide-state="expanded"] +.treestyletab-tabbar-toolbar[treestyletab-mode="vertical"][treestyletab-tabbar-autohide][treestyletab-tabbar-autohide-state="expanded"] > *, .tabs-toolbar-inner-box[treestyletab-tabbar-autohide][treestyletab-tabbar-autohide-state="expanded"]:not([treestyletab-tabbar-fixed="true"]) > * { position: relative; z-index: 2; } -#TabsToolbar[treestyletab-mode="vertical"][treestyletab-tabbar-autohide][treestyletab-tabbar-autohide-state="expanded"] +.treestyletab-tabbar-toolbar[treestyletab-mode="vertical"][treestyletab-tabbar-autohide][treestyletab-tabbar-autohide-state="expanded"] #treestyletab-tabbar-resizer-box { position: absolute; bottom: 0; @@ -159,8 +159,8 @@ tabbrowser[treestyletab-tabbar-autohide-mode="1"][treestyletab-tabbar-autohide=" .tabbrowser-tabs[treestyletab-mode="vertical"] .tabs-alltabs-button, /* -Firefox 3.6 */ .tabbrowser-tabs[treestyletab-mode="vertical"] .close-button.tabs-closebutton, /* -Firefox 3.6 */ -#TabsToolbar[treestyletab-mode="vertical"] > toolbarbutton, -#TabsToolbar[treestyletab-mode="vertical"] > toolbarpaletteitem > toolbarbutton { +.treestyletab-tabbar-toolbar[treestyletab-mode="vertical"] > toolbarbutton, +.treestyletab-tabbar-toolbar[treestyletab-mode="vertical"] > toolbarpaletteitem > toolbarbutton { max-width: none !important; } @@ -169,7 +169,7 @@ tabbrowser[treestyletab-tabbar-autohide-mode="1"][treestyletab-tabbar-autohide=" .tabbrowser-tabs[treestyletab-mode="vertical"] .tabbrowser-arrowscrollbox > .scrollbutton-down-stack, .tabbrowser-tabs[treestyletab-mode="vertical"] .tabbrowser-arrowscrollbox > .scrollbutton-down, /* Firefox 3 */ .tabbrowser-tabs[treestyletab-mode="vertical"] .tabs-closebutton-box, -#TabsToolbar[treestyletab-mode="vertical"] .tabs-closebutton, +.treestyletab-tabbar-toolbar[treestyletab-mode="vertical"] .tabs-closebutton, .tabbrowser-tabs[treestyletab-mode="vertical"] .tab-drop-indicator-bar { visibility: collapse !important; } @@ -186,7 +186,7 @@ tabbrowser[treestyletab-tabbar-autohide-mode="1"][treestyletab-tabbar-autohide=" .tabbrowser-tab:not([pinned]) { max-width: 65000px !important; } -#TabsToolbar[treestyletab-mode="vertical"] +.treestyletab-tabbar-toolbar[treestyletab-mode="vertical"] .tabbrowser-tab:not([pinned]):not([fadein]) { opacity: 0.5 !important; } @@ -195,7 +195,7 @@ tabbrowser[treestyletab-tabbar-autohide-mode="1"][treestyletab-tabbar-autohide=" max-width: 65250px !important; min-width: 1px !important; } -#TabsToolbar[treestyletab-mode="vertical"][treestyletab-animation-enabled="true"] +.treestyletab-tabbar-toolbar[treestyletab-mode="vertical"][treestyletab-animation-enabled="true"] .tabbrowser-tab:not([pinned]):not([fadein])[treestyletab-removed="true"] { max-height: 1px !important; min-height: 1px !important; @@ -208,28 +208,28 @@ tabbrowser[treestyletab-tabbar-autohide-mode="1"][treestyletab-tabbar-autohide=" max-width: 64000px !important; } -#TabsToolbar, -#navigator-toolbox[tabsontop="false"] > #TabsToolbar, -#navigator-toolbox[tabsontop="false"] > #TabsToolbar:-moz-lwtheme { +.treestyletab-tabbar-toolbar, +#navigator-toolbox[tabsontop="false"] > .treestyletab-tabbar-toolbar, +#navigator-toolbox[tabsontop="false"] > .treestyletab-tabbar-toolbar:-moz-lwtheme { -moz-binding: url(treestyletab.xml#tabs-toolbar); } -#navigator-toolbox[tabsontop="true"] > #TabsToolbar, -#navigator-toolbox[tabsontop="true"] > #TabsToolbar:-moz-lwtheme, +#navigator-toolbox[tabsontop="true"] > .treestyletab-tabbar-toolbar, +#navigator-toolbox[tabsontop="true"] > .treestyletab-tabbar-toolbar:-moz-lwtheme, #navigator-toolbox - > #nav-bar + #customToolbars + #PersonalToolbar[collapsed="true"] + #TabsToolbar[tabsontop="true"]:last-child, + > #nav-bar + #customToolbars + #PersonalToolbar[collapsed="true"] + .treestyletab-tabbar-toolbar[tabsontop="true"]:last-child, #navigator-toolbox - > #nav-bar + #customToolbars + #PersonalToolbar[collapsed="true"] + #TabsToolbar[tabsontop="false"]:last-child { + > #nav-bar + #customToolbars + #PersonalToolbar[collapsed="true"] + .treestyletab-tabbar-toolbar[tabsontop="false"]:last-child { -moz-binding: url(treestyletab.xml#tabs-toolbar-drag); } -#TabsToolbar:not([treestyletab-tabbar-position="top"]), -#TabsToolbar[treestyletab-tabbar-position="top"]:not([treestyletab-tabbar-fixed="true"]) { +.treestyletab-tabbar-toolbar:not([treestyletab-tabbar-position="top"]), +.treestyletab-tabbar-toolbar[treestyletab-tabbar-position="top"]:not([treestyletab-tabbar-fixed="true"]) { line-height: 0 !important; /* to avoid an useless space above the tab bar */ position: fixed !important; -moz-appearance: none !important; } -#TabsToolbar:not([treestyletab-tabbar-position="top"]) +.treestyletab-tabbar-toolbar:not([treestyletab-tabbar-position="top"]) .tabbrowser-tabs, -#TabsToolbar[treestyletab-tabbar-position="top"]:not([treestyletab-tabbar-fixed="true"]) +.treestyletab-tabbar-toolbar[treestyletab-tabbar-position="top"]:not([treestyletab-tabbar-fixed="true"]) .tabbrowser-tabs { overflow: hidden !important; } @@ -358,7 +358,7 @@ tabbrowser[treestyletab-tabbar-autohide-mode="1"][treestyletab-tabbar-autohide=" .tabbrowser-strip[treestyletab-tabbar-fixed="true"]+splitter, .tabbrowser-strip[treestyletab-print-preview="true"], .tabbrowser-strip[treestyletab-print-preview="true"]+splitter, -#TabsToolbar[treestyletab-print-preview="true"], +.treestyletab-tabbar-toolbar[treestyletab-print-preview="true"], tabbrowser[treestyletab-tabbar-autohide-mode="1"][treestyletab-print-preview="true"] .treestyletab-tabbar-toggler { visibility: collapse; @@ -366,9 +366,9 @@ tabbrowser[treestyletab-tabbar-autohide-mode="1"][treestyletab-print-preview="tr /* stylized window (opened by window.open() with features) */ window[chromehidden~="toolbar"] - .tabbrowser-strip[treestyletab-tabbar-placeholder="true"], + .tabbrowser-strip.treestyletab-tabbar-placeholder, window[chromehidden~="toolbar"] - .tabbrowser-strip[treestyletab-tabbar-placeholder="true"]+splitter { + .tabbrowser-strip.treestyletab-tabbar-placeholder+splitter { visibility: collapse; } diff --git a/content/treestyletab/treestyletabbrowser.js b/content/treestyletab/treestyletabbrowser.js index caab660d..dce9ba91 100644 --- a/content/treestyletab/treestyletabbrowser.js +++ b/content/treestyletab/treestyletabbrowser.js @@ -325,6 +325,8 @@ TreeStyleTabBrowser.prototype = { var b = this.mTabBrowser; b.tabContainer.treeStyleTab = this; + if (b.tabContainer.parentNode.localName == 'toolbar') + b.tabContainer.parentNode.classList.add(this.kTABBAR_TOOLBAR); this.tabsHash = {}; this.tabStripPlaceHolder = null; @@ -350,9 +352,8 @@ TreeStyleTabBrowser.prototype = { if (!placeHolder) { placeHolder = document.createElement('hbox'); placeHolder.setAttribute('anonid', 'strip'); - placeHolder.setAttribute('class', 'tabbrowser-strip'); + placeHolder.setAttribute('class', 'tabbrowser-strip '+this.kTABBAR_PLACEHOLDER); placeHolder.setAttribute('layer', true); // https://bugzilla.mozilla.org/show_bug.cgi?id=590468 - placeHolder.setAttribute(this.kTABBAR_PLACEHOLDER, true); b.mTabBox.insertBefore(placeHolder, toggler.nextSibling); } if (placeHolder != this.tabStrip) diff --git a/modules/lib/autoScroll.js b/modules/lib/autoScroll.js index e0a34f1d..920c3aad 100644 --- a/modules/lib/autoScroll.js +++ b/modules/lib/autoScroll.js @@ -6,10 +6,10 @@ .autoScroll .processAutoScroll(mouseMoveOrDragOverEvent); - license: The MIT License, Copyright (c) 2009-2010 SHIMODA "Piro" Hiroshi - http://www.cozmixng.org/repos/piro/fx3-compatibility-lib/trunk/license.txt + license: The MIT License, Copyright (c) 2009-2011 SHIMODA "Piro" Hiroshi + http://github.com/piroor/fxaddonlibs/blob/master/license.txt original: - http://www.cozmixng.org/repos/piro/fx3-compatibility-lib/trunk/autoScroll.js + http://github.com/piroor/fxaddonlibs/blob/master/autoScroll.js */ /* To work as a JS Code Module */ @@ -18,7 +18,7 @@ if (typeof window == 'undefined' || this.EXPORTED_SYMBOLS = ['autoScroll']; // If namespace.jsm is available, export symbols to the shared namespace. - // See: http://www.cozmixng.org/repos/piro/fx3-compatibility-lib/trunk/namespace.jsm + // See: http://github.com/piroor/fxaddonlibs/blob/master/namespace.jsm try { let ns = {}; Components.utils.import('resource://treestyletab-modules/lib/namespace.jsm', ns); @@ -30,7 +30,7 @@ if (typeof window == 'undefined' || } (function() { - const currentRevision = 4; + const currentRevision = 5; if (!('piro.sakura.ne.jp' in window)) window['piro.sakura.ne.jp'] = {}; @@ -123,16 +123,16 @@ if (typeof window == 'undefined' || if (aTabBrowserChild.localName == 'tabbrowser') // itself return aTabBrowserChild; - if (aTabBrowserChild.tabbrowser) // tabs, Firefox 3.7 or later + if (aTabBrowserChild.tabbrowser) // tabs, Firefox 4.0 or later return aTabBrowserChild.tabbrowser; - if (aTabBrowserChild.id == 'TabsToolbar') // tabs toolbar, Firefox 3.7 or later + if (aTabBrowserChild.localName == 'toolbar') // tabs toolbar, Firefox 4.0 or later return aTabBrowserChild.getElementsByTagName('tabs')[0].tabbrowser; var b = aTabBrowserChild.ownerDocument.evaluate( 'ancestor::*[local-name()="tabbrowser"] | '+ 'ancestor::*[local-name()="tabs" and @tabbrowser] |'+ - 'ancestor::*[local-name()="toolbar" and @id="TabsToolbar"]/descendant::*[local-name()="tabs"]', + 'ancestor::*[local-name()="toolbar"]/descendant::*[local-name()="tabs"]', aTabBrowserChild, null, Ci.nsIDOMXPathResult.FIRST_ORDERED_NODE_TYPE, diff --git a/modules/lib/confirmWithTab.js b/modules/lib/confirmWithTab.js index aa3526c1..cf49b2a5 100644 --- a/modules/lib/confirmWithTab.js +++ b/modules/lib/confirmWithTab.js @@ -4,7 +4,7 @@ * @version 1 * * @license - * The MIT License, Copyright (c) 2010 SHIMODA "Piro" Hiroshi + * The MIT License, Copyright (c) 2010-2011 SHIMODA "Piro" Hiroshi * http://github.com/piroor/fxaddonlibs/blob/master/license.txt * @url http://github.com/piroor/fxaddonlibs/blob/master/confirmWithTab.js * @url http://github.com/piroor/fxaddonlibs @@ -34,7 +34,7 @@ if (typeof namespace.Deferred == 'undefined') var confirmWithTab; (function() { - const currentRevision = 1; + const currentRevision = 2; var loadedRevision = 'confirmWithTab' in namespace ? namespace.confirmWithTab.revision : @@ -118,7 +118,7 @@ var confirmWithTab; var b = aTabBrowserChild.ownerDocument.evaluate( 'ancestor::*[local-name()="tabbrowser"] | '+ 'ancestor::*[local-name()="tabs"][@tabbrowser] |'+ - 'ancestor::*[local-name()="toolbar"][@id="TabsToolbar"]/descendant::*[local-name()="tabs"]', + 'ancestor::*[local-name()="toolbar"]/descendant::*[local-name()="tabs"]', aTabBrowserChild, null, Ci.nsIDOMXPathResult.FIRST_ORDERED_NODE_TYPE, diff --git a/modules/utils.js b/modules/utils.js index e670f1bf..25c9df70 100644 --- a/modules/utils.js +++ b/modules/utils.js @@ -118,6 +118,7 @@ var TreeStyleTabUtils = { kSPLITTER : 'treestyletab-splitter', kTABBAR_TOGGLER : 'treestyletab-tabbar-toggler', kTABBAR_PLACEHOLDER : 'treestyletab-tabbar-placeholder', + kTABBAR_TOOLBAR : 'treestyletab-tabbar-toolbar', /* event types, topics */ kEVENT_TYPE_TAB_FOCUS_SWITCHING_KEY_DOWN : 'nsDOMTreeStyleTabFocusSwitchingKeyDown', @@ -1003,7 +1004,7 @@ var TreeStyleTabUtils = { return this.evaluateXPath( 'ancestor-or-self::*[contains(concat(" ", normalize-space(@class), " "), " tabbrowser-strip ")] | '+ 'ancestor-or-self::xul:tabs[@tabbrowser] | ' + - 'ancestor-or-self::xul:toolbar[@id="TabsToolbar"]/child::xul:tabs[@tabbrowser]', + 'ancestor-or-self::xul:toolbar/child::xul:tabs[@tabbrowser]', aNode, Ci.nsIDOMXPathResult.FIRST_ORDERED_NODE_TYPE ).singleNodeValue; @@ -1082,7 +1083,7 @@ var TreeStyleTabUtils = { if (aTabBrowserChild.tabbrowser) // tabs, Firefox 4.0 or later return aTabBrowserChild.tabbrowser; - if (aTabBrowserChild.id == 'TabsToolbar') // tabs toolbar, Firefox 4.0 or later + if (aTabBrowserChild.localName == 'toolbar') // tabs toolbar, Firefox 4.0 or later return aTabBrowserChild.getElementsByTagName('tabs')[0].tabbrowser; // tab context menu on Firefox 4.0 @@ -1097,7 +1098,7 @@ var TreeStyleTabUtils = { var b = this.evaluateXPath( 'ancestor::xul:tabbrowser | '+ 'ancestor::xul:tabs[@tabbrowser] |'+ - 'ancestor::xul:toolbar[@id="TabsToolbar"]/descendant::xul:tabs', + 'ancestor::xul:toolbar/descendant::xul:tabs', aTabBrowserChild, Ci.nsIDOMXPathResult.FIRST_ORDERED_NODE_TYPE ).singleNodeValue; diff --git a/platform/Linux/skin/classic/treestyletab/treestyletab.css b/platform/Linux/skin/classic/treestyletab/treestyletab.css index d2d52430..060c60a9 100644 --- a/platform/Linux/skin/classic/treestyletab/treestyletab.css +++ b/platform/Linux/skin/classic/treestyletab/treestyletab.css @@ -18,19 +18,19 @@ /* vertical tree */ .tabbrowser-strip[treestyletab-style~="square"][treestyletab-tabbar-position="left"]:not([treestyletab-tabbar-transparent="full"]), -#TabsToolbar[treestyletab-style~="square"][treestyletab-tabbar-position="left"]:not([treestyletab-tabbar-transparent="full"]) { +.treestyletab-tabbar-toolbar[treestyletab-style~="square"][treestyletab-tabbar-position="left"]:not([treestyletab-tabbar-transparent="full"]) { border-right: 1px solid ThreeDShadow !important; -moz-border-right-colors: none !important; } .tabbrowser-strip[treestyletab-style~="square"][treestyletab-tabbar-position="right"]:not([treestyletab-tabbar-transparent="full"]), -#TabsToolbar[treestyletab-style~="square"][treestyletab-tabbar-position="right"]:not([treestyletab-tabbar-transparent="full"]) { +.treestyletab-tabbar-toolbar[treestyletab-style~="square"][treestyletab-tabbar-position="right"]:not([treestyletab-tabbar-transparent="full"]) { border-left: 1px solid ThreeDShadow !important; -moz-border-right-colors: none !important; } /* splitter for floating & autohide tab bar */ -#TabsToolbar .treestyletab-splitter { +.treestyletab-tabbar-toolbar .treestyletab-splitter { width: 6px; -moz-appearance: none; }