ヨーキョクデイ

100% pure impurities, which may imply some value. (j は虚数単位)

chaika いじり

最近の Shiretoko だが、chaika のスレ一覧が開けなくなったのでプチハック。ちなみに Windows では 2f2d41a60ad6 な 2009-05-16-04-mozilla-1.9.1 なナイトリでは開けたものの、その後のビルドではだめだった。
[chContentHandler_handleContent:198] WARNING about:blank : chaika:///http://pc12.2ch.net/software/ というようなメッセージが出ていたので、mozilla-1.9.1: changeset 25315:43de7d34998a によるものと見当を付けた。試しにパラメータの意味など何も考えずに、chProtocolHandler.js の uri.init(Ci.nsIStandardURL.URLTYPE_NO_AUTHORITY, -1, aSpec, aCharset, aBaseURI);uri.init(Ci.nsIStandardURL.URLTYPE_STANDARD, -1, aSpec, aCharset, aBaseURI); にしてみたら表示可能になったのでとりあえず吉。本当にこのバグのせいかは知らないけれど。
要は、次のような挙動になったらしい。

const Ci = Components.interfaces;
const Cc = Components.classes;

function hoge(aUrlType){
    var uri = Cc["@mozilla.org/network/standard-url;1"].createInstance(Ci.nsIStandardURL);
    uri.init(aUrlType, -1, "chaika://board/http://pc12.2ch.net/software/", null, null);
    uri.QueryInterface(Ci.nsIURL);
    return uri.spec;
}

hoge(Ci.nsIStandardURL.URLTYPE_STANDARD);      // "chaika://board/http://pc12.2ch.net/software/"
hoge(Ci.nsIStandardURL.URLTYPE_AUTHORITY);     // "chaika://board/http://pc12.2ch.net/software/"
hoge(Ci.nsIStandardURL.URLTYPE_NO_AUTHORITY);  // "chaika:///http://pc12.2ch.net/software/"

以前はいずれも "chaika://board/http://pc12.2ch.net/software/" が返されるようになっていた。
とりあえずここまで。