Bug 745425 - Move Utils.encodeBase64url to CommonUtils; r=gps

This commit is contained in:
Anant Narayanan 2012-04-17 15:42:33 -07:00
parent 61504149d8
commit cd4feddfe0
5 changed files with 14 additions and 11 deletions

View File

@ -55,6 +55,13 @@ let CommonUtils = {
return "No traceback available";
},
/**
* Encode byte string as base64URL (RFC 4648).
*/
encodeBase64URL: function encodeBase64URL(bytes) {
return btoa(bytes).replace("+", "-", "g").replace("/", "_", "g");
},
/**
* Create a nsIURI instance from a string.
*/

View File

@ -47,10 +47,11 @@ Cu.import("resource://services-sync/engines.js");
Cu.import("resource://services-sync/record.js");
Cu.import("resource://services-sync/util.js");
Cu.import("resource://services-sync/constants.js");
Cu.import("resource://services-common/utils.js");
Cu.import("resource://services-common/preferences.js");
Cu.import("resource://gre/modules/LightweightThemeManager.jsm");
const PREFS_GUID = Utils.encodeBase64url(Services.appinfo.ID);
const PREFS_GUID = CommonUtils.encodeBase64URL(Services.appinfo.ID);
function PrefRec(collection, id) {
CryptoWrapper.call(this, collection, id);

View File

@ -200,19 +200,12 @@ let Utils = {
}
},
/**
* Encode byte string as base64url (RFC 4648).
*/
encodeBase64url: function encodeBase64url(bytes) {
return btoa(bytes).replace('+', '-', 'g').replace('/', '_', 'g');
},
/**
* GUIDs are 9 random bytes encoded with base64url (RFC 4648).
* That makes them 12 characters long with 72 bits of entropy.
*/
makeGUID: function makeGUID() {
return Utils.encodeBase64url(Utils.generateRandomBytes(9));
return CommonUtils.encodeBase64URL(Utils.generateRandomBytes(9));
},
_base64url_regex: /^[-abcdefghijklmnopqrstuvwxyz0123456789_]{12}$/i,

View File

@ -1,10 +1,11 @@
Cu.import("resource://services-sync/engines/prefs.js");
Cu.import("resource://services-sync/util.js");
Cu.import("resource://services-common/utils.js");
Cu.import("resource://services-common/preferences.js");
Cu.import("resource://gre/modules/LightweightThemeManager.jsm");
Cu.import("resource://gre/modules/Services.jsm");
const PREFS_GUID = Utils.encodeBase64url(Services.appinfo.ID);
const PREFS_GUID = CommonUtils.encodeBase64URL(Services.appinfo.ID);
function makePersona(id) {
return {

View File

@ -1,6 +1,7 @@
Cu.import("resource://services-sync/engines/prefs.js");
Cu.import("resource://services-sync/util.js");
Cu.import("resource://services-sync/constants.js");
Cu.import("resource://services-common/util.js");
Cu.import("resource://services-common/preferences.js");
function run_test() {
@ -22,7 +23,7 @@ function run_test() {
let changedIDs = engine.getChangedIDs();
let ids = Object.keys(changedIDs);
do_check_eq(ids.length, 1);
do_check_eq(ids[0], Utils.encodeBase64url(Services.appinfo.ID));
do_check_eq(ids[0], CommonUtils.encodeBase64URL(Services.appinfo.ID));
Svc.Prefs.set("engine.prefs.modified", false);
do_check_false(tracker.modified);