Home > 日記 > Firefox拡張機能よりき。

Firefox拡張機能よりき。

  • Posted by: hesuko
  • 2009年6月 8日 12:08
  • 日記
  •  

大学の卒論でFirefoxの研究やっております。
要するに拡張機能開発。

現状の課題は[ツール]→[アドオン]のアドオン管理画面の[削除][無効化]ボタンを押せなくする事。

[fmemo] PC Sync 2 Synchronisation Extension 1.0.0.685 (bkmrksync) をアンインストールする

にて、例えば.NET framework等でよく見かける手法を見る事が出来た。
論文の考察対象がWindowsXP以降に限定して行ってるので、
レジストリを使えば一応「削除ボタン」は制限が出来るみたいだ。

あ、ちなみにXULはchrome://mozapps/content/extensions/extensions.xul

さて、無効化ボタンをどう処理するか。
近いところでSuricateと言うプラグインのソースコードを解析してみた。

<commandset id="extensionsCommands"
 oncommand="net.mattelau.suricate.extensions.procedeCommand(event.target.id);">
</commandset>

これは...;
やりたい事はわかった。
要するに本来、ボタンを押すなどのイベントを送信する筈の
「gExtensionsViewController.doCommand(event.target.id);」
このコマンドを上書きしてしまって、このプラグインのボタンが押された時はスクリプトを走らせ無効化、
違った場合は改めてそのプラグイン内からgExtensionsViewController.doCommand(event.target.id);
を飛ばすという、かなり強引な手法を使ってた。

確かにこれなら導入する事も出来るが、他のプラグインでも同様の事やってたらどうするん?
と聞きたくなる、よって今回は使いたくない。

DOMインスペクタで調査すると
<richlistitem id="urn:mozilla:item:xxxxxxx">の下に
<button command="cmd_disable">がある。

このボタンに対してoncommand設定が取れれば良いんだが...DOMツリー上にIDが無いので
どう取得して良いのかわからん...;

やり方はあるんだろうけど、如何せんオーバーレイの仕方がきちんと詳しく記述されてる
サイトが無い。(解り易いという意味で)
何となくだけど、loadハンドラ中でXBLにアクセスして埋め込む必要性があるような気がするけど
もうちょっと具体的に考えんとなぁ...
どげんかせんと!

※追記

何か
[pqrs.org] XUL メモ
これで良いらしいが(汗
後で詳しく呼んで見る。


Comments:0

Comment Form

Trackbacks:0

TrackBack URL for this entry
http://sm.2-d.jp/mt/mt-tb.cgi/269
Listed below are links to weblogs that reference
Firefox拡張機能よりき。 from SiteModifyBlog

Home > 日記 > Firefox拡張機能よりき。

Return to page top