Permalink
Browse files

MDL-33448 javascript: Added caching for the YUI instance used for deb…

…ug in get_string
  • Loading branch information...
1 parent 3294034 commit dd51b3b2e0dd4cebe922493f1e726e54dcade318 Sam Hemelryk committed Jul 11, 2012
Showing with 7 additions and 1 deletion.
  1. +7 −1 lib/javascript-static.js
View
@@ -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)) {

0 comments on commit dd51b3b

Please sign in to comment.