resourceloader: Don't create empty objects for every module
authorTimo Tijhof <krinklemail@gmail.com>
Fri, 28 Aug 2015 23:16:54 +0000 (01:16 +0200)
committerTimo Tijhof <krinklemail@gmail.com>
Tue, 8 Sep 2015 14:43:06 +0000 (15:43 +0100)
For modules without one or more of 'scripts', 'styles', 'messages'
and 'templates'; don't needlessly create empty placeholder objects.

Except for 'scripts', these were already handled conditionally.

Bug: T105162
Change-Id: Ic1b3b09474e0b50b438b111a4f62368ceab4e732

resources/src/mediawiki/mediawiki.js

index 49c350a..b9abd92 100644 (file)
                                                                        $.globalEval( script );
                                                                        markModuleReady();
                                                                }
+                                                       } else {
+                                                               // Module without script
+                                                               markModuleReady();
                                                        }
                                                } );
                                        } catch ( e ) {
                                                throw new Error( 'module already implemented: ' + module );
                                        }
                                        // Attach components
-                                       registry[ module ].script = script || [];
-                                       registry[ module ].style = style || {};
-                                       registry[ module ].messages = messages || {};
-                                       registry[ module ].templates = templates || {};
+                                       registry[ module ].script = script || null;
+                                       registry[ module ].style = style || null;
+                                       registry[ module ].messages = messages || null;
+                                       registry[ module ].templates = templates || null;
                                        // The module may already have been marked as erroneous
                                        if ( $.inArray( registry[ module ].state, [ 'error', 'missing' ] ) === -1 ) {
                                                registry[ module ].state = 'loaded';