Apr 20, 2007

早速更新したのと、タブの複製で思い付いたこと

マルチプルタブハンドラを更新する中で、思い付いたというか気がついたことなんだけど。

nsISessionStoreを使ってウィンドウやタブを複製する方法って、うまくやればもっと効率よくやれるんだな。getWindowState()で取得した文字列をそのまま使うんじゃなくて、一旦eval()で評価してオブジェクトの形に戻して、不要なタブのデータとかをあらかじめ全部削除してから、もう一度toSource()でJSON風文字列に戻して使えば、無駄なタブを開く→初期化→無駄なタブを削除 という処理をなくすことができる。

ていうかもっと突き詰めれば、ウィンドウ全体の状態を取得した後で、そのデータの中からある特定のタブの状態だけを抜き出して(それ以外を消して)、そのウィンドウ自身に対してsetWIndowState()で「復元」を実行してやれば、タブをウィンドウ内に複製することだって簡単じゃないか。

というわけで、時々自分自身もタブの複製機能を使っていたこともあって、マルチプルタブハンドラにこの機能を組み込んでみた。

エントリを編集します。

wikieditish message: Ready to edit this entry.











拡張機能