From e3bfafe7aadbe26fec58536c5b286e2eb687072c Mon Sep 17 00:00:00 2001
From: hogelog
Date: Mon, 25 May 2009 04:45:22 +0000
Subject: * solve depends Tombloo
git-svn-id: http://svn.coderepos.org/share/lang/javascript/vimperator-plugins/trunk@33552 d0d07461-0603-4401-acd4-de1884942a52
---
loginManager.js | 46 +++++++++++++++++++---------------------------
1 file changed, 19 insertions(+), 27 deletions(-)
(limited to 'loginManager.js')
diff --git a/loginManager.js b/loginManager.js
index c027925..c14897f 100644
--- a/loginManager.js
+++ b/loginManager.js
@@ -4,18 +4,14 @@ var PLUGIN_INFO =
{NAME}
login manager
hogelog
- 0.0.2
+ 0.0.3
2.0pre
- 2.0pre
+ 2.1
http://svn.coderepos.org/share/lang/javascript/vimperator-plugins/trunk/loginManger.js
public domain
;
@@ -24,7 +20,6 @@ http://wiki.github.com/to/tombloo
(function(){
var loginManager = Cc["@mozilla.org/login-manager;1"].getService(Ci.nsILoginManager);
-var Tombloo = Cc["@brasil.to/tombloo-service;1"].getService().wrappedJSObject;
var services = {
pixiv: {
@@ -140,33 +135,24 @@ function Service(service) //{{{
if (service.extraField && !self.setExtraField(content)) return false;
let loginURL = host+service.LOGIN;
+ let error = function(e) liberator.echo('login failed "'+host+'" as '+username);
+ let success = function(e) liberator.echo('login "'+host+'" as '+username);
+ let login = function() request(loginURL, content, success, error);
if (service.logoutBeforeLogin) {
let logoutURL = host+service.LOGOUT;
- if (request(logoutURL, content).addCallback(function()
- request(loginURL, content)
- .addCallback(function()
- liberator.echo('login "'+host+'" as '+username)))) return true;
+ return request(logoutURL, content, login, error);
}
- if (request(loginURL, content).addCallback(function()
- liberator.echo('login "'+host+'" as '+username))) return true;
-
- liberator.echoerr('login failed "'+host+'" as '+username);
- return false;
+ login();
};
self.logout = function(){
let content = {};
let host = service.HOST[0];
if (service.extraField && !self.setExtraField(content)) return false;
let logoutURL = host+service.LOGOUT;
- if (request(loginURL, content).addCallback(function()
- liberator.echo('logout "'+host+'"'))) return true;
-
- liberator.echoerr('logout failed "'+host+'"');
- return false;
- return request(logoutURL, content)
- .addCallback(function()
- liberator.echo('logout "'+host+'"'));
+ let error = function() liberator.echo('logout failed "'+host+'" as '+username);
+ let success = function() liberator.echo('logout "'+host+'" as '+username);
+ request(logoutURL, content, success, error);
};
self.getLogins = function() {
return [loginManager.findLogins({}, host, host, null) for each(host in service.HOST)]
@@ -212,9 +198,16 @@ function Service(service) //{{{
}
} //}}}
-function request(url, content)
+function encode(content)
+ [k+"="+encodeURIComponent(content[k]) for(k in content)].join("&");
+function request(url, content, onload, onerror)
{
- return Tombloo.request(url, {sendContent: content});
+ let req = new XMLHttpRequest;
+ req.open("POST", url, false);
+ req.onload = onload;
+ req.onerror = onerror;
+ req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
+ req.send(encode(content));
}
function tokenGetter(pattern) //{{{
{
@@ -262,6 +255,5 @@ commands.addUserCommand(["logout"], "Logout",
});
// }}}
-
})();
// vim: fdm=marker sw=4 ts=4 et:
--
cgit v1.2.3