firefox jetpack code to take advantage of warner's new jetpack crypto module
This commit is contained in:
Родитель
cce56fde36
Коммит
991b248f9a
|
@ -4,3 +4,6 @@
|
|||
[submodule "infobar"]
|
||||
path = infobar
|
||||
url = git://github.com/lloyd/simulated_infobars
|
||||
[submodule "packages/gombot-crypto-jetpack"]
|
||||
path = packages/gombot-crypto-jetpack
|
||||
url = git@github.com:warner/gombot-crypto-jetpack.git
|
||||
|
|
3
TODO
3
TODO
|
@ -1,4 +1,7 @@
|
|||
- handle errors in gombot-crypto-jetpacka
|
||||
- san jose ticketing site maybe not working
|
||||
- reorg directories; given the Jetpack doesn't allow more than one level of .., the consider top level firefox and chrome directories
|
||||
- think about "local only" mode on Mac OS X that writes passwords to Keychain
|
||||
- figure out API URL for different releases
|
||||
- revisit tobmog packaging
|
||||
- make sure linking creds are deleted if no logged in user or user dismisses but wait until after notification appears and user reacts
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
var CommandHandler = function(Gombot, Messaging) {
|
||||
var CommandHandler = function(Gombot, Messaging, _) {
|
||||
|
||||
function addLogin(message, sender) {
|
||||
var currentUser = Gombot.getCurrentUser(),
|
||||
|
|
|
@ -54,7 +54,7 @@ var _Gombot = function(importedModules, Gombot) {
|
|||
Gombot.LoginCredentialCollection = getModule("LoginCredentialCollection")(Backbone, _, Gombot.LoginCredential); // LoginCredential need to be initialized
|
||||
Gombot.CapturedCredentialStorage = getModule("CapturedCredentialStorage")(Gombot, getModule("Uri"));
|
||||
Gombot.Linker = getModule("Linker")(Gombot);
|
||||
Gombot.CommandHandler = getModule("CommandHandler")(Gombot, Gombot.Messaging);
|
||||
Gombot.CommandHandler = getModule("CommandHandler")(Gombot, Gombot.Messaging, _);
|
||||
|
||||
var currentUser = null;
|
||||
Gombot.getCurrentUser = function() {
|
||||
|
@ -91,11 +91,13 @@ var _Gombot = function(importedModules, Gombot) {
|
|||
if (typeof startFirstRunFlow === 'function') {
|
||||
startFirstRunFlow(false /* showSignInPage */); // shows signup page on first run
|
||||
Gombot.LocalStorage.setItem("firstRun", true);
|
||||
} // TODO: fix this
|
||||
}
|
||||
}
|
||||
var loggedInUser = Gombot.users.find(function(user) { return user.isAuthenticated() });
|
||||
if (loggedInUser) Gombot.setCurrentUser(loggedInUser);
|
||||
if (Gombot.users.size() === 0) {
|
||||
// TODO: remove this is a hack for Firefox testing and we create a dummy user
|
||||
// until we have a signup and signin page
|
||||
console.log("No logged in user. Number of users:"+Gombot.users.size());
|
||||
var user = new Gombot.User({
|
||||
'email': 'ckarlof+'+Math.floor(10000*Math.random(10000))+'@mozilla.com',
|
||||
|
@ -107,14 +109,16 @@ var _Gombot = function(importedModules, Gombot) {
|
|||
Gombot.setCurrentUser(user);
|
||||
},
|
||||
error: function(args) {
|
||||
console.log("ERROR", JSON.stringify(args));
|
||||
if (args.response && args.response.errorMessage.match(/That email has already been used/)) {
|
||||
console.log("ERROR"+JSON.stringify(args));
|
||||
if (args.response && args.response.errorMessage && args.response.errorMessage.match(/That email has already been used/)) {
|
||||
|
||||
}
|
||||
},
|
||||
password: "foobar",
|
||||
newsletter: false
|
||||
});
|
||||
} else {
|
||||
console.log("we found a user :"+JSON.stringify(loggedInUser));
|
||||
}
|
||||
}});
|
||||
}
|
||||
|
|
|
@ -11,7 +11,7 @@ var GombotSync = function(Gombot, Backbone, _) {
|
|||
try {
|
||||
response = JSON.parse(err.error.responseText);
|
||||
} catch(e) {};
|
||||
result.response = response || "";
|
||||
result.response = response || {};
|
||||
}
|
||||
console.log("GombotSync error", result);
|
||||
if (handler) handler(result);
|
||||
|
|
|
@ -99,6 +99,7 @@ var User = function(Backbone, _, Gombot, LocalStorage) {
|
|||
var success = function(resp) {
|
||||
var s = options.success;
|
||||
options.success = function(model, resp, options) {
|
||||
console.log("User.sync finished method="+method+" resp="+JSON.stringify(resp)+" model="+JSON.stringify(model));
|
||||
// resp.data is returned by GombotSync calls with plaintext user data
|
||||
if (s) s(model, resp.data || {}, options);
|
||||
}
|
||||
|
@ -108,6 +109,7 @@ var User = function(Backbone, _, Gombot, LocalStorage) {
|
|||
if (method === "read") {
|
||||
self.save(resp.data, _.extend(options, { localOnly: true, ciphertext: resp.ciphertext }));
|
||||
} else {
|
||||
console.log("localSync method="+method);
|
||||
Backbone.localSync(method, model, _.extend(options, { ciphertext: resp.ciphertext }));
|
||||
}
|
||||
} else if (options.success) {
|
||||
|
|
|
@ -14,11 +14,10 @@ var Xhrequest = function(url, req) {
|
|||
};
|
||||
|
||||
reqObj.onComplete = function(response) {
|
||||
//console.log(JSON.stringify(response.json))
|
||||
if (response.status === 200) {
|
||||
success(response.text);
|
||||
} else {
|
||||
error({ error: { responseText: response.text }, status: response.status }, {}, response.status);
|
||||
error({ responseText: response.text }, {}, response.status);
|
||||
}
|
||||
};
|
||||
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
../packages/gombot-crypto-jetpack/data/gombot-content.js
|
|
@ -0,0 +1 @@
|
|||
../packages/gombot-crypto-jetpack/data/gombot-worker1.html
|
|
@ -0,0 +1 @@
|
|||
../packages/gombot-crypto-jetpack/data/gombot-worker1.js
|
|
@ -0,0 +1 @@
|
|||
../packages/gombot-crypto-jetpack/data/gombot-worker2.js
|
|
@ -0,0 +1 @@
|
|||
../packages/gombot-crypto-jetpack/data/sjcl-with-cbc.js
|
|
@ -0,0 +1 @@
|
|||
Subproject commit 4fe6d2ae6e8c30237498e067f6ac91faaee65d2f
|
2
server
2
server
|
@ -1 +1 @@
|
|||
Subproject commit f7c922a2171aa26680a7d0a37e184a896a757db0
|
||||
Subproject commit cf341995c9060995b3f9a9c05df4ed3cd5561500
|
Загрузка…
Ссылка в новой задаче