Firefox 4.0b8〜b9 でLDRize (Minibufferの修正)

2010/02/09追記: 「ldrize firefox4」でググるとトップに来ちゃうので追記。
Firefox 4.0b10からは他に問題が出てきて、この記事の方法だけではLDRizeできません。方法が無いわけではありませんが、ちょっと難しくなります。詳しくはこちら→Firefox 4.0b10でGreasemonkey 0.9.1のユーザスクリプトのwindowを共通にする改造(開発者orVimper向け) - wltの日記

なお、Minibuffer自体でのエラー(下記参照)だけなら、この記事の内容で直ると思います。



Firefox 4.0b8〜b9 でLDRizeしたいけど動かないので少し修正をした。
LDRizeが依存しているMinibufferがエラーが起こしてたので、これを修正。これだけでLDRizeできるようになった。
正直、原因がよく分からないけども、まぁ回避策として。
Minibufferのバージョンは

var VERSION = "2009.12.06";

修正パッチはこんな感じ

@@ -815,7 +815,7 @@
 // http://userscripts.org/scripts/show/11996
 // slightly modified.
 var FlashMessage = new function(){
-       GM_addStyle(<><![CDATA[
+       GM_addStyle((<><![CDATA[
                #FLASH_MESSAGE{
                        position : fixed;
                        font-size : 500%;
@@ -833,7 +833,7 @@
                        min-width : 1em;
                        text-align : center;
                }
-       ]]></>)
+       ]]></>).toString());
        var opacity = 0.9;
        var flash = $N('div',{id:'FLASH_MESSAGE'});
        hide(flash);

ちなみにエラーの内容は

エラー: can't wrap XML objects
ソースファイル: file:///[Firefoxのプロファイルフォルダ]/gm_scripts/minibuffer/minibuffer.user.js
行: 818

どうもXMLオブジェクトを渡すのがいけないらしくてtoString()メソッドで文字列にした。
だけど、他の場所では普通にXMLオブジェクトを渡して問題起きない・・・。イミフ