MDL-33448 javascript: Added caching for the YUI instance used for debug in get_string

This commit is contained in:
Sam Hemelryk
2012-07-12 11:27:46 +12:00
parent 3294034b80
commit dd51b3b2e0

View File

@@ -716,7 +716,13 @@ M.util.get_string = function(identifier, component, a) {
// creating new instance if YUI is not optimal but it seems to be better way then
// require the instance via the function API - note that it is used in rare cases
// for debugging only anyway
var Y = new YUI({ debug : true });
// To ensure we don't kill browser performance if hundreds of get_string requests
// are made we cache the instance we generate within the M.util namespace.
// We don't publicly define the variable so that it doesn't get abused.
if (typeof M.util.get_string_yui_instance === 'undefined') {
M.util.get_string_yui_instance = new YUI({ debug : true });
}
var Y = M.util.get_string_yui_instance;
}
if (!M.str.hasOwnProperty(component) || !M.str[component].hasOwnProperty(identifier)) {