Mozilla Jetpackについて調べたいこと
どうもWeb経由でインストールが可能っぽく、ステータスバーを更新しているサンプルからchromeコンテンツにアクセスできるっぽい。
- スクリプトはどのコンテキストで実行されているのか
- Greasemonkeyのように個々のWebコンテンツ内か
- userChrome.jsのようにフルアクセスか
- chromeコンテキスト内だがevalInSandboxでxpconnectは禁止しているか
Components.utils.Sandbox
を使って、evalInSandbox
で実行しているみたい。ってことで気軽に作れる/インストールできる分制限がありますね。
また、拡張開発が簡単になると言われているが、
- 何が簡単になるのか
- また、出来ない事はないのか
- Mozilla Labs JetpackにあるAPIの使用
console.log()
:JavaScriptコンソールへログ出力jetpack.notifications.show()
:nsIAlertsServiceを使用した通知jetpack.statusBar.append
:ステータスバーへアイコンなどのアイテム表示- タブ関連
jetpack.tabs.focused
:現在アクティブなタブの参照(getBrowser().selectedTab
jetpack.tabs.open()
:タブに開く(getBrowser().addTab(url)
jetpack.tabs.onReady()
:DOMContentLoadedをトリガーとしたコード実行
などなど調べたい。
結局、ちょっと凝ったものを作ろうとする場合は、従来どおりのやり方になっちゃうんじゃないの? って疑いが晴れることを祈ります。
ごめん、嘘ついた。
xpconnect使えますね。
id:Constellationさん、id:psychedesireさん、申し訳ない。