diff --git a/xpi/components/tombloo.js b/xpi/components/tombloo.js index 3093a883..96997a10 100755 --- a/xpi/components/tombloo.js +++ b/xpi/components/tombloo.js @@ -18,44 +18,44 @@ Module = { CID : Components.ID('{aec75109-b143-4e49-a708-4904cfe85ea0}'), NAME : 'TomblooService', PID : '@brasil.to/tombloo-service;1', - + onRegister : function(){ CategoryManager.addCategoryEntry('content-policy', this.NAME, this.PID, true, true); }, - + initialized : false, - + instance : { shouldLoad : function(contentType, contentLocation, requestOrigin, context, mimeTypeGuess, extra){ return Ci.nsIContentPolicy.ACCEPT; }, - + shouldProcess : function(aContentType, aContentLocation, aRequestOrigin, aContext, aMimeTypeGuess, aExtra){ return Ci.nsIContentPolicy.ACCEPT; }, - + QueryInterface : function(iid){ if(iid.equals(Ci.nsIContentPolicy) || iid.equals(Ci.nsISupports) || iid.equals(Ci.nsISupportsWeakReference)) return this; - + throw Cr.NS_NOINTERFACE; }, }, - + createInstance : function(outer, iid){ // nsIContentPolicyはhiddenDOMWindowの準備ができる前に取得される // 仮に応答できるオブジェクトを返し環境を構築できるまでの代替とする if(iid.equals(Ci.nsIContentPolicy)) return this.instance; - + // ブラウザが開かれるタイミングでインスタンスの要求を受け環境を初期化する // 2個目以降のウィンドウからは生成済みの環境を返す if(this.initialized) return this.instance; - + // 以降のコードはアプリケーション起動後に一度だけ通過する var env = this.instance; - + // アプリケーション全体で、同じloadSubScripts関数を使いまわし汚染を防ぐ env.loadSubScripts = loadSubScripts; env.loadAllSubScripts = loadAllSubScripts; @@ -64,28 +64,28 @@ Module = { env.PID = this.PID; env.CID = this.CID; env.NAME = this.NAME; - + // MochiKit内部で使用しているinstanceofで異常が発生するのを避ける env.MochiKit = {}; - + setupEnvironment(env); env.loadAllSubScripts(); - + // Greasemonkeyコンテキストの準備 var gm = Components.classes['@greasemonkey.mozdev.org/greasemonkey-service;1']; if(gm){ gm = gm.getService().wrappedJSObject; - + var GM_Tombloo = copy({ Tombloo : { Service : copy({}, env.Tombloo.Service, /(check|share|posters|extractors)/), } }, env, /(Deferred|DeferredHash|copyString|notify)/); - + for(var name in env.models) if(env.models.hasOwnProperty(name)) GM_Tombloo[name] = copy({}, env.models[name], /^(?!.*(password|cookie))/i); - + env.addBefore(gm, 'evalInSandbox', function(){ for(var i=0, len=arguments.length ; i