Firefox 3.6 Beta 1を入れてみた

マウスジェスチャで、「タブを閉じる/最後のタブを閉じたら最小化する」という機能を
書いたが、閉じてから最小化すると一瞬チラつきが見え、体感速度も遅くなる。
そこで、最小化してからタブを閉じればいいということになる。
ところが、3.5までのFirefoxは、ウインドウを最小化しているときに最後のタブを閉じると、
なぜかウインドウが元のサイズに戻ってしまうという挙動を示していた。
それが3.6では解消されているっぽい(Betaだから完全には信用できないけど)。

gBrowser._addTab = gBrowser.addTab;
gBrowser.addTab = function(aURI, aReferrerURI, aCharset, aPostData, aOwner, aAllowThirdPartyFixup){
	return this._addTab(aURI, aReferrerURI, aCharset, aPostData, aOwner, aAllowThirdPartyFixup);
};

また、新しいタブを開けなくなったのだが、悪かったのは自分の使っていたスクリプトで、
切り分けると、上のように書いてさえ正常に動作しなかった。
addTabがarguments.lengthを使うようになっていたのが原因。
とりあえずarguments.lengthの値で分岐させることでちゃんと動作するようになった。
ブラウザをカスタマイズしたいがためにJavaScriptを覚え、少しだけ使えるようになった。
それは嬉しいことだが、しかしかゆいところに手を届かせるコストは大きい。
Firefoxの4.0とか楽しみなんだけど、また自作スクリプトのバグ探して書き直すのかと思うと、ちょっと怖い面もある(今回もけっこう時間がかかった)。
(追記)Latest topics > 拡張機能におけるeval()の5つの間違った使い方 - outsider reflexを見た。↓のように書けばよかったのね。

return this._addTab.apply(this, arguments);