日向夏特殊応援部隊

俺様向けメモ

XPCOM

mozIJSSubScriptLoaderを使って現在の実行コンテキストに外部ファイルを読み込ませる

まぁこれ、識者の間ではどうも当たり前の模様です。 mozIJSSubScriptLoaderを使う var loader = Cc["@mozilla.org/moz/jssubscript-loader;1"].getService(Ci.mozIJSSubScriptLoader); loader.loadSubScript(url, ctx); とするとctxオブジェクトにwithした状…

nsIWindowWatcherを使って全てのダイアログを捕捉する

相当ニッチな用途ですけど、 window.alert() window.confirm() window.open(); window.openDialog(); window.print(); などなど、特別なダイアログが開いた事を検出するにはnsIWindowWatcherを使うと出来るようです。 var wwatch = Cc["@mozilla.org/embedco…

ディレクトリ指定とOS判別

やっとXPConnect経由でXPCOM叩くのに慣れてきました。 var Cc = Components.classes; var Ci = Components.interfaces; だと思って読んで下さい。 replはMozReplです。 nsIPropertiesを利用したディレクトリの指定 http://developer.mozilla.org/en/docs/Cod…

nsIWritableVariant, nsIWritablePropertyBag2について

最近XPCOMにハマってる*1訳ですけど、 いまいち分からん点があります。その前にタイトル通りnsIWritableVariantとnsIWritablePropertyBag2について現状試した結果についてつらつらとメモしておきます。 その前にXPConnect/XPCOMの説明 JavaScriptから見たXPC…

XULRunnerのビルドとxpidlのテスト

自分で拡張を作る際に、好き勝手にglobalな領域を侵すのも当然自由ではある物の、ある程度の汎用性を持たせたcomponentを開発しようと思ったらやはりXPCOM componentにしないとと言うことで、おもむろに調べて確かめてみた事のメモです。でXPCOMはJavaScript…