An English version of this page is also available.
注意:このページは旧バージョンの情報を保持するための歴史的ドキュメントとして残されています。最新の情報はMozilla Add-onsの配布ページおよびGitHubリポジトリ上のREADMEを参照して下さい。
セキュリティに関する重要なお知らせ:TST 3.0.14よりも以前のTST 2.xおよびTST 3.xのすべてのバージョンにおいて、他のアドオン向けのAPIを介した情報漏洩の問題がありました(WebExtensions APIでそれらの情報にアクセスするために必要な権限を持たない信頼できないアドオンに対してまで、TSTのAPI経由でプライバシーに関わるタブの情報やプライベートウィンドウのタブの情報が意図せず露出してしまっていました)。TST 3.0.14またはそれ以降のバージョンへの更新を強く推奨します。詳細な情報も併せて参照して下さい。
宣伝。日経LinuxにてLinuxの基礎?を紹介する漫画「シス管系女子」を連載させていただいています。
以下の特設サイトにて、単行本まんがでわかるLinux シス管系女子の試し読みが可能!

Windowsのエクスプローラのフォルダツリーのように、Firefoxのタブをツリー状に表示します。リンクなどから開かれたタブは自動的にツリーになります。タブのグループ関係が視覚的に分かるので、大量のタブを開きがちな人にお勧めです。
この拡張機能は、タブブラウザ拡張の機能をFirefox 2向けに再実装する試みの一環として開発されました。
不具合に遭遇した場合は、まずよくある質問やGitHubにあるFAQ(英語)をご覧下さい。それでも解決方法が見つからない場合の障害報告はGitHubのイシュートラッカーにお願いします。
ここに記載されている情報は旧バージョンに関してのものです。最新の情報はMozilla Add-onsのサイトをご覧下さい。
動画によるデモがありますので、まずはこちらをどうぞ。
ツリー表示の例。リンクなどからタブが開かれる時は、元のタブの子として開かれます。
タブバーは上下左右好きな位置に置けます。上下に置く場合は横長のツリーとなります。また、縦置きされたタブバーは自動的に隠すことができます。
タブの親子関係の変更や移動をドラッグ&ドロップで行えます。操作感としてはAdobe IllustratorやPhotoshopのレイヤツリーあたりに似ています。
Mac OS Xのデフォルトのテーマに合わせた組み込みのテーマ「Metal」も含んでいます。
マルチプルタブハンドラと同時に利用できます。タブのクローズボックスが一直線上に並ぶので、マルチプルタブハンドラ単体で使う場合に比べて、クローズボックスのドラッグで複数タブをまとめて閉じる操作をより簡単に行えるようになります。
情報化タブとも同時に利用できます。マルチプルタブハンドラと合わせて導入するとTBEのタブモードに近い感じになります。ここに記載されている情報は旧バージョンに関してのものです。最新の情報はGitHubのWikiのAPIドキュメント(英語)をご覧下さい。
ツリー型タブでは新しいタブの追加操作を常時監視しており、タブを開く前に「これから新しい子タブを開く」ということをサービスに通知しておくことで、その次のタイミングで開かれたタブを指定されたタブの子として登録することで、タブのツリーを形成します。以下のメソッドを使用することで、自作のアドオンやスクリプトなどから開くタブをツリーの中に組み込むことができます。
なお、Webページ内のスクリプトなどから開かれるタブはすべて自動的にツリーの中に組み込まれます。子のタブを明示的に開くためのWebページ作者向けのAPIはありません。
TreeStyleTabService.readyToOpenChildTab(in DOMNode/DOMWindow aParent, in boolean aMultiple)TreeStyleTabService.stopToOpenChildTab()を呼んで「予約」を取り消す必要がある。
true、タブを1つだけ開きたい場合はfalseを指定する。TreeStyleTabService.readyToOpenChildTabNow(in DOMNode/DOMWindow aParent, in boolean aMultiple)TreeStyleTabService.stopToOpenChildTab()を呼ぶ必要がない。
(その代償として、このAPIを次回以降のイベントループで開かれるタブのために使う事はできない事に注意。)
true、タブを1つだけ開きたい場合はfalseを指定する。TreeStyleTabService.readyToOpenNextSiblingTab(in DOMNode/DOMWindow aParent)TreeStyleTabService.stopToOpenChildTab()を呼んで「予約」を取り消す必要がある。
TreeStyleTabService.readyToOpenNextSiblingTabNow(in DOMNode/DOMWindow aParent)TreeStyleTabService.stopToOpenChildTab()を呼ぶ必要がない。
(その代償として、このAPIを次回以降のイベントループで開かれるタブのために使う事はできない事に注意。)
TreeStyleTabService.readyToOpenNewTabGroup(in DOMNode aTabBrowser)tabbrowser.loadTabs()で開かれたタブのグループは自動的に、最初のタブを親とした一つのサブツリーとして開かれる。
この操作による「予約」は、新しいタブが開かれるまでの間有効である。もしタブが実際には開かれない場合には、手動でTreeStyleTabService.stopToOpenChildTab()を呼んで「予約」を取り消す必要がある。
TreeStyleTabService.readyToOpenNewTabGroupNow(in DOMNode aTabBrowser)tabbrowser.loadTabs()で開かれたタブのグループは自動的に、最初のタブを親とした一つのサブツリーとして開かれる。
この操作による「予約」は、現在のイベントループが終了した時に自動的に破棄されるため、タブが実際には開かれない場合でも手動でTreeStyleTabService.stopToOpenChildTab()を呼ぶ必要がない。
(その代償として、このAPIを次回以降のイベントループで開かれるタブのために使う事はできない事に注意。)
TreeStyleTabService.stopToOpenChildTab(in DOMNode/DOMWindow aParent)readyToOpenChildTab()を実行した後にタブを開かずに操作を取りやめる場合や、複数の子タブを開き終わって操作を完了した後に、これを実行する。
TreeStyleTabService.checkToOpenChildTab(in DOMNode/DOMWindow aParent)readyToOpenChildTab()が実行されたかどうか)を調べる。
true、そうでない場合はfalse。実際の利用例は以下の要領です。
// 現在のタブの子タブを一つだけ開く例
if ('TreeStyleTabService' in window)
TreeStyleTabService.readyToOpenChildTab(gBrowser.selectedTab);
gBrowser.addTab('http://www.example.jp/');
// 現在のタブの子として複数のタブを開く例
if ('TreeStyleTabService' in window)
TreeStyleTabService.readyToOpenChildTab(gBrowser.selectedTab, true);
gBrowser.addTab('http://www.example.jp/');
gBrowser.addTab('http://www.example.com/');
gBrowser.addTab('http://www.google.co.jp/');
if ('TreeStyleTabService' in window)
TreeStyleTabService.stopToOpenChildTab(gBrowser.selectedTab);
// 新しい「タブのグループ」を開く
if ('TreeStyleTabService' in window)
TreeStyleTabService.readyToOpenNewTabGroup(gBrowser);
gBrowser.loadTabs([
'http://www.google.co.jp/',
'http://www.google.com/',
'http://www.google.co.jp/'
]);
// 操作をキャンセルする例
if ('TreeStyleTabService' in window)
TreeStyleTabService.readyToOpenChildTab(gBrowser.selectedTab, true);
if (!confirm('本当に開いてもOK?')) {
if ('TreeStyleTabService' in window)
TreeStyleTabService.stopToOpenChildTab(gBrowser.selectedTab);
return;
}
gBrowser.addTab('http://www.example.jp/');
現在のタブに関連した情報を新しいタブで開くような機能について、このコードを入れておくと、ツリー型タブを利用している場合にユーザがより幸せになれるかもしれません。
gBrowser.treeStyleTab.collapseExpandSubtree(in DOMNode aParentTab, in Boolean aCollapsed)そのタブが子孫のタブを持っている場合に、サブツリーを開閉する。ユーザ設定でツリーの折り畳みが禁止されている場合は何もしない。
trueでサブツリーを折り畳み、falseで展開する。TreeStyleTabService.canCollapseSubtree(in DOMNode aTabBrowser)任意のtabbrowserについて、ツリーを折り畳める状態かどうかを調べる。
true、そうでなければfalse。TreeStyleTabService.isSubtreeCollapsed(in DOMNode aParentTab)任意のタブについて、ツリーが折り畳まれているかどうかを調べる。
true。それ以外の場合はfalse。TreeStyleTabService.isCollapsed(in DOMNode aChildTab)任意の子タブについて、折り畳まれているかどうか(そのタブが属しているツリーが折り畳まれているかどうか)を調べる。
true。それ以外の場合はfalse。gBrowser.treeStyleTab.attachTabTo(in DOMNode aChildTab, in DOMNode aParentTab)任意のタブを他のタブの子として登録する。子タブになったタブ(およびそのサブツリー)は、ユーザの設定に従って自動的に移動される。
gBrowser.treeStyleTab.detachTab(in DOMNode aChildTab)任意の子タブ(およびそのサブツリー)を、親タブのサブツリーから切り離す。ツリーから切り離されたタブはそのままの位置に留まるので、必要に応じて任意でタブバーの最後の位置に移動するなどすること。
このAPIは、かつてはpartTab()というメソッド名でした。互換性のため従来の名前でもAPIを利用できます。
gBrowser.treeStyleTab.partAllChildren(in DOMNode aParentTab)任意のタブのすべての子タブをそのタブのツリーから切り離す。ツリーから切り離されたタブはそのままの位置に留まるので、必要に応じて任意でタブバーの最後の位置に移動するなどすること。
TreeStyleTabService.promoteTab(in DOMNode aTab)任意のタブをツリー内の1つ上の階層に移動する。そのタブに親タブが無い場合は何もしない。
TreeStyleTabService.promoteCurrentTab()現在のタブをツリー内の1つ上の階層に移動する。現在のタブに親タブが無い場合は何もしない。
TreeStyleTabService.demoteTab(in DOMNode aTab)任意のタブをツリー内の1つ下の階層に移動する。そのタブの兄弟にあたるタブが無い場合は何もしない。
TreeStyleTabService.demoteCurrentTab()現在のタブをツリー内の1つ下の階層に移動する。現在の兄弟にあたるタブが無い場合は何もしない。
gBrowser.treeStyleTab.moveTabs(in Array aMovedTabs, [in aDOMNode aReferenceTab])指定されたタブ群を、親子関係(ツリー構造)を保ったまま別の位置に移動する。他のウィンドウのタブを渡した場合、それらのタブはウィンドウ間をまたいで移動される(元のウィンドウからはタブが消える)。
insertBefore()のように、タブ群はaReferenceTabで指定されたタブの前に置かれる形で移動される。何も指定しなかった場合、タブ群はタブバーの末尾に置かれる。gBrowser.treeStyleTab.importTabs(in Array aTabs, [in aDOMNode aReferenceTab])gBrowser.treeStyleTab.duplicateTabs(in Array aTabs, [in aDOMNode aReferenceTab])指定されたタブ群を、親子関係(ツリー構造)を保ったまま複製する。
insertBefore()のように、タブ群はaReferenceTabで指定されたタブの前に置かれる形で複製される。何も指定しなかった場合、タブ群はタブバーの末尾に複製される。TreeStyleTabService.hasChildTabs(in DOMNode aTab)タブが子を持っているかどうかを調べる。
TreeStyleTabService.getChildTabs(in DOMNode aTab)直接の子であるタブの配列を得る。
TreeStyleTabService.getFirstChildTab(in DOMNode aTab)最初の直接の子タブを得る。
nullTreeStyleTabService.getLastChildTab(in DOMNode aTab)最後の直接の子タブを得る。
nullTreeStyleTabService.getDescendantTabs(in DOMNode aTab)すべての子孫タブの配列を得る。
TreeStyleTabService.getLastDescendantTab(in DOMNode aTab)子孫の中で最後のタブを得る。
nullTreeStyleTabService.getParentTab(in DOMNode aTab)親のタブを得る。
nullTreeStyleTabService.getRootTab(in DOMNode aTab)最上位の親タブ(親を持たないタブ)を得る。
nullTreeStyleTabService.rootTabs最上位の親タブ(親を持たないタブ)の配列を得る。
TreeStyleTabService.getNextSiblingTab(in DOMNode aTab)同じ階層にある1つ次のタブを得る。
nullTreeStyleTabService.getPreviousSiblingTab(in DOMNode aTab)同じ階層にある1つ前のタブを得る。
nullGUIとしては機能を提供していませんが、バージョン0.7.2009041401以降では、指定の幅にウィンドウをリサイズするためのAPIが存在します。
TreeStyleTabService.setTabbarWidth(in Number aWidth, [in Boolena aForceExpanded])タブバーの幅を、第1引数で指定された幅に調整する。「自動でタブバーを畳む」状態の時は、畳まれた状態のタブバーの幅が変化する。この状態の時でも常に展開状態のタブバーの幅を変えたい場合は、第2引数にtrueを渡す。
このメソッドはタブバーを左または右に表示している場合にのみ機能する。
TreeStyleTabService.setContentWidth(in Number aWidth, [in Boolena aKeepWindowSize])内容領域の幅を、第1引数で指定された幅に調整する。通常のウィンドウ表示で、画面上に十分な余裕がある場合は、内容領域が指定幅になるようにウィンドウ自体を広げる。画面の幅が足りない場合、またはフルスクリーン表示の場合は、タブバーを縮める。第2引数にtrueを渡すと、ウィンドウのサイズを変えずに常にタブバーの幅だけを変化させる。
TreeStyleTabService.positionTreeStyleTabService.position = String aPositionアクセスするとタブバーの現在の表示位置を"top", "bottom", "left", "right"のいずれかの文字列で返す。また、"top", "bottom", "left", "right"のいずれかの文字列を代入すると、タブバーをその位置に移動する。
現在のタブを閉じた場合、ツリー型タブはツリーの構造に応じて適切なタブへフォーカスを移します。他のアドオンでタブのフォーカスを独自に制御する(現在のタブを閉じたら前に見ていたタブにフォーカスを移すなど)場合、ツリー型タブのこの挙動を抑止する必要があります。
ツリー型タブは、タブのフォーカスを変更する直前に「TreeStyleTabFocusNextTab」というイベントを発行します。このイベントがaEvent.preventDefault();でキャンセルされた場合、ツリー型タブはツリー型タブは独自のフォーカス制御を行わなくなります。
window.addEventListener(
"TreeStyleTabFocusNextTab",
function(aEvent) {
if (Prefs.getCharPref('myextension.focus.mode') != 'default')
aEvent.preventDefault();
},
false
);
TreeStyleTabService.treeViewEnabledTreeStyleTabService.treeViewEnabled = Boolean aEnabledアクセスすると、現在ツリー表示が有効かどうかを真偽値で返す。falseを代入するとツリーの折り畳みとインデントが解除され、すべてのタブがフラットな状態で表示されるようになる。trueを代入するとツリーの折り畳みとインデントが再度適用される。初期値は常にtrue。
複数のタブをまとめてブックマークする際に、ツリー構造をブックマークに保存させることができます。手順は以下の要領です。
var tabs = MyAddon.getTargetTabs();
if ('TreeStyleTabBookmarksService' in window)
TreeStyleTabBookmarksService.beginAddBookmarksFromTabs(tabs);
MyAddon.createBookmarksFromTabs(tabs);
// ブックマークの作成をキャンセルしたとしても、必ずこれは実行して下さい。
if ('TreeStyleTabBookmarksService' in window)
TreeStyleTabBookmarksService.endAddBookmarksFromTabs();
TreeStyleTabBookmarksService.beginAddBookmarksFromTabs(in Array aTabs)これから作成されるブックマークにタブのツリー構造を保存する事を宣言する。
TreeStyleTabBookmarksService.endAddBookmarksFromTabs()タブからのブックマーク作成の終了を宣言する。
ツリー型タブは以下のカスタムイベントを場合に応じて発行します。これらのイベントはDOM2 Eventの仕組みを用いて捕捉できます。
nsDOMTreeStyleTabCollapsedStateChangeサブツリーの折り畳みの状態が変化した時に発行される。
originalTargetgetData('collapsed')trueの場合はツリーが折り畳まれ、falseの場合はツリーが展開されたことを示す。nsDOMTreeStyleTabAutoHideStateChangeタブバーが自動開閉された時に発行される。
originalTargetgetData('shown')trueの場合はタブバーが表示されたことを、falseの場合はタブバーが隠されたことを示す。getData('state')treestyletab-tabbar-autohide-state属性の値と同じ物("expanded", "shrunken", "hidden"のいずれか)がセットされる。nsDOMTreeStyleTabTabbarPositionChangingタブバーの位置が変更される直前に発行される。
originalTargetgetData('oldPosition')"top", "bottom", "left", "right"のいずれか。getData('newPosition')"top", "bottom", "left", "right"のいずれか。nsDOMTreeStyleTabTabbarPositionChangedタブバーの位置が変更された後に発行される。
originalTargetgetData('oldPosition')"top", "bottom", "left", "right"のいずれか。getData('newPosition')"top", "bottom", "left", "right"のいずれか。ukロケール更新(by Taron-art. Thanks!)ukロケール更新(by Taron-art. Thanks!)browser.tabs.groups.enabledに相当)scroll のメッセージで、特定のタブグループの位置までタブバーをスクロールするためのパラメータ group を受け付けるようにしたtab-mousedown などの通知型メッセージにおいて、Firefoxのタブグループをtab(ツリーの項目)として通知するようになった(typeプロパティの値が"group"である特殊なタブとして通知されます)fadeOutPendingTabsおよびfadeOutDiscardedTabsを制御する上級者向け設定のUIを追加browser.tabs.fadeOutUnloadedTabsに対応するfadeOutPendingTabs、およびbrowser.tabs.fadeOutExplicitlyUnloadedTabsに対応するfadeOutDiscardedTabsの2つの隠し設定も追加)<all_urls>権限が付与されているときにダイアログが開けなくなる問題を修正(4.1.5での後退バグ)tab-mousedown|tab-mouseup|tab-clicked ではなく tabbar-mousedown|tabbar-mouseup|tabbar-clicked を通知するようにしたprivacy.resistFingerprinting=trueなど)でもタブのプレビューを期待通りの大きさで表示できるようにしたget-treeAPIおよびグループ化用タブのツリー表示が機能しなくなっていたのを修正(4.0.24での後退バグ)text/plain型の表現を加え、任意のテキスト入力欄へドロップできるようにしたtry-scroll-to-activated-tab を追加し、タブが選択されたときのサイドバーの自動スクロール処理を抑制できるようにしたstuck という状態の情報を、ツリー項目の情報の一部として返すようにしたnlロケール追加(by Vistaus. Thanks!)overflow/underflowイベントが廃止された環境でタブバーの溢れ状態を正しく判定できていなかったのを修正closeParentBehavior_replaceWithGroup_thresholdToPrevent を -1 に設定して下さい)group-tabs APIを用いて一部だけグループ化した場合に、グループ化後も元のツリー構造を可能な限り保ち、また、残されたタブのツリー構造も矛盾無く維持するようにしたdataTransferにアクセスできなかったときのエラー情報がコンソールに現れないようにしたbrowser.tabs.selectOwnerOnClose などの作用によって可視範囲外のタブがアクティブになったときに、マウスポインターがサイドバー領域から離れるまでは、アクティブなタブの位置までタブバーを自動スクロールする動作を遅延するようにした(この動作は deferScrollingToOutOfViewportSuccessor を false に設定することで無効化できます)overflowとunderflowイベントが使用できない状況での代替処理をより最適化zh_CNロケール更新(by NightSharp, thanks!)ru、de、およびenロケール更新(by vadcx, thanks!)moveSoloTabOnDropParentToDescendant を false に設定してください)overflowとunderflowイベントに依存しない実装に変更したButtonText ではなく GrayText を使うように変更<all_urls>の権限が承認されていない場合に無関係の設定項目が無効化されてしまっていたのを修正syncActiveStateToBundledTabs を追加--tab-sizeでタブの高さを変更したときの挙動がおかしくなっていたのを修正ButtonShadow ではなく ButtonText を使うように変更cacheAPITreeItems で有効化できます)zh_CNロケール更新(by NightSharp, thanks!)outOfScreenTabsRenderingPages=-1 による物理スクロール)時のスクロール処理をより最適化outOfScreenTabsRenderingPagesが意図通りに反映されていなかったのを修正outOfScreenTabsRenderingPages を追加(-1のような負の値を設定すると、仮想スクロールが行われないTST 3.xの状態とほぼ同等になります)browser.tabs.searchclipboardfor.middleclick の再現を目的とした物で、事前にクリップボードの読み取り権限を許可し、dom.events.asyncClipboard.clipboardItem を true に設定しておく必要があります)zh_CNロケール更新(by NightSharp, thanks!)sidebar-show の通知をより確実に送出するようにしたzh_CNロケール更新(by NightSharp, thanks!)zh_CNロケール更新(by NightSharp, thanks!)#pinned-tabs-container > .tabs.pinned および #normal-tabs-container > .virtual-scroll-container > .tabs.normal)の配下に置かれるようになりましたtabs.Tab.index に対応する属性 data-index を持つようになりましたcounterを使用したカスタマイズは期待通りに動作しなくなりました(同等のことをするにはヘルパーアドオンを作成する必要があります)get-version を追加したtabs-rendered と tabs-unrendered を追加し、タブのレンダリング状態を監視できるようにしたget-light-tree を追加get-treeなどで得られるツリー項目の情報について、TST内での判別結果に対応する情報を含めるようにしたstick-tab、unstick-tab、toggle-sticky-stateを追加register-auto-sticky-states と unregister-auto-sticky-states を追加tab-sticky-state-changed を追加し、タブの貼り付け状態の変化を監視できるようにしたget-tree と get-light-tree の rendered:true オプションによってレンダリング済みのタブの情報だけを得られるようにしたget-tree や get-light-tree で特定の状態の複数項目を一度に取得するための特別なキーワードとして allVisibles と normalVisibles を追加get-tree や get-light-tree であらかじめ states の情報に基づいて絞り込んだ結果を得るための states および statesNot オプションを追加tab-above と tab-below に対応set-tooltip-text と clear-tooltip-text を追加try-expand-tree-from-attached-child の通知において、新たに追加された子タブの情報を child で含めるようにしたzh_CNロケール更新(by NightSharp, thanks!)frロケール更新(by cayenne17, thanks!)try-collapse-tree-from-collapse-command と try-collapse-tree-from-collapse-all-command を追加し、ユーザーの操作でツリーが折りたたまれるのを防げるようにしたmarginとpaddingで簡単に位置を調整できるようにしたruロケール更新(by wvxwxvw, thanks!)deロケール更新(by juwbr, thanks!)browser.tabs.selectOwnerOnClose再現の挙動を改善browser.tabs.selectOwnerOnClose再現の挙動を改善try-expand-tree-from-expand-command と try-expand-tree-from-expand-all-command を追加ruロケール更新(by wvxwxvw, thanks!)ruロケール更新(by wvxwxvw, thanks!)ruロケール更新(by wvxwxvw, thanks!)browser.tabs.insertRelatedAfterCurrent=trueの時のFirefox既定の動作に合わせる動作を追加browser.tabs.insertAfterCurrent=trueの時に既存のタブの中に開かれたタブが正しくツリー構造に組み込まれなくなっていたのを修正%GROUP%: ツリーの親タブがグループ化用のタブだった場合はそのタイトル、そうでなければ空文字%HOURS%: 2桁で表した現在時刻の時間%MINUTES%: 2桁で表した現在時刻の分%SECONDS%: 2桁で表した現在時刻の秒%MILLISECONDS%: 3桁で表した現在時刻のミリ秒%ANY(value1, value2, ...)%: 指定された値の中で最初に有効な値try-handle-newtabを追加deロケール更新(by SammysHP, thanks!)ruロケール更新(by wvxwxvw, thanks!)@mediaや擬似要素を含むユーザースタイルとの互換性の不具合を解消browser.tabs.insertRelatedAfterCurrentとbrowser.tabs.selectOwnerOnCloseに基づくFirefoxのタブの取り扱いの動作をより正しく模倣するようにしたabout:readerのURLのブックマークを開く際、(そのままではアドオンから開けないため)元のURLを開くようにしたtab-item-substanceのpaddingからmarginへ変更@importを使用できるようにしたtabs.onCreatedのリスナーからTab.idを伴ってリクエストされたget-treeに対し、より確実に結果を返すようにしたsidebar/tst-api-frontendを追加zh_CNロケール更新(by NightSharp, thanks!)enableWorkaroundForBug1763420_reloadMaskImage を追加ruロケール更新(by wvxwxvw, thanks!)frロケール更新(by tbertels, thanks!)tab-mouseover などのメッセージが通知されなくなる問題を修正dragendイベントの座標がおかしくなる問題(bug 1767165)への回避策を、対称範囲外のバージョンのFirefoxでは無効化するようにしたnew-tab-processed を追加dragendイベントの座標がおかしくなる問題(bug 1767165)への回避策を導入し、サイドバーを右側に置いている場合にタブが意図せず切り離されて画面外に配置されてしまう事態が発生しにくくなるようにした(この回避策を無効化するには、TSTの設定の「開発者向け」-「すべての設定」でenableWorkaroundForBug1767165_fixDragEndCoordinatesのチェックを外して下さい)try-collapse-tree-from-other-expansion を追加deロケール更新(by SammysHP, thanks!)ruロケール更新(by wvxwxvw, thanks!)syncEnabled)を追加した(SyncによってCPU使用率が急上昇することがある問題の回避策)browser.tabs.insertAfterCurrentがtrueに設定されている場合に、受け側のFirefoxが動作していない状態で他のデバイスからタブが送られた時に、Firefox起動後に開かれたそれらのタブを、ツリー構造を壊さないよう既存のツリーに組み込むようにしたbrowser.tabs.insertAfterCurrentがtrueに設定されている場合に、他のデバイスから複数のタブを一度に送ると受け側のFirefoxでタブが飛び飛びに開かれてしまう問題について、可能な限りタブの位置を一箇所にまとめるようにした(この挙動は隠し設定 fixupOrderOfTabsFromOtherDevice で無効化できます)<tab-item-substance>、<tab-label> 、<span class="label-content">に対し、親要素の<tab-item>のdata-tab-id属性とdata-window-id属性を継承するようにしたkoロケール更新(by OctopusET, thanks!)APIEnabled を追加したzh_TWロケール更新(by SiderealArt, thanks!)zh_CNロケール更新(by NightSharp, thanks!)ruロケール更新(by wvxwxvw, thanks!)koロケール更新(by OctopusET, thanks!)zh_CNロケール更新(by NightSharp, thanks!)privacy.resistFingerprinting=true を使用している場合向けに、サイドバーの近くにタブをドロップしても別ウィンドウに切り離せるようにするエキスパート設定を追加tabbar-overflow と tabbar-underflow を追加scrolled の通知メッセージに、タブバーのスクロール可否を示すプロパティ overflow を追加ruロケール更新(by wvxwxvw, thanks!)aria-label を設定するようにした(これによりDragonを含むいくつかの音声認識システムとの互換性が向上する事が期待されます)tab-item と内容( tab-favicon など)との間に、中間コンテナとして tab-item-substance を追加しました。
ユーザースタイルを使用している場合、セレクタ内で tab-item の後に記述していた>(子結合子)は削除する必要があります。
セレクタ更新のヒントも参照して下さい。about:newtabを含む項目がある時に、フォルダー内のブックマークをタブで開けなくなっていたのを修正indent を追加したparent, parent-of-<id>, root, root-of-<id> キーワード指定に対応した--pinned-tabs-area-size)、サブパネルの表示領域(--subpanel-area-size)、および「新しいタブ」ボタンの表示領域(--after-tabs-area-size)のそれぞれのサイズについて、ユーザースタイルでこれらの変数を上書きすることで容易に外観を制御できるようにした--multiselected-colorを使ったユーザースタイルとの互換性が損なわれていた問題を修正(3.8.2での後退バグ)ruロケール更新(by wvxwxvw, thanks!)about:newtab へのリンクとして取り扱うようにした(これにより、サイドバー内の任意の位置に新しいタブを開くこと画できます)about:newtabのリンクをタブで開けるようにしたwindowIdというURLパラメータで渡すようにした(by NiklasGollenstede. Thanks!)new-tab-button-mousedown、new-tab-button-mouseup、new-tab-button-clickedを使って「新しいタブ」ボタンの動作を外部から制御できるようにしたset-extra-new-tab-button-contentsとclear-extra-new-tab-button-contentsを使って、「新しいタブ」ボタンの中に任意のUI要素を挿入できるようにしたtab-clickedを、tab-mousedownとtab-mouseupのいずれもキャンセルされなかった場合にのみ通知するように変更したdeロケール更新(by SammysHP, thanks!)koロケール更新(by BoredSomeone, thanks!)ruロケール更新(by wvxwxvw, thanks!)initialHeight(初期状態の高さ)およびfixedHeight(固定の高さ)を指定できるようにした。scroll APIのdeltaやpositionパラメータでCSS長さの指定を受け付けるようにしたscroll APIでアニメーションに要する時間を制御するdurationパラメータに対応stop-scrollを追加ruロケール更新(by wvxwxvw, thanks!)createを実装ruロケール更新(by wvxwxvw, thanks!)ruロケール更新(by wvxwxvw, thanks!)ui.key.accelKeyで変更されたFirefox自身のアクセラレータキーを認識するための上級者向け設定を追加ruロケール更新(by wvxwxvw, thanks!)*-of-<id> 接尾辞が付いたキーワード指定に対応したlastDescendant キーワード指定に対応したruロケール更新(by wvxwxvw, thanks!)deロケール更新(by SammysHP, thanks!)about:logins, about:profiling, about:protections および about:robots のタブについて、Firefox組み込みの物と同じfaviconを表示するようにしたopenerTabIdを伴って開かれたタブのみが、「外部アプリケーションから開かれたタブ」として検出されていた)ruロケール更新(by wvxwxvw, thanks!)tab_background_textなどのテーマ由来の色を参照するためのカスタムプロパティについて、--theme-colors-tab_background_text-30のように10%刻みでで数値の接尾辞を使って不透明度を変えられるようにした(この例ではtab_background_textの色で不透明度30%ということになる)ruロケール更新(by wvxwxvw, thanks!)openerTabIdを積極的には消去しないようにした)dragendイベントによってタブが意図せずウィンドウから切り離されたり移動されたりする現象を起こりにくくした{ type: 'get-tree', windowId: (integer) }に対して(単一のツリー項目ではなく)APIドキュメントの説明どおりに最上位のツリー項目の配列が返るようになったruロケール更新(by wvxwxvw, thanks!)ruロケール更新(by wvxwxvw, thanks!)krからkoに変更(by dfkdream, thanks!)browser.tabs.insertRelatedAfterCurrent=true の時のFirefoxの動作と同様(直近に開いた子タブの隣、もしくは親タブの隣に開く)に明示的に設定する選択肢を追加browser.tabs.insertRelatedAfterCurrent=true 且つ browser.tabs.selectOwnerOnClose=true の状態におけるFirefoxのタブのフォーカス動作の再現度を向上(従来版では手動操作でのフォーカス移動があった後でも子タブを閉じた後に親タブにフォーカスが戻りやすかった問題を修正)ruロケール更新(by wvxwxvw, thanks!)ext+treestyletab:tabbarのエイリアスとしてext+treestyletabi:sidebarを受け付けるようにしたext+treestyletab:tabbar?title=... のようにURLパラメータ title でページのタイトルを制御できるようにした(Tree Style Tab in Separate Windowなどのアドオンとの互換性向上のため)ext+treestyletab:tabbar と指定してサイドバー用のページを読み込む際、選択された組み込みのテーマを反映した状態でページを読み込むようにした(Tree Style Tab in Separate Windowなどのアドオンとの互換性向上のため)$SHORT_YEAR% に対応したruロケール更新(by wvxwxvw, thanks!)ruロケール更新(by wvxwxvw, thanks!)deロケール更新(by SammysHP. Thanks!)ruロケール更新(by wvxwxvw, thanks!)ruロケール更新(by wvxwxvw, thanks!)hsl()やhsla()が使われている場合の表示を修正ruロケール更新(by wvxwxvw, thanks!)ruロケール更新(by wvxwxvw, thanks!)tab-item[data-contextual-identity-name="Personal"] のようなセレクタを使えるようにしたmanifest.jsonで静的に定義するようにした(これにより、意図せずショートカットが失われる問題が発生しなくなる事が期待されますが、Firefox 74以前のバージョンでは初期ショートカットを割り当て解除できなくなります)ruロケール更新(by wvxwxvw, thanks!)tab-mouseover APIを使用しているアドオンが動作しなくなっていたのを修正(by Klemens Schölhorn, thanks!)ruロケール更新(by wvxwxvw, thanks!)ext+treestyletab:* 形式の短縮URIをリダイレクトする際にクエリーパラメーターが正しく引き継がれていなかったのを修正:root.group-tab { --column-width: 30em; } のようなスタイル指定で変更できるようにしたtab-mousedown および tab-mouseup の通知を介して、タブのクリック時のTSTの既定の動作をより正しくキャンセルするようにしたext+treestyletab:tabbar?windowId=(Window.id) というURIでタブバーを任意のタブやウィンドウで開けるようにした(TST in Separate Windowのようなアドオン向けの変更)sidebar-show および sidebar-hide の通知について、現在開かれているタブバーのページの数を含めるようにしたbrowser.tabs.warmup()を使用してタブの切り替え時の応答性を向上したruロケール更新(by wvxwxvw, thanks!)browser.tabs.insertAfterCurrent=trueの時に折りたたまれたツリーの親タブの隣(=折りたたまれたツリーの中)に新しいタブが開かれた場合はツリーを自動展開するようにしたbrowser.tabs.closeTabByDblclick=trueの時の動作をシミュレートする設定を、タブのダブルクリックに対する割り当て操作の設定と統合したruロケール更新(by wvxwxvw, thanks!)get-drag-dataを含む)override-contextを含む)fake-contextMenu-* という体系だったのを fake- プレフィクスなしの contextMenu-* に改めた(後方互換性のため、従来通りのAPI名も引き続き使用可能)deロケール更新(by SammysHP. Thanks!)ruロケール更新(by wvxwxvw, thanks!)ruロケール更新(by wvxwxvw, thanks!)ruロケール更新(by wvxwxvw, thanks!)browser.tabs.insertAfterCurrentがtrueのときに、ブックマークフォルダ上のコンテキストメニューの「ツリーとしてすべて開く」でタブが開かれると順番やツリー構造がおかしくなっていたのを修正try-fixup-tree-on-tab-moved{type:"get-tree",windowId}のようなAPI呼び出しで当該ウィンドウの最上位のタブの配列を返却するように修正try-redirect-focus-from-collaped-tab および try-expand-tree-from-focused-collapsed-tab で通知される focusDirection の値がおかしかったのを修正zh_CNロケールで「タブのツリー」の項目にアクセスキーを設定(by no1xsyzy. Thanks!)tab-mouseupとtab-clickedの通知において、tabの内容がmouseupしたタブではなくnullになってしまっていたのを修正zh_CN言語リソース更新(by NightSharp, thanks!)ruロケール更新(by wvxwxvw, thanks!)collapse-treeとexpand-treeで、recursivelyオプションで効果を再帰的に反映するかどうかを選択できるようにしたfake-contextMenu-clickの通知内容に、クリックされたマウスのボタンを示すbuttonを含めるように↓ruロケール更新(by wvxwxvw. Thanks!)try-redirect-focus-from-collaped-tabtab-mousedownがキャンセルされてもtab-mouseup、tab-clickedを通知するように戻した(キー入力に関するイベントの仕様と混同していた):Move unloaded tabs for Tree Style Tabとの互換性が損なわれていた後退バグの修正about:devtools-toolboxのタブのアイコンについて適切なアイコンを使うようにしたset-extra-tab-contents、clear-extra-tab-contentsおよびclear-all-extra-tab-contentstab-dblclicked、tree-collapsed-state-changed、try-move-focus-from-collapsing-tree、try-expand-tree-from-focused-parent、try-expand-tree-from-focused-bundled-parent、try-expand-tree-from-attached-child、try-expand-tree-from-focused-collapsed-tab、try-expand-tree-from-long-press-ctrl-key、およびtry-expand-tree-from-end-tab-switchtab-mousedownに続くtab-mouseup、tab-clicked、tab-dblclickedの各通知型メッセージについて、前の通知に対するキャンセル操作で確実にキャンセルできるようにしたruロケール更新(by wvxwxvw. Thanks!)ruロケール更新(by wvxwxvw. Thanks!)krロケール追加(by BoredSomeone. Thanks!)ruロケール更新(by wvxwxvw. Thanks!)toggle-tree-collapsed、lock-tree-collapsed、unlock-tree-collapsed および toggle-lock-tree-collapsednextVisible、previousVisible(prevVisible)、および Cyclic が末尾に付くバリエーションを追加scroll型のメッセージにおいて、対象ウィンドウを指定するwindowパラメータの値として現在アクティブなウィンドウを指定するキーワードactiveに対応ruロケール更新(by wvxwxvw. Thanks!)bundledTabId を追加したscrolled 型のメッセージについて、scrollXとscrollZも参照できるようにしたruロケール更新(by wvxwxvw. Thanks!)zh_CNロケール更新(by Siyuan Xu. Thanks!)group-tabコマンドが呼ばれたときに、開かれたグループタブに対応するオブジェクトを正しく返却するように修正deロケール更新(by SammysHP. Thanks!)ruロケール更新(by wvxwxvw. Thanks!)about:addonsの設定画面の配色を暗い色にするようにしたopen-all-bookmarks-with-structureコマンドを追加zh-TWロケール更新(by Bo-Sian Li, thanks!)ruロケール更新(by wvxwxvw. Thanks!)beforeunloadイベントでキャンセルした後でもタブを正しく閉じられるように修正(最近のバージョンでの後退バグ)ruロケール更新(by wvxwxvw. Thanks!)about:addonsから開かれた検索結果のタブを子タブにするようにしたmoz-extension://...)を短縮URL(ext+treestyletab:...)に自動変換し、環境をまたいだブックマークの同期をしやすくしたruロケール更新(by wvxwxvw. Thanks!)guessDraggedNativeTabs を false に設定すると無効化できます)ext+treestyletab:group?(title) を使えるようにしたdeロケール更新(by SammysHP. Thanks!)frロケール更新(by ariasuni and DarckCrystale. Thanks!)ruロケール更新(by wvxwxvw. Thanks!)ruロケール更新(by wvxwxvw. Thanks!)about:treestyletab-group の代わりとして機能するカスタムURIとして ext+treestyletab:group を実装したfrロケール更新(by narzb. Thanks!)ruロケール更新(by wvxwxvw. Thanks!)--throbber-animation-steps カスタムプロパティを定義するようにしたabout:debugging のタブのアイコンについて、正しくタブの前景色で塗りつぶすようにしたbrowser.tabs.insertAfterCurrentがtrueの時でも、TST以外によって開かれた新しい空のタブの取り扱いの設定を可能な限り尊重するようにしたwait-for-shutdownの通知を導入したF2でサブパネルの表示・非表示を切り替える)tab-clickedの通知がtab-mouseupより後に届くように修正 (by xzn, thanks!)deロケール更新(by SammysHP, thanks!)browser.tabs.insertAfterCurrent=true の時にツリーの構造が壊れる問題を修正)scrollToExpandedTree を追加したreadyの通知を送るようにした(もしインストールされているのに動作しないTSTとの連携を前提としたアドオンが有る場合は、手動での再読み込みによる登録のし直しが必要です)#tabbar { scrollbar-width: auto; } 、非表示にしたい場合は #tabbar { scrollbar-width: none; } と設定して下さい):root.left #tabbar { direction: ltr; } と設定して下さい)fake-contextMenu-clickを正しく通知するようにした。(最近のバージョンでの後退バグ)effectiveFavIconUrlを公開しないようにしたunread にならないようにしたdata-title 属性で各タブに設定するようにした--indent-size を定義するようにしたtree-attached および tree-detached を通知するようにしたpermissions-changed が通知されたタイミングでアドオンの再初期化などが必要になるかも知れません)deロケール更新(by SammysHP, thanks!)deロケール更新(by SammysHP, thanks!)about:debuggingとabout:debugging-new専用のアイコンに対応deロケール更新(by SammysHP, Thanks!)browser.tabs.closeWindowWithLastTab=false の時に最後のタブを開き直した後サイドバーが動作しなくなる問題を修正scrollbar-width を使うようにしたbrowser.tabs.closeWindowWithLastTab=false の時に最後のタブを閉じた後サイドバーが動作しなくなる問題を修正(後退バグ)about:performanceのタブのfaviconをFirefoxと同じ物で表示するようにしたmove-beforeおよびmove-after APIを追加browser.tabs.selectOwnerOnClose=trueの挙動の再現度合いを改善discarded の状態を正しく認識するようにしたindexを指定された状態で開かれたタブについて、より安全に取り扱うようにしたwait-for-shutdown を追加したbrowser.tabs.multiselect=falseに設定されている環境に対応するための詳細設定を追加active-marker から highlighter に変更した(ユーザースタイルシートの更新が必要な場合があります)successorTabIdを制御するほかのアドオンとの互換性を向上(TSTによる制御を無効化するには「ツリーの挙動」→「現在のタブが最後の子タブだった時に、現在のタブを閉じた後は」→「次のタブにフォーカスを移す(Firefox既定の動作)」を手動で選択する必要があります9browser.tabs.closeTabByDblclick=true の挙動を再現する設定を追加したgrant-to-remove-tabs を追加get-tree APIでのレスポンスに含まれるタブの情報に、最後に有効だったアイコンを含めるようにしたmove-to-start, move-to-end, open-in-new-window, reopen-in-containerhighlightedとmultiselectedを追加(Firefox 63以降でのみ利用可能)duplicate APIのasオプションについて、省略時はTSTの複製したタブ向けの挙動に従うようにしたwindowIdというプロパティ名でも値を返すようにした(後方互換性のため、引き続きwindowというプロパティ名でもウィンドウのIDが返されます)documentUrlPatternsでmoz-extension:を含むパターンを使っているアドオンとの互換性を向上highlightedプロパティの値が実際の状態と異なっていたのを修正svg.context-properties.content.enabledがtrueに設定されていて意図的に有効化された場合にのみ、テーマの配色をツールバーのアイコンに反映するようにしたbrowser.tabs.insertAfterCurrent=true時の挙動を尊重するようにした(この機能によりタブが現在のタブの隣に開かれた場合、TST自身の「新しいタブを開く位置」関係の設定を反映しないようにした)tab-mouseoverとtab-mouseoutをエッジケースにおいても送出するようにした(by klemens, thanks!)deロケール更新 (by sicherist, thanks!)attention属性をサイドバー内のタブに反映するようにしたtab-mouseoutを通知するタイミングを修正した(by klemens, thanks!)tab-mousedown、tab-mouseup、およびtab-clickedの型のメッセージについて、イベントがミュート/ミュート解除ボタンの上で起こったかどうかを示すsoundButtonを含めるようにしたtab-mouseoutを通知するタイミングを修正したbrowser.menus.onShown/browser.menus.onHidden互換のAPIを追加したdeロケール更新 (by sicherist, thanks!)ru, ukロケール追加 (by perdolka, thanks!)about;treestyletab-groupを読み込むとCPU使用率が100%になる問題を修正log.logs.join('\n') を実行するとログを出力できます)deロケール更新 (by sicherist, thanks!)deロケール更新 (by sicherist, thanks!)enableとiconsをパラメータとして受け取れるようにしたregister-self APIでのiconsパラメータの指定に対応data-user-agent属性にHTTP_USER_AGENTの値を設定するようにしたget-tree APIで各タブについてancestorTabIdsを返すようにしたdeロケール更新 (by sicherist, thanks!)zh_TWロケール更新 (by Bo-Sian Li, thanks!)browser.tabs.selectOwnerOnCloseによるFirefox自身のフォーカス移動が無視されてしまっていたのを修正(2.4.9での後退バグ)senderTabでコンテントスクリプトに対応するタブを指定できるようにしたdeロケール更新 (by sicherist, thanks!)about:treestyletab-startupで簡単に再表示できるようにしたtabs.Tabの拡張型として返される情報の中に、タブのインデントの深さを示すindentを含めるようにしたHighlightを使うようにしたenロケール更新 (by Thomas Bertels, thanks!)zh_TWロケール更新 (by Bo-Sian Li, thanks!)deロケール更新 (by sicherist, thanks!)tabHide がMozilla Add-ons Webサイトによって拒絶されるため、その権限に依存する「アクティブでないタブを隠す」機能を無効化したextensions.webextensions.tabhide.enabledの手動での有効化が必要です)moveDroppedTabToNewWindowForUnhandledDragEvent を追加zh_TWロケール更新 (by lycsjm, thanks!)de ロケール追加 (by sicherist, thanks!)currentおよびその他の便利なエイリアスを使えるようにしたabout:configでsvg.context-properties.content.enabledを有効にし、ツリー型タブの設定の「デバッグモード」から擬似的なSVGアイコン表示のチェックをOFFにして下さい。)about:privatebrowsingを空の新規タブの一種と認識するようにした。zoomableをtrueに設定すると従来の挙動に戻ります)about:treestyletab-groupを新しいmoz-exteions://...にリダイレクトするようにしたtabs.Tab.openerTabIdの情報をツリー構造に基づいて更新するようにしたtabs.Tab.openerTabIdが外部要因で変更された場合、ツリー構造に自動的に反映するようにした(※bug 1409262のため、変更は即座には反映されません)browser.tabs.selectOwnerOnClose機能の作用で選択されたタブについて、その位置までタブバーがスクロールしなくなっていたのを修正tabbar-clickedを受け取ったアドオンがtrueを返してTSTの既定の挙動をキャンセルできるようにした0を指定した場合も含む)ping APIを追加したget-tree APIで取得されたタブのactiveの値が期待と異なっていたのを修正browser.tabs.selectOwnerOnClose に基づくタブのフォーカス切り替え動作をより正しく尊重するようにした(ツリー型タブに全面的にタブのフォーカス切り替えを任せる場合は、この隠し設定をabout:configから手動で無効にして下さい)browser.tabs.insertRelatedAfterCurrent=trueによって開かれたタブをより正しく子タブとして扱えるようにしたabout:configでbrowser.tabs.animateをfalseに設定してタブのアニメーション効果を無効化して下さい。browser.tabs.drawInTitlebar=falseの設定の時にブラウザウィンドウの初期化に失敗する問題を修正(0.18.2016090601以降での後退バグ)new Function()を使わないようにしたeval()を使った関数の書き換えをなくしたextensions.treestyletab.blockTabsInTitlebar を導入したextensions.treestyletab.controlNewTabPosition を追加した(Tab Mix Plusのように、ブックマーク等から新しく開くタブの位置を制御する機能を持ったアドオンと併用する場合、この設定の値をfalseにすることでより良い結果を得られるようになる可能性があります)about:treestyletab-groupのタブとツールチップにおけるツリーをXHTML無しで実装するようにした(CSSのマルチカラムレイアウトを使うためだけにXHTMLとXULを混在させる必要はない事が分かったため)extensions.treestyletab.tabbar.autoHide.delay.showとextensions.treestyletab.tabbar.autoHide.delay.hide)relatedToCurrent=trueオプション(またはリファラ)を伴って開かれたタブのみを現在のタブの子にするようにしたextensions.treestyletab.groupTab.columnizeをfalseにすると従来の挙動に戻ります)extensions.treestyletab.tooltip.columnizeをfalseにすると従来の挙動に戻ります)extensions.treestyletab.tabbar.autoShow.feedback.opened, extensions.treestyletab.tabbar.autoShow.feedback.closed, extensions.treestyletab.tabbar.autoShow.feedback.moved, extensions.treestyletab.tabbar.autoShow.feedback.selected, extensions.treestyletab.tabbar.autoShow.feedback.titleChanged)eeval()を使った関数の書き換えを減らしたbrowser.tabs.insertRelatedAfterCurrentの設定を強制的に無効化しないようにして、リンクなどから開かれるタブについては既定の挙動を尊重するようにした(次項も併せて参照のこと)gBrowser.addTab()メソッドにrelatedToCurrent:trueオプションもしくは参照元ページの情報を伴って開かれた新しいタブを、基本的に現在のタブの子として開くようにした
(この変更により、特別な対応無しの状態でも他のアドオンが開くタブも現在のタブの子タブになるようになった)window.open()で開かれたタブについて、参照元ページの情報から親らしきタブが見つからなかった場合は常に独立したタブとして開くようにしたgBrowser.treeStyleTab.readyToOpenOrphanTab() および gBrowser.treeStyleTab.readyToOpenOrphanTabNow()
(タブを閉じた後で元のタブに自動的にフォーカスを戻すためにrelatedToCurrent:trueオプションを指定しつつ独立したタブを開きたい場面向け)browser.ctrlTab.previewsがtrueの時でもCtrlキーの長押しなどの操作を受け付けるようにしたextensions.treestyletab.closeParentBehavior.promoteAllChildrenWhenParentIsLastChild を追加したGM_openInTab()で開かれたタブを設定に従って子タブの一覧の最初の位置に挿入するように修正(後退バグ)TreeStyleTabService.getLastDescendantTab()が常に正しい値を返すように修正nsDOMTreeStyleTabTabbarRendered を発行するようにしたLeftsideおよびRightsideと書いていた箇所をLeftおよびRightのみに改めたGM_openInTabs()で開かれたタブが子タブにならなくなっていたのを修正extensions.treestyletab.debug.* を導入したconstの仕様の反映に伴い、Firefoxのソース中でconstで定義されたオブジェクトへの参照に起因するエラーの回避のため、eval()による関数の書き換えを減らしたgBrowser.treeStyleTab.dumpTreeInformation() を導入したString.prototype.quote()を使わないようにしたtarget="_blank"の指定があるリンクを子タブとして正しく開けるようにした
(bugzilla.mozilla.orgの関連バグ)dom.compartment_per_addon=true に設定した場合でも動作するように暫定的に対処browser.fullscreen.autohideがfalseに設定されている場合には、フルスクリーンモードでツールバーを隠さないようにしたextensions.treestyletab.openGroupBookmark.temporaryGroup を、選択されたタブから新しくツリーを作成する場面で開かれた物を永続的なタブにする場合は extensions.treestyletab.createSubtree.underParent.temporaryGroup をそれぞれ false に変更して下さい)extensions.treestyletab.autoAttach.fromCurrent を追加extensions.treestyletab.animation.enabled の役割を browser.tabs.animate に統合extensions.treestyletab.autoExpand.intelligently が機能しない問題を修正(当該設定を false にしていた場合は、ツリーにフォーカスしてそれが自動展開される際に、他のツリーを自動的には折りたたまなくなります。)extensions.treestyletab.counter.role.horizontal および extensions.treestyletab.counter.role.vertical で変更できます。詳細は#197での議論を参照して下さい。extensions.treestyletab.restoreTree.level を 0 に設定すると従来通りの動作に戻ります).tabbrowser-tab { -moz-user-focus: normal !important; } という風な記述を追加する必要があります)extensions.treestyletab.tabbar.autoHide.contentAreaScreen.enabled を false に設定すると従来通りの動作に戻ります。)partTab() を detachTab() に名称変更した(後方互換性のため、従来の名称でも依然利用可能extensions.treestyletab.autoCollapseExpandSubtreeOnSelect.whileFocusMovingByShortcut.delay で変更可能)extensions.treestyletab.tooltip.fullTooltipDelay で変更可能)extensions.treestyletab.pinnedTab.faviconized によって、ピン留めされたタブを通常のタブの大きさで表示するかアイコンだけの表示にするかを切り替えられるようにした)extensions.treestyletab.tooltip.mode を 1 に設定する。0はツリーの内容を全く表示しない、2は常にツリーの内容を表示する。)-1 に設定するとピン留めされたタブがタブバーの幅一杯に広がります)GM_openInTab() で開かれたタブが現在のタブの子にならなくなっていたのを修正gBrowser.treeStyleTab.moveTabs() , gBrowser.treeStyleTab.importTabs() , gBrowser.treeStyleTab.duplicateTabs() TreeStyleTabService.readyToOpenChildTabNow() , TreeStyleTabService.readyToOpenNextSiblingTabNow() , TreeStyleTabService.readyToOpenNewTabGroupNow() これらは、新しいタブが開かれる事自体がキャンセルされる可能性がある場面で新しい子タブを開く事を予約する場合に役立ちます。これらのAPIによって行われた新しい子タブの予約は時間が過ぎたら自動的にキャンセルされるため、手動で TreeStyleTabService.stopToOpenChildTab() を呼ぶ必要がありません。TreeStyleTabService.readyToOpenNextSiblingTab(aSourceTab) を追加。extensions.treestyletab.collapseExpandSubtree.sessionRestore を追加(-1=元の状態を復元、0=ツリーをたたんだ状態で復元、1=ツリーを展開した状態で復元)extensions.treestyletab.autoAttachNewTabsAsChildren の名前を extensions.treestyletab.autoAttach に変更したTreeStyleTabService.currentTabbarPosition を TreeStyleTabService.position にリネームした(互換性のため旧来の名前でもアクセスは可能です)TreeStyleTabService.treeViewEnabled でツリー表示を無効化した時、横置きタブバーで重ねられたタブの表示が更新されていなかったのを修正getData() で情報を取得できるようにしたaEvent.getData(プロパティ名) でプロパティの内容を参照するようにしてください。)extensions.treestyletab.autoAttachSearchResultAsChildren を2に変更すると検索結果のタブを常に現在のタブの子として開き、0に変更すると子タブにしない)getAncestorTabs() と「TreeStyleTabFocusNextTab」イベントを追加し、TreeStyleTabFocusNextTabイベントをキャンセルすることでツリー型タブによるタブのフォーカス制御(現在のタブを閉じたときにどのタブにフォーカスを移すかの判断)を無効化できるようにしたTreeStyleTabService.readyToOpenChildTab() が呼ばれた場合にタブが開かれない問題を修正(reported by Bert Blaha)pinTab() されたタブをタブバーの上端にアイコン状に表示するようにしたwindow.open() のオプション指定によって一部のUIが隠されたウィンドウが開かれた時に、タブバーの位置に空白ができてしまう問題を修正:-moz-window-inactive 疑似クラスを利用するようにしたextensions.treestyletab.autoExpandSubtreeOnCollapsedChildFocused :折りたたまれたツリーの中のタブにフォーカスした時に、ツリーを自動的に展開するかどうかextensions.treestyletab.autoCollapseExpandSubtreeOnSelect.whileFocusMovingByShortcut :Ctrl-Tabによるタブの切り替え中にツリーを展開するかどうか.tabs-newtab-button { visibility: collapse !important; } で代用可能なので)extensions.treestyletab.openGroupBookmark.behavior の値に1024を足すことで以前の挙動に戻すことも可能)extensions.treestyletab.compatibility.TMP で、ツリー型タブ側のTab Mix Plus用コードを全面的に無効化できるようにしたgBrowser.treeStyleTab.partAllChildren(aTab)
TreeStyleTabService.currentTabbarPosition TreeStyleTabService.treeViewEnabled TreeStyleTabService.promoteTab(aTab) TreeStyleTabService.promoteCurrentTab() TreeStyleTabService.demoteTab(aTab) TreeStyleTabService.demoteCurrentTab() treestyletab-tabbar-autohide-state 属性の値として現在のタブバーの状態を保持するようにしたextensions.treestyletab.tabbar.fixed.insensitiveArea で変更可能)extensions.treestyletab.autoCollapseExpandSubTreeOnSelect.whileFocusMovingByShortcut を true に設定する)extensions.treestyletab.autoExpandSubTreeOnCollapsedChildFocused で制御できるようにしたTreeStyleTabService.setTabbarWidth() と TreeStyleTabService.setContentWidth() を追加false に設定してください)true にすると旧版の挙動に戻ります)extensions.aios.tbx.tabbar によって利用できるタブバー左右のツールバーに対応(タブバーを縦置きした場合、タブバーの上下にこれらのツールバーが表示されるようにした)extensions.treestyletab.autoAttachNewTabsAsChildren を追加(それらの操作を無効化したい場合は false に値を変更する)tabbrowser.loadTabs() のための新しいAPIを追加