fx3.1クッキー問題
2月にリリースされるのならときのうから3.1使い始めて
Supporting private browsing mode - MDCがあるの気がついた。
クッキーが送られない問題はこれがらみじゃないかと思って、コード見てたら
/netwerk/base/public/nsIRequest.idl line223
/** * When set, this flag indicates that no user-specific data should be added * to the request when opened. This means that things like authorization * tokens or cookie headers should not be added. */ const unsigned long LOAD_ANONYMOUS = 1 << 14;
というのを発見。LOAD_ANONYMOUSで検索するといかにもな nsCrossSiteListenerProxy.cpp というのが出てくる。
でもなんか
chrome://browser/content/browser.xul ひらいて
var URL_SPEC = "http://www.mozilla.com/img/firefox-title.png?11x"; var FILE_PATH = "/home/kuma/Desktop/firefox-title.png"; // make nsIURL var url = Cc["@mozilla.org/network/standard-url;1"].createInstance(Ci.nsIURL); url.spec = URL_SPEC; // make nsILocalFile var file = Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsILocalFile); file.initWithPath(FILE_PATH); var IOService = Components.classes['@mozilla.org/network/io-service;1'].getService(Components.interfaces.nsIIOService); var is = IOService.newChannelFromURI( url ).open();
実行したらふつうにcookie出てて、じゃあtomblooがコードをsandbox内で実行してるのがsystem principalじゃなくなってcross originチェックに引っかかるのかと予想したけど、ためしに01_utilities.jsのsetCookie()外してみたらふつうにcookie出てて(flickrで確認 deliciousもいけた)、cookie出ない現象が再現しないです。 on Firefox3.1b OSX.