「View Page Source」したときに、gzipで圧縮されているファイル(Content-Encoding: gzip)を展開せずにテンポラリファイルとして書き出してる予感。なんかサイトによってはEmEditorで開けないと思ったら、これが原因ぽい。
とりあえず自分で何とかしてみて、解決したらコミットしようと思いつつ、ソースコードを追ってみた。extService.jsの1725行目あたりにviewSoruceOfというそれらしいクラスがあったのはいいのだけども(このメソッドがFirefox組み込みのメソッドをフックしてるらしい)、1746行目からの条件分岐がよく分からない。ていうか、argmentsってなんだ。JavaScriptは特定の文法以外は知らないのでよく分からない。たぶん引数かな。
で、自信はあまり無いけど、downloadAndOpenWithAppというメソッド(1565行目)を呼んでる雰囲気なので、今度はそっちを読んでみる。saveURIInBackgroundAsでダウンロードしているようだ。よく分からないけど、彼はgzipの解凍をしてくれないのかも知れない。
extCommonUtils.jpに移ってsaveURIInBackgroundAsを探してみると1013行目で発見。どうやら「nsWebBrowserPersist」というコンポーネントを使ってるらしい。ググってみたらリファレンスが出たので読んでみると、どうやらこれが親玉のようだ。が、「Content-Encoding」については特に書いてないし、saveURIメソッドについて調べてみても引数で設定できる訳でもなさそうだった。HTTPヘッダの追加はできるらしいが、それでは意味がない。特定のヘッダ(Accept-Encoding)だけ抑制できないかな。
ほかの拡張はどうしてるのかと調べてみるとSageはXMLHttpRequestのインスタンスを作ってなにやらごにょごにょしてるらしい。これをパクって移植してくれば行けるかな。でもなんか環境依存ぽい予感。
それにしても、他人の書いたコードを全く前知識無しで読むのは疲れる。JavaScriptの文法を理解し切れてないのもあると思うけど、辛い。
んー、配布元の掲示板で報告した方が良いのかな。
HIMMELの進歩状況。ToDo付き。
Blogっぽいものは別枠で作り始めた。自分が使わないトラックバックとかは実装しない予感。
RDF/XMLらへんの知識を得たのでSDFとかをRDFっぽくしてみようかな。あと、名前空間URIをもう少し何とかしようか。今のだと長すぎる。
PHP5関係で最近気が付いたこと。
__autoload()は便利だDOMDocument->xinclude())implementsするとforeachでくるくる出来る。ob_start()を使うと簡単にgzip圧縮できる