diff --git a/content/treestyletab/res/tabFx2Compatible.css b/content/treestyletab/res/tabFx2Compatible.css index 90e687bb..5e38cc99 100644 --- a/content/treestyletab/res/tabFx2Compatible.css +++ b/content/treestyletab/res/tabFx2Compatible.css @@ -14,33 +14,75 @@ @namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); -:root[tabFx2Compatible="5"] +:root[tabFx2Compatible="6"] .tabbrowser-tab { -moz-binding: url(tabFx2Compatible.xml#tabbrowser-tab) !important; } -:root[tabFx2Compatible="5"]:not([tabFx2Compatible-flags~="png-throbber"]) +:root[tabFx2Compatible="6"]:not([tabFx2Compatible-flags~="png-throbber"]) .tabbrowser-tab[busy] > hbox > stack > .tab-icon-image { list-style-image: url("chrome://global/skin/throbber/Throbber-small.gif") !important; opacity: 0.6; } -:root[tabFx2Compatible="5"][tabFx2Compatible-flags~="png-throbber"] +:root[tabFx2Compatible="6"][tabFx2Compatible-flags~="png-throbber"] .tabbrowser-tab[busy] > hbox > stack > .tab-icon-image { list-style-image: url("chrome://global/skin/icons/loading_16.png") !important; } -:root[tabFx2Compatible="5"][tabFx2Compatible-flags~="mac"][tabFx2Compatible-flags~="png-throbber"] +:root[tabFx2Compatible="6"][tabFx2Compatible-flags~="mac"][tabFx2Compatible-flags~="png-throbber"] .tabbrowser-tab .tab-icon-image { list-style-image: url("chrome://global/skin/tree/item.png"); } -:root[tabFx2Compatible="5"][tabFx2Compatible-flags~="mac"] +:root[tabFx2Compatible="6"][tabFx2Compatible-flags~="mac"] .tabbrowser-tab:not(:hover):not([selected="true"]) .tab-icon-image { opacity: 0.6; } -:root[tabFx2Compatible="5"] +:root[tabFx2Compatible="6"][tabFx2Compatible-flags~="pie"] + .tabbrowser-tab[busy] > hbox > stack > .tab-icon-image { + list-style-image: url("chrome://browser/skin/tabbrowser/progress.png") !important; + -moz-image-region: rect(0, 16px, 16px, 0); +} +:root[tabFx2Compatible="6"][tabFx2Compatible-flags~="pie"] + .tabbrowser-tab[busy][stalled] > hbox > stack > .tab-icon-image { + list-style-image: url("chrome://browser/skin/tabbrowser/progress-pulsing.png") !important; +} +:root[tabFx2Compatible="6"][tabFx2Compatible-flags~="pie"] + .tabbrowser-tab[busy][progress="1"] > hbox > stack > .tab-icon-image { + -moz-image-region: rect(0, 32px, 16px, 16px); +} +:root[tabFx2Compatible="6"][tabFx2Compatible-flags~="pie"] + .tabbrowser-tab[busy][progress="2"] > hbox > stack > .tab-icon-image { + -moz-image-region: rect(0, 48px, 16px, 32px); +} +:root[tabFx2Compatible="6"][tabFx2Compatible-flags~="pie"] + .tabbrowser-tab[busy][progress="3"] > hbox > stack > .tab-icon-image { + -moz-image-region: rect(0, 64px, 16px, 48px); +} +:root[tabFx2Compatible="6"][tabFx2Compatible-flags~="pie"] + .tabbrowser-tab[busy][progress="4"] > hbox > stack > .tab-icon-image { + -moz-image-region: rect(0, 80px, 16px, 64px); +} +:root[tabFx2Compatible="6"][tabFx2Compatible-flags~="pie"] + .tabbrowser-tab[busy][progress="5"] > hbox > stack > .tab-icon-image { + -moz-image-region: rect(0, 96px, 16px, 80px); +} +:root[tabFx2Compatible="6"][tabFx2Compatible-flags~="pie"] + .tabbrowser-tab[busy][progress="6"] > hbox > stack > .tab-icon-image { + -moz-image-region: rect(0, 112px, 16px, 96px); +} +:root[tabFx2Compatible="6"][tabFx2Compatible-flags~="pie"] + .tabbrowser-tab[busy][progress="7"] > hbox > stack > .tab-icon-image { + -moz-image-region: rect(0, 128px, 16px, 112px); +} +:root[tabFx2Compatible="6"][tabFx2Compatible-flags~="pie"] + .tabbrowser-tab[busy][progress="8"] > hbox > stack > .tab-icon-image { + -moz-image-region: rect(0, 144px, 16px, 128px); +} + +:root[tabFx2Compatible="6"] .tabbrowser-tab[selected="true"]:focus > hbox > .tab-text { border: 1px dotted -moz-DialogText; } diff --git a/content/treestyletab/res/tabFx2Compatible.xul b/content/treestyletab/res/tabFx2Compatible.xul index 02ca3353..3d370441 100644 --- a/content/treestyletab/res/tabFx2Compatible.xul +++ b/content/treestyletab/res/tabFx2Compatible.xul @@ -19,7 +19,7 @@ window.addEventListener('DOMContentLoaded', function() { window.removeEventListener('DOMContentLoaded', arguments.callee, true); - const currentRevision = 5; + const currentRevision = 6; var b = document.getElementById('content'); if (!b || b.localName != 'tabbrowser') return; @@ -68,6 +68,8 @@ window.addEventListener('DOMContentLoaded', function() { flags.push('mac'); if ('nsPIPlacesDatabase' in Components.interfaces) flags.push('png-throbber'); + if (b.mTabProgressListener.toSource().indexOf('_startStalledTimer') > -1) + flags.push('pie'); root.setAttribute('tabFx2Compatible-flags', flags.join(' ')); break; }