Use Dict everywhere we have keys based on potentially dangerous, user-supplied data

There are also one or two places we don't need to use it for security
purposes, but we do so for consistencey.

(imported from commit aa111f5a22a0e8597ec3cf8504adae66d5fb6768)
This commit is contained in:
Zev Benjamin
2013-08-07 17:56:51 -04:00
parent 0cfc8fae9f
commit ec9322fc87
17 changed files with 148 additions and 133 deletions

View File

@@ -4,6 +4,7 @@ var assert = require('assert');
global._ = require('third/underscore/underscore.js');
global.activity = require('js/activity.js');
global.util = require('js/util.js');
global.Dict = require('js/dict.js');
}());
var activity = global.activity;
@@ -18,11 +19,11 @@ var activity = global.activity;
};
global.people_dict = {
global.people_dict = new global.Dict({
'alice@zulip.com': 'Alice Smith',
'fred@zulip.com': 'Fred Flintstone',
'jill@zulip.com': 'Jill Hill'
};
});
activity._sort_users(users, user_info);

View File

@@ -3,6 +3,8 @@ var assert = require('assert');
(function set_up_dependencies () {
global._ = require('third/underscore/underscore.js');
global.util = require('js/util.js');
global.Dict = require('js/dict.js');
// An upcoming change is to put Filter in its own module, but
// for now it still lives in narrow.js. (I'm waiting for a big
// commit from Zev to hit master first. Once that happens,

View File

@@ -3,6 +3,7 @@ var assert = require('assert');
(function set_up_dependencies () {
global._ = require('third/underscore/underscore.js');
global.util = require('js/util.js');
global.Dict = require('js/dict.js');
global.narrow = require('js/narrow.js');
global.$ = function () {}; // for subs.js
global.subs = require('js/subs.js');

View File

@@ -31,9 +31,9 @@ function set_up_dependencies() {
global.typeahead_helper = require('js/typeahead_helper.js');
global.recent_subjects = {};
global.util = require('js/util.js');
global.Dict = require('js/dict.js');
global.recent_subjects = new global.Dict();
return search;
}
@@ -107,13 +107,13 @@ var search = set_up_dependencies();
return 'office';
};
global.recent_subjects = {
global.recent_subjects = new global.Dict({
office: [
{subject: 'team'},
{subject: 'ignore'},
{subject: 'test'}
]
};
});
var suggestions = search.get_suggestions(query);
@@ -144,7 +144,7 @@ var search = set_up_dependencies();
return;
};
global.recent_subjects = {};
global.recent_subjects = new global.Dict();
var suggestions = search.get_suggestions(query);
@@ -177,13 +177,13 @@ var search = set_up_dependencies();
}
];
global.recent_subjects = {
global.recent_subjects = new global.Dict({
office: [
{subject: 'team'},
{subject: 'ignore'},
{subject: 'test'}
]
};
});
var suggestions = search.get_suggestions(query);

View File

@@ -8,6 +8,9 @@
// dependencies (except _).
global._ = require('third/underscore/underscore.js');
global.util = require('js/util.js');
global.Dict = require('js/dict.js');
var Dict = global.Dict;
var unread = require('js/unread.js');
var assert = require('assert');
@@ -31,9 +34,9 @@ var zero_counts = {
private_message_count: 0,
home_unread_messages: 0,
mentioned_message_count: 0,
stream_count: {},
subject_count: {},
pm_count: {},
stream_count: new Dict(),
subject_count: new Dict(),
pm_count: new Dict(),
unread_in_current_view: 0
};