MDL-35754 libraries: openpopup() does not fail when window name is not set
authorFrederic Massart <fred@moodle.com>
Wed, 3 Oct 2012 01:49:01 +0000 (09:49 +0800)
committerFrederic Massart <fred@moodle.com>
Wed, 3 Oct 2012 01:54:27 +0000 (09:54 +0800)
lib/javascript-static.js

index bf5ecf2..84bf7bb 100644 (file)
@@ -1212,9 +1212,12 @@ function openpopup(event, args) {
         }
     }
 
-    // Cleans window name because IE does not support funky ones.
+    // Make sure the name argument is set and valid.
     var nameregex = /[^a-z0-9_]/i;
-    if (args.name.match(nameregex)) {
+    if (typeof args.name !== 'string') {
+        args.name = '_blank';
+    } else if (args.name.match(nameregex)) {
+        // Cleans window name because IE does not support funky ones.
         args.name = args.name.replace(nameregex, '_');
         if (M.cfg.developerdebug) {
             alert('DEVELOPER NOTICE: Invalid \'name\' passed to openpopup()');