@@ -44,6 +44,15 @@ var tabutils = {
44
44
} ) ;
45
45
}
46
46
47
+ let os = Services . appinfo . OS ; //WINNT, Linux or Darwin
48
+ let version = parseFloat ( Services . appinfo . version ) ;
49
+ document . documentElement . setAttribute ( "OS" , os ) ;
50
+ document . documentElement . setAttribute ( "v4" , true ) ;
51
+ document . documentElement . setAttribute ( "v6" , true ) ;
52
+ document . documentElement . setAttribute ( "v14" , true ) ;
53
+ document . documentElement . setAttribute ( "v17" , true ) ;
54
+ document . documentElement . setAttribute ( "v29" , version >= 29.0 ) ;
55
+
47
56
// Function.prototype.__defineGetter__("stack", function() {
48
57
// var stack = [];
49
58
// for (let caller = this; caller && stack.length < 15; caller = caller.caller) {
@@ -161,7 +170,6 @@ window.addEventListener("DOMContentLoaded", tabutils, false);
161
170
[
162
171
[ "@mozilla.org/browser/sessionstore;1" , "nsISessionStore" , "_ss" , tabutils ] , // Bug 898732 [Fx26]
163
172
[ "@mozilla.org/docshell/urifixup;1" , "nsIURIFixup" ] , // Bug 802026 [Fx20]
164
- [ "@mozilla.org/places/colorAnalyzer;1" , "mozIColorAnalyzer" ] ,
165
173
[ "@mozilla.org/widget/clipboardhelper;1" , "nsIClipboardHelper" ] ,
166
174
[ "@mozilla.org/uuid-generator;1" , "nsIUUIDGenerator" ]
167
175
] . forEach ( function ( [ aContract , aInterface , aName , aObject ] )
@@ -1693,6 +1701,11 @@ tabutils._multiTabHandler = function() {
1693
1701
this . selectedTabs = [ ] ;
1694
1702
} ) ;
1695
1703
1704
+ TU_hookCode ( "gBrowser.onTabMove" , "{" , function ( ) {
1705
+ if ( aTab . hasAttribute ( "multiselected" ) )
1706
+ this . _selectedTabs = null ;
1707
+ } ) ;
1708
+
1696
1709
TU_hookCode ( "gBrowser.onTabHide" , "}" , function ( ) {
1697
1710
if ( aTab . hasAttribute ( "multiselected" ) ) {
1698
1711
aTab . removeAttribute ( "multiselected" ) ;
@@ -1849,7 +1862,7 @@ tabutils._multiTabHandler = function() {
1849
1862
tabutils . addEventListener ( gBrowser . mTabContainer , "dragstart" , function ( event ) {
1850
1863
if ( event . target . localName == "tab" ) {
1851
1864
let draggedTab = event . target ;
1852
- let draggedTabs = gBrowser . contextTabsOf ( draggedTab ) ;
1865
+ let draggedTabs = gBrowser . contextTabsOf ( draggedTab ) . slice ( ) ;
1853
1866
draggedTabs . splice ( draggedTabs . indexOf ( draggedTab ) , 1 ) ;
1854
1867
draggedTabs . unshift ( draggedTab ) ;
1855
1868
@@ -2375,15 +2388,6 @@ tabutils._miscFeatures = function() {
2375
2388
} ) ;
2376
2389
2377
2390
//Compatibility with themes
2378
- let os = Services . appinfo . OS ; //WINNT, Linux or Darwin
2379
- let version = parseFloat ( Services . appinfo . version ) ;
2380
- document . documentElement . setAttribute ( "OS" , os ) ;
2381
- document . documentElement . setAttribute ( "v4" , version >= 4.0 ) ;
2382
- document . documentElement . setAttribute ( "v6" , version >= 6.0 ) ;
2383
- document . documentElement . setAttribute ( "v14" , version >= 14.0 ) ;
2384
- document . documentElement . setAttribute ( "v17" , version >= 17.0 ) ;
2385
- document . documentElement . setAttribute ( "v29" , version >= 29.0 ) ;
2386
-
2387
2391
for ( let sheet of Array . slice ( document . styleSheets ) ) {
2388
2392
switch ( sheet . href ) {
2389
2393
case "chrome://browser/skin/browser.css" :
@@ -3301,7 +3305,7 @@ tabutils._tabPrefObserver = {
3301
3305
if ( color && ! ( group in this . _tabColoringRules ) ) {
3302
3306
let selectorText ;
3303
3307
if ( group [ 0 ] == "{" )
3304
- selectorText = '.tabbrowser-tabs[colorStack="true"] > .tabbrowser-tab[group="' + group + '"]:not([group-counter="1"])' ;
3308
+ selectorText = '#main-window .tabbrowser-tab[group="' + group + '"]:not([group-counter="1"])' ;
3305
3309
else
3306
3310
selectorText = '.tabbrowser-tabs[colorStack="true"] > .tabbrowser-tab[group^="{' + group + '"]:not([group-counter="1"])' ;
3307
3311
0 commit comments