MozillaZine.jp フォーラム
https://forums.mozillazine.jp/

拡張インストール後の再起動時に拡張の初期化を行いたい
https://forums.mozillazine.jp/viewtopic.php?f=26&t=7665
ページ 11

作成者:  mitsugu [ 2008年8月01日(金) 14:31 ]
記事の件名:  拡張インストール後の再起動時に拡張の初期化を行いたい

【概要】
 拡張インストール後の再起動時に拡張の初期化を走らせたい。そのためのイベントのハンドリングの方法を知りたい。

【目的】
 Firefox をプラットフォームとし、SQLite を利用した、スタンドアロンのアプリケーションを作成する。

【詳細】
 Firefox に xpi 形式でインストールするが、起動は "firefox -chrome chrome://アプリケーション名/content/アプリケーション名.xul" で行いたい。
 手順として xpi ファイルを拡張と同様に D&D でインストールし、再起動をさせたときに、SQLite のデータベース作成、テーブル、インデックスの作成、その他初期化処理を行いたい。

 piro さんの XUL/Migemo が、再起動時に辞書ファイルの設定を行うのを知っていたので、XUL/Migemo を解凍して調べてみたが、どのタイミングでイベントをハンドリングしているのか読み取ることができなかった。

# どなたか再起動時のイベントハンドリングの方法をご存知でしたら、ご教示願えないでしょうか?
# MDC のここに書いてるよ、というのでもかまいません。

作成者:  [ 2008年8月03日(日) 23:23 ]
記事の件名:  Re: 拡張インストール後の再起動時に拡張の初期化を行いたい

mitsugu さんが書きました:
 手順として xpi ファイルを拡張と同様に D&D でインストールし、再起動をさせたときに、SQLite のデータベース作成、テーブル、インデックスの作成、その他初期化処理を行いたい。

起動時に毎回、初期化が済んでいるのかどうかをチェックして、済んでいなければ初期化を行うのが良いでしょう。

起動時に毎回その処理をするためには、XPCOM コンポーネントを作成して、そこで nsIObserverService を実装し、起動時に発生する topic の通知を受ければ良いです。
具体的にどんな topic があるのかは Observer Notifications にありますが、単に起動時ということであれば app-startup、プロファイルの情報を使う必要があるなら profile-after-change、ブラウザが立ち上がる直前ならば final-ui-startup が良いと思います。

作成者:  [ 2008年8月03日(日) 23:40 ]
記事の件名:  Re: 拡張インストール後の再起動時に拡張の初期化を行いたい

mitsugu さんが書きました:
 piro さんの XUL/Migemo が、再起動時に辞書ファイルの設定を行うのを知っていたので、XUL/Migemo を解凍して調べてみたが、どのタイミングでイベントをハンドリングしているのか読み取ることができなかった。

XUL/Migemo を見てみましたが、components/Startup.js で上記のことをやってますね。

作成者:  mitsugu [ 2008年8月04日(月) 13:48 ]
記事の件名:  Re: 拡張インストール後の再起動時に拡張の初期化を行いたい

あ さん さんが書きました:
XUL/Migemo を見てみましたが、components/Startup.js で上記のことをやってますね。

 ご教示ありがとうございます。さっそく XUL/Migemo の Startup.js を覗いてみようと思います。

ページ 11 All times are UTC + 9 hours
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/