Skip to content

Commit

Permalink
rm trailing space
Browse files Browse the repository at this point in the history
  • Loading branch information
Constellation committed Mar 19, 2011
1 parent 2752030 commit 487e843
Showing 1 changed file with 33 additions and 33 deletions.
66 changes: 33 additions & 33 deletions xpi/components/tombloo.js
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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<len ; i++){
var arg = arguments[i];
Expand All @@ -96,12 +96,12 @@ Module = {
}
});
}

env.signal(env, 'environment-load');

this.initialized = true;
return env;
},
},
}


Expand All @@ -118,7 +118,7 @@ function getScriptFiles(dir){
function getLibraries(){
var libDir = getContentDir();
libDir.append('library');

return getScriptFiles(libDir).sort(function(l, r){
return l.leafName < r.leafName? -1 : 1;
});
Expand All @@ -129,21 +129,21 @@ function getContentDir(){
.getInstallLocation(EXTENSION_ID)
.getItemLocation(EXTENSION_ID).QueryInterface(ILocalFile);
dir.setRelativeDescriptor(dir, 'chrome/content');

return dir;
}

function setupEnvironment(global){
var win = AppShellService.hiddenDOMWindow;

// 変数/定数はhiddenDOMWindowのものを直接使う
[
'navigator document window screen',
'XMLHttpRequest XPathResult Node Element KeyEvent Event DOMParser XSLTProcessor XML XMLSerializer NodeFilter',
].join(' ').split(' ').forEach(function(p){
global[p] = win[p];
});

// メソッドはthisが変わるとエラーになることがあるためbindして使う
[
'setTimeout setInterval clearTimeout clearInterval',
Expand All @@ -152,7 +152,7 @@ function setupEnvironment(global){
].join(' ').split(' ').forEach(function(p){
global[p] = bind(p, win);
});

// モーダルにするためhiddenDOMWindowdではなく最新のウィンドウのメソッドを使う
[
'alert confirm prompt',
Expand Down Expand Up @@ -189,7 +189,7 @@ function loadAllSubScripts(){
function loadSubScripts(files, global){
var global = global || function(){};
files = [].concat(files);

for(var i=0,len=files.length ; i<len ; i++){
// 文字化け回避のためファイル内容を取得し評価する
// 複数スクリプトの連結評価(30%程度の高速化)は関数定義の上書きに失敗することがあるため見送った
Expand All @@ -204,11 +204,11 @@ function getContents(file){
var fis = Cc['@mozilla.org/network/file-input-stream;1']
.createInstance(Ci.nsIFileInputStream);
fis.init(file, -1, 0, false);

var cis = Cc['@mozilla.org/intl/converter-input-stream;1']
.createInstance(Ci.nsIConverterInputStream);
cis.init(fis, 'UTF-8', fis.available(), Ci.nsIConverterInputStream.DEFAULT_REPLACEMENT_CHARACTER);

var out = {};
cis.readString(fis.available(), out);
return out.value;
Expand All @@ -221,7 +221,7 @@ function getContents(file){
function simpleIterator(e, ifc, func){
if(typeof(ifc)=='string')
ifc = Components.interfaces[ifc];

try{
while(e.hasMoreElements()){
var value = e.getNext();
Expand Down Expand Up @@ -257,7 +257,7 @@ function NSGetModule(compMgr, fileSpec) {
compMgr.QueryInterface(Ci.nsIComponentRegistrar).registerFactoryLocation(
Module.CID, Module.NAME, Module.PID,
fileSpec, location, type);

Module.onRegister && Module.onRegister(compMgr, fileSpec, location, type);
},
canUnload : function(compMgr) {
Expand All @@ -266,17 +266,17 @@ function NSGetModule(compMgr, fileSpec) {
getClassObject : function(compMgr, cid, iid){
if (!cid.equals(Module.CID))
throw Cr.NS_ERROR_NOT_IMPLEMENTED;

if (!iid.equals(Ci.nsIFactory))
throw Cr.NS_ERROR_NO_INTERFACE;

Module.onInit && Module.onInit(compMgr, cid, iid);

return {
createInstance: function(outer, iid) {
if (outer != null)
throw Cr.NS_ERROR_NO_AGGREGATION;

var obj = Module.createInstance(outer, iid);
obj.wrappedJSObject = obj;
return obj;
Expand Down

0 comments on commit 487e843

Please sign in to comment.