スライド

Navigatorの拡張の例:最後に開いていたタブを開き直す

「タブを閉じる」のアンドゥについての説明でも既に述べましたが、Navigator起動時に「最後に開いたページ」の代わりに「最後に開いていたタブ」を表示する機能は、タブのデータを得るメソッドとそのデータを元にタブを複製するメソッドで実装しています。

タブブラウザ拡張は、Navigatorのウィンドウを閉じる前に全てのタブのデータを取得し、専用のデータファイルに保存します。次回の起動時にはそれを参照して、「最後に開いていたタブ」を再現することになります。

クラッシュ後の復帰についても基本的には同様です。ただし、こちらの場合は逐一タブの状態の変化を監視し、保存している情報を更新しなければなりません。これは、タブの読み込みの進行やタブの並べ替えなどによって発生するイベント(タブブラウザ拡張が発行する)をトリガーにして処理を行っています。