TomblooをFirefox3で動くようにするパッチ#2
補足 2008.3.5
Tombloo0.1.2からFirefox3でも動くようになっているので、動かないときは新しくするといいですよ。
更新 2008.2.27
拡張機能インストール後の再起動時に動かない問題はtombloo.jsのcreateInstanceの中で改めてnsIExtensionManagerを取得するようにしたら解決しました。下のdiffに反映してあります。
補足 2008.2.22
Tomblooを入れて再起動してはじめのときだけじゃなくて、Tombloo以外の拡張機能でも、入れて再起動したはじめのときには動かなそうです。
TomblooがFirefox3で動かなくて困ってたけどちょっといじったら動くようになった。
Firefox3でnsIScriptableInterfaceInfoがなくなったのでそれを使ってるあたりでエラーが出てるのと、あとなんかインストール後の初回起動時にだけExtensionManagerがtype errorを出しててなんでなのかは知らない。例外をcatchするようにしたらインストール後初回起動時には動かないんだけど、もう一度再起動すると動くようになった。
extensions.checkCompatibilityをdisableにしたらバージョンチェックなくなるんですね。知らなかった。
Change CTRL+N to CTRL+T – MozillaZine Forums
diff --exclude=CVS --exclude='*.o' --exclude=.svn -rwu tombloo-0.1.1/chrome/content/library/00_Components.js tombloo/chrome/content/library/00_Components.js
--- tombloo-0.1.1/chrome/content/library/00_Components.js 2008-01-25 17:31:58.000000000 +0900
+++ tombloo/chrome/content/library/00_Components.js 2008-02-20 12:58:32.000000000 +0900
@@ -48,8 +48,8 @@
Components.Constructor('@mozilla.org/io/string-input-stream;1', 'nsIStringInputStream', 'setData');
const InputStream =
Components.Constructor('@mozilla.org/scriptableinputstream;1', 'nsIScriptableInputStream', 'init');
-const InterfaceInfo =
- Components.Constructor('@mozilla.org/scriptableInterfaceInfo;1', 'nsIScriptableInterfaceInfo');
+//const InterfaceInfo =
+// Components.Constructor('@mozilla.org/scriptableInterfaceInfo;1', 'nsIScriptableInterfaceInfo');
const ScriptError =
Components.Constructor('@mozilla.org/scripterror;1', 'nsIScriptError', 'init');
@@ -84,6 +84,7 @@
};
function createMock(ifcNames){
+ return {};
ifcNames = [].concat(ifcNames).map(function(ifcNames){
return ''+ifcNames;
});
diff --exclude=CVS --exclude='*.o' --exclude=.svn -rwu tombloo-0.1.1/components/tombloo.js tombloo/components/tombloo.js
--- tombloo-0.1.1/components/tombloo.js 2008-01-29 12:31:42.000000000 +0900
+++ tombloo/components/tombloo.js 2008-02-20 12:58:04.000000000 +0900
@@ -74,7 +74,7 @@
}
function getContentDir(){
- var dir = ExtensionManager
+ var dir = getService('/extensions/manager;1', Ci.nsIExtensionManager)
.getInstallLocation(EXTENSION_ID)
.getItemLocation(EXTENSION_ID).QueryInterface(ILocalFile);
dir.setRelativeDescriptor(dir, 'chrome/content');
diff --exclude=CVS --exclude='*.o' --exclude=.svn -rwu tombloo-0.1.1/install.rdf tombloo/install.rdf
--- tombloo-0.1.1/install.rdf 2008-02-02 20:19:16.000000000 +0900
+++ tombloo/install.rdf 2008-02-20 12:59:55.000000000 +0900
@@ -6,17 +6,16 @@
<em:id>tombloo@brasil.to</em:id>
<em:type>2</em:type>
<em:name>Tombloo</em:name>
- <em:version>0.1.1</em:version>
+ <em:version>0.1.1p1</em:version>
<em:description>Tumblr Utilities</em:description>
<em:creator>to</em:creator>
<em:optionsURL>chrome://tombloo/content/prefs.xul</em:optionsURL>
- <em:updateURL>http://www.asahi-net.or.jp/~xe4r-kmt/extension/tombloo/update.rdf</em:updateURL>
<em:targetApplication>
<Description>
<em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
<em:minVersion>2.0</em:minVersion>
- <em:maxVersion>2.0.0.*</em:maxVersion>
+ <em:maxVersion>3.0.0.*</em:maxVersion>
</Description>
</em:targetApplication>
</Description>

No comments
Jump to comment form | comments rss [?] | trackback uri [?]